From aee6466a5e0bf911c9943ed55af653f18ad053b0 Mon Sep 17 00:00:00 2001 From: Raoul Date: Mon, 8 Jan 2024 21:32:04 +0100 Subject: [PATCH] Huginfo DGWK 2024 --- .gitignore | 8 + assets/css/custom/core/_index.scss | 93 + assets/css/custom/nodes/default.scss | 1 + assets/css/custom/nodes/schedule-hall1.scss | 5 + assets/css/custom/nodes/schedule-hall2.scss | 5 + assets/css/custom/nodes/schedule-hall3.scss | 5 + assets/css/custom/nodes/schedule.scss | 5 + .../css/custom/nodes/speaker-info-hall1.scss | 3 + .../css/custom/nodes/speaker-info-hall2.scss | 3 + .../css/custom/nodes/speaker-info-hall3.scss | 3 + assets/css/custom/nodes/talk-info-hall1.scss | 3 + assets/css/custom/nodes/talk-info-hall2.scss | 3 + assets/css/custom/nodes/talk-info-hall3.scss | 3 + .../css/custom/nodes/upcoming-talk-hall1.scss | 4 + .../css/custom/nodes/upcoming-talk-hall2.scss | 4 + .../css/custom/nodes/upcoming-talk-hall3.scss | 4 + assets/css/custom/nodes/voc-schedule.scss | 3 + assets/css/custom/nodes/voc-speaker.scss | 3 + assets/css/custom/nodes/voc-talks.scss | 3 + assets/css/custom/styles/_banner-speaker.scss | 70 + assets/css/custom/styles/_banner-talk.scss | 84 + assets/css/custom/styles/_base.scss | 26 + assets/css/custom/styles/_clock.scss | 23 + .../custom/styles/_logo-anim-darkgreen.scss | 134 + assets/css/custom/styles/_logo-anim-gray.scss | 134 + .../custom/styles/_logo-anim-lightgreen.scss | 134 + assets/css/custom/styles/_logo.scss | 38 + assets/css/custom/styles/_music.scss | 38 + assets/css/custom/styles/_schedule.scss | 213 + assets/css/custom/styles/_upcoming-talk.scss | 254 + assets/css/custom/styles/_variables.scss | 38 + assets/css/custom/styles/_voc-schedule.scss | 29 + assets/css/custom/styles/_voc-speaker.scss | 3 + assets/css/custom/styles/_voc-talks.scss | 3 + assets/css/custom/styles/_voc.scss | 11 + assets/css/fonts/architects-daughter.css | 8 + assets/css/fonts/fonts.scss | 5 + assets/css/fonts/lato.css | 89 + assets/css/fonts/permanent-marker.css | 7 + assets/css/fonts/source-code-pro.css | 143 + assets/js/custom/core/config.js | 23 + assets/js/custom/core/fetcher.js | 63 + assets/js/custom/core/generic_fetch_worker.js | 36 + assets/js/custom/core/mainLoop.js | 14 + assets/js/custom/core/screen.js | 28 + assets/js/custom/core/time.js | 43 + assets/js/custom/dom/clock.js | 21 + assets/js/custom/dom/music.js | 38 + assets/js/custom/dom/schedule.js | 170 + assets/js/custom/dom/speaker-info.js | 51 + assets/js/custom/dom/talk-info.js | 56 + assets/js/custom/dom/upcoming-talk.js | 123 + assets/js/custom/dom/voc-schedule-hall.js | 112 + assets/js/custom/dom/voc-schedule.js | 109 + assets/js/custom/dom/voc-speaker.js | 56 + assets/js/custom/dom/voc-talks.js | 68 + assets/js/custom/nodes/schedule-hall1.js | 55 + assets/js/custom/nodes/schedule-hall2.js | 55 + assets/js/custom/nodes/schedule-hall3.js | 55 + assets/js/custom/nodes/schedule.js | 54 + assets/js/custom/nodes/speaker-info-hall1.js | 42 + assets/js/custom/nodes/speaker-info-hall2.js | 42 + assets/js/custom/nodes/speaker-info-hall3.js | 42 + assets/js/custom/nodes/talk-info-hall1.js | 42 + assets/js/custom/nodes/talk-info-hall2.js | 42 + assets/js/custom/nodes/talk-info-hall3.js | 42 + assets/js/custom/nodes/upcoming-talk-hall1.js | 48 + assets/js/custom/nodes/upcoming-talk-hall2.js | 48 + assets/js/custom/nodes/upcoming-talk-hall3.js | 48 + assets/js/custom/nodes/voc-schedule-hall1.js | 45 + assets/js/custom/nodes/voc-schedule-hall2.js | 45 + assets/js/custom/nodes/voc-schedule-hall3.js | 45 + assets/js/custom/nodes/voc-schedule.js | 40 + assets/js/custom/nodes/voc-speaker.js | 40 + assets/js/custom/nodes/voc-talks.js | 40 + assets/js/custom/services/service.js | 49 + assets/js/htm/htm.d.ts | 6 + assets/js/htm/htm.js | 1 + assets/js/htm/htm.mjs | 1 + assets/js/htm/htm.module.js | 1 + assets/js/htm/htm.umd.js | 1 + assets/js/luxon/luxon.es6.js | 6978 ++++++++++++++ assets/js/luxon/luxon.es6.min.js | 1 + assets/js/luxon/luxon.js | 8478 +++++++++++++++++ assets/js/luxon/luxon.min.js | 1 + assets/js/preact/preact.min.js | 2 + assets/js/preact/preact.min.js.map | 1 + assets/js/solight/sol.js | 1089 +++ config/_default/config.toml | 21 + config/production/config.toml | 9 + content/_index.md | 2 + content/schedule-hall1/index.md | 4 + content/schedule-hall2/index.md | 4 + content/schedule-hall3/index.md | 4 + content/schedule/index.md | 4 + content/speaker-info-hall1/index.md | 4 + content/speaker-info-hall2/index.md | 4 + content/speaker-info-hall3/index.md | 4 + content/talk-info-hall1/index.md | 4 + content/talk-info-hall2/index.md | 4 + content/talk-info-hall3/index.md | 4 + content/upcoming-talk-hall1/index.md | 4 + content/upcoming-talk-hall2/index.md | 4 + content/upcoming-talk-hall3/index.md | 4 + content/voc-schedule-hall1/index.md | 4 + content/voc-schedule-hall2/index.md | 4 + content/voc-schedule-hall3/index.md | 4 + content/voc-schedule/index.md | 4 + content/voc-speaker/index.md | 4 + content/voc-talks/index.md | 4 + layouts/_default/baseof.html | 56 + layouts/index.html | 53 + layouts/partials/logo.html | 5 + layouts/partials/redirect.html | 3 + layouts/schedule-hall1/single.html | 21 + layouts/schedule-hall2/single.html | 21 + layouts/schedule-hall3/single.html | 21 + layouts/schedule/single.html | 21 + layouts/speaker-info-hall1/single.html | 19 + layouts/speaker-info-hall2/single.html | 19 + layouts/speaker-info-hall3/single.html | 19 + layouts/talk-info-hall1/single.html | 19 + layouts/talk-info-hall2/single.html | 19 + layouts/talk-info-hall3/single.html | 19 + layouts/upcoming-talk-hall1/single.html | 20 + layouts/upcoming-talk-hall2/single.html | 20 + layouts/upcoming-talk-hall3/single.html | 20 + layouts/voc-schedule-hall1/single.html | 12 + layouts/voc-schedule-hall2/single.html | 12 + layouts/voc-schedule-hall3/single.html | 12 + layouts/voc-schedule/single.html | 12 + layouts/voc-speaker/single.html | 12 + layouts/voc-talks/single.html | 12 + license.txt | 7 + ...architects-daughter-v11-latin-regular.woff | Bin 0 -> 15660 bytes ...rchitects-daughter-v11-latin-regular.woff2 | Bin 0 -> 13144 bytes .../fonts/lato-v22-latin-ext_latin-100.woff | Bin 0 -> 29264 bytes .../fonts/lato-v22-latin-ext_latin-100.woff2 | Bin 0 -> 23316 bytes .../lato-v22-latin-ext_latin-100italic.woff | Bin 0 -> 23416 bytes .../lato-v22-latin-ext_latin-100italic.woff2 | Bin 0 -> 18224 bytes .../fonts/lato-v22-latin-ext_latin-300.woff | Bin 0 -> 32196 bytes .../fonts/lato-v22-latin-ext_latin-300.woff2 | Bin 0 -> 24876 bytes .../lato-v22-latin-ext_latin-300italic.woff | Bin 0 -> 24052 bytes .../lato-v22-latin-ext_latin-300italic.woff2 | Bin 0 -> 18828 bytes .../fonts/lato-v22-latin-ext_latin-700.woff | Bin 0 -> 30356 bytes .../fonts/lato-v22-latin-ext_latin-700.woff2 | Bin 0 -> 24780 bytes .../lato-v22-latin-ext_latin-700italic.woff | Bin 0 -> 32380 bytes .../lato-v22-latin-ext_latin-700italic.woff2 | Bin 0 -> 26368 bytes .../fonts/lato-v22-latin-ext_latin-900.woff | Bin 0 -> 29688 bytes .../fonts/lato-v22-latin-ext_latin-900.woff2 | Bin 0 -> 24304 bytes .../lato-v22-latin-ext_latin-900italic.woff | Bin 0 -> 31256 bytes .../lato-v22-latin-ext_latin-900italic.woff2 | Bin 0 -> 25604 bytes .../lato-v22-latin-ext_latin-italic.woff | Bin 0 -> 32204 bytes .../lato-v22-latin-ext_latin-italic.woff2 | Bin 0 -> 26328 bytes .../lato-v22-latin-ext_latin-regular.woff | Bin 0 -> 30908 bytes .../lato-v22-latin-ext_latin-regular.woff2 | Bin 0 -> 25284 bytes .../permanent-marker-v10-latin-regular.woff | Bin 0 -> 36428 bytes .../permanent-marker-v10-latin-regular.woff2 | Bin 0 -> 29564 bytes ...urce-code-pro-v20-latin-ext_latin-200.woff | Bin 0 -> 19120 bytes ...rce-code-pro-v20-latin-ext_latin-200.woff2 | Bin 0 -> 14444 bytes ...ode-pro-v20-latin-ext_latin-200italic.woff | Bin 0 -> 20244 bytes ...de-pro-v20-latin-ext_latin-200italic.woff2 | Bin 0 -> 15036 bytes ...urce-code-pro-v20-latin-ext_latin-300.woff | Bin 0 -> 19800 bytes ...rce-code-pro-v20-latin-ext_latin-300.woff2 | Bin 0 -> 14956 bytes ...ode-pro-v20-latin-ext_latin-300italic.woff | Bin 0 -> 20972 bytes ...de-pro-v20-latin-ext_latin-300italic.woff2 | Bin 0 -> 15768 bytes ...urce-code-pro-v20-latin-ext_latin-500.woff | Bin 0 -> 19944 bytes ...rce-code-pro-v20-latin-ext_latin-500.woff2 | Bin 0 -> 15184 bytes ...ode-pro-v20-latin-ext_latin-500italic.woff | Bin 0 -> 21152 bytes ...de-pro-v20-latin-ext_latin-500italic.woff2 | Bin 0 -> 16052 bytes ...urce-code-pro-v20-latin-ext_latin-600.woff | Bin 0 -> 19908 bytes ...rce-code-pro-v20-latin-ext_latin-600.woff2 | Bin 0 -> 15136 bytes ...ode-pro-v20-latin-ext_latin-600italic.woff | Bin 0 -> 21312 bytes ...de-pro-v20-latin-ext_latin-600italic.woff2 | Bin 0 -> 16200 bytes ...urce-code-pro-v20-latin-ext_latin-700.woff | Bin 0 -> 19856 bytes ...rce-code-pro-v20-latin-ext_latin-700.woff2 | Bin 0 -> 15064 bytes ...ode-pro-v20-latin-ext_latin-700italic.woff | Bin 0 -> 21236 bytes ...de-pro-v20-latin-ext_latin-700italic.woff2 | Bin 0 -> 16152 bytes ...urce-code-pro-v20-latin-ext_latin-800.woff | Bin 0 -> 19876 bytes ...rce-code-pro-v20-latin-ext_latin-800.woff2 | Bin 0 -> 15120 bytes ...ode-pro-v20-latin-ext_latin-800italic.woff | Bin 0 -> 21140 bytes ...de-pro-v20-latin-ext_latin-800italic.woff2 | Bin 0 -> 16100 bytes ...urce-code-pro-v20-latin-ext_latin-900.woff | Bin 0 -> 19420 bytes ...rce-code-pro-v20-latin-ext_latin-900.woff2 | Bin 0 -> 14848 bytes ...ode-pro-v20-latin-ext_latin-900italic.woff | Bin 0 -> 20776 bytes ...de-pro-v20-latin-ext_latin-900italic.woff2 | Bin 0 -> 15756 bytes ...e-code-pro-v20-latin-ext_latin-italic.woff | Bin 0 -> 21064 bytes ...-code-pro-v20-latin-ext_latin-italic.woff2 | Bin 0 -> 15964 bytes ...-code-pro-v20-latin-ext_latin-regular.woff | Bin 0 -> 19880 bytes ...code-pro-v20-latin-ext_latin-regular.woff2 | Bin 0 -> 15156 bytes static/fork-awesome/css/fork-awesome.css | 2573 +++++ static/fork-awesome/css/fork-awesome.min.css | 12 + .../fork-awesome/css/fork-awesome.min.css.map | 1 + static/fork-awesome/css/v5-compat.css | 446 + static/fork-awesome/css/v5-compat.min.css | 12 + static/fork-awesome/css/v5-compat.min.css.map | 1 + .../fonts/forkawesome-webfont.eot | Bin 0 -> 188946 bytes .../fonts/forkawesome-webfont.svg | 2849 ++++++ .../fonts/forkawesome-webfont.ttf | Bin 0 -> 188756 bytes .../fonts/forkawesome-webfont.woff | Bin 0 -> 115148 bytes .../fonts/forkawesome-webfont.woff2 | Bin 0 -> 91624 bytes static/header.png | Bin 0 -> 51433 bytes static/logo_darkgreen.png | Bin 0 -> 4686 bytes static/logo_gray.png | Bin 0 -> 4288 bytes static/logo_lightgreen.png | Bin 0 -> 4205 bytes static/schedule.json | 1 + 206 files changed, 26592 insertions(+) create mode 100644 .gitignore create mode 100644 assets/css/custom/core/_index.scss create mode 100644 assets/css/custom/nodes/default.scss create mode 100644 assets/css/custom/nodes/schedule-hall1.scss create mode 100644 assets/css/custom/nodes/schedule-hall2.scss create mode 100644 assets/css/custom/nodes/schedule-hall3.scss create mode 100644 assets/css/custom/nodes/schedule.scss create mode 100644 assets/css/custom/nodes/speaker-info-hall1.scss create mode 100644 assets/css/custom/nodes/speaker-info-hall2.scss create mode 100644 assets/css/custom/nodes/speaker-info-hall3.scss create mode 100644 assets/css/custom/nodes/talk-info-hall1.scss create mode 100644 assets/css/custom/nodes/talk-info-hall2.scss create mode 100644 assets/css/custom/nodes/talk-info-hall3.scss create mode 100644 assets/css/custom/nodes/upcoming-talk-hall1.scss create mode 100644 assets/css/custom/nodes/upcoming-talk-hall2.scss create mode 100644 assets/css/custom/nodes/upcoming-talk-hall3.scss create mode 100644 assets/css/custom/nodes/voc-schedule.scss create mode 100644 assets/css/custom/nodes/voc-speaker.scss create mode 100644 assets/css/custom/nodes/voc-talks.scss create mode 100644 assets/css/custom/styles/_banner-speaker.scss create mode 100644 assets/css/custom/styles/_banner-talk.scss create mode 100644 assets/css/custom/styles/_base.scss create mode 100644 assets/css/custom/styles/_clock.scss create mode 100644 assets/css/custom/styles/_logo-anim-darkgreen.scss create mode 100644 assets/css/custom/styles/_logo-anim-gray.scss create mode 100644 assets/css/custom/styles/_logo-anim-lightgreen.scss create mode 100644 assets/css/custom/styles/_logo.scss create mode 100644 assets/css/custom/styles/_music.scss create mode 100644 assets/css/custom/styles/_schedule.scss create mode 100644 assets/css/custom/styles/_upcoming-talk.scss create mode 100644 assets/css/custom/styles/_variables.scss create mode 100644 assets/css/custom/styles/_voc-schedule.scss create mode 100644 assets/css/custom/styles/_voc-speaker.scss create mode 100644 assets/css/custom/styles/_voc-talks.scss create mode 100644 assets/css/custom/styles/_voc.scss create mode 100644 assets/css/fonts/architects-daughter.css create mode 100644 assets/css/fonts/fonts.scss create mode 100644 assets/css/fonts/lato.css create mode 100644 assets/css/fonts/permanent-marker.css create mode 100644 assets/css/fonts/source-code-pro.css create mode 100644 assets/js/custom/core/config.js create mode 100644 assets/js/custom/core/fetcher.js create mode 100644 assets/js/custom/core/generic_fetch_worker.js create mode 100644 assets/js/custom/core/mainLoop.js create mode 100644 assets/js/custom/core/screen.js create mode 100644 assets/js/custom/core/time.js create mode 100644 assets/js/custom/dom/clock.js create mode 100644 assets/js/custom/dom/music.js create mode 100644 assets/js/custom/dom/schedule.js create mode 100644 assets/js/custom/dom/speaker-info.js create mode 100644 assets/js/custom/dom/talk-info.js create mode 100644 assets/js/custom/dom/upcoming-talk.js create mode 100644 assets/js/custom/dom/voc-schedule-hall.js create mode 100644 assets/js/custom/dom/voc-schedule.js create mode 100644 assets/js/custom/dom/voc-speaker.js create mode 100644 assets/js/custom/dom/voc-talks.js create mode 100644 assets/js/custom/nodes/schedule-hall1.js create mode 100644 assets/js/custom/nodes/schedule-hall2.js create mode 100644 assets/js/custom/nodes/schedule-hall3.js create mode 100644 assets/js/custom/nodes/schedule.js create mode 100644 assets/js/custom/nodes/speaker-info-hall1.js create mode 100644 assets/js/custom/nodes/speaker-info-hall2.js create mode 100644 assets/js/custom/nodes/speaker-info-hall3.js create mode 100644 assets/js/custom/nodes/talk-info-hall1.js create mode 100644 assets/js/custom/nodes/talk-info-hall2.js create mode 100644 assets/js/custom/nodes/talk-info-hall3.js create mode 100644 assets/js/custom/nodes/upcoming-talk-hall1.js create mode 100644 assets/js/custom/nodes/upcoming-talk-hall2.js create mode 100644 assets/js/custom/nodes/upcoming-talk-hall3.js create mode 100644 assets/js/custom/nodes/voc-schedule-hall1.js create mode 100644 assets/js/custom/nodes/voc-schedule-hall2.js create mode 100644 assets/js/custom/nodes/voc-schedule-hall3.js create mode 100644 assets/js/custom/nodes/voc-schedule.js create mode 100644 assets/js/custom/nodes/voc-speaker.js create mode 100644 assets/js/custom/nodes/voc-talks.js create mode 100644 assets/js/custom/services/service.js create mode 100644 assets/js/htm/htm.d.ts create mode 100644 assets/js/htm/htm.js create mode 100644 assets/js/htm/htm.mjs create mode 100644 assets/js/htm/htm.module.js create mode 100644 assets/js/htm/htm.umd.js create mode 100644 assets/js/luxon/luxon.es6.js create mode 100644 assets/js/luxon/luxon.es6.min.js create mode 100644 assets/js/luxon/luxon.js create mode 100644 assets/js/luxon/luxon.min.js create mode 100644 assets/js/preact/preact.min.js create mode 100644 assets/js/preact/preact.min.js.map create mode 100644 assets/js/solight/sol.js create mode 100644 config/_default/config.toml create mode 100644 config/production/config.toml create mode 100644 content/_index.md create mode 100644 content/schedule-hall1/index.md create mode 100644 content/schedule-hall2/index.md create mode 100644 content/schedule-hall3/index.md create mode 100644 content/schedule/index.md create mode 100644 content/speaker-info-hall1/index.md create mode 100644 content/speaker-info-hall2/index.md create mode 100644 content/speaker-info-hall3/index.md create mode 100644 content/talk-info-hall1/index.md create mode 100644 content/talk-info-hall2/index.md create mode 100644 content/talk-info-hall3/index.md create mode 100644 content/upcoming-talk-hall1/index.md create mode 100644 content/upcoming-talk-hall2/index.md create mode 100644 content/upcoming-talk-hall3/index.md create mode 100644 content/voc-schedule-hall1/index.md create mode 100644 content/voc-schedule-hall2/index.md create mode 100644 content/voc-schedule-hall3/index.md create mode 100644 content/voc-schedule/index.md create mode 100644 content/voc-speaker/index.md create mode 100644 content/voc-talks/index.md create mode 100644 layouts/_default/baseof.html create mode 100644 layouts/index.html create mode 100644 layouts/partials/logo.html create mode 100644 layouts/partials/redirect.html create mode 100644 layouts/schedule-hall1/single.html create mode 100644 layouts/schedule-hall2/single.html create mode 100644 layouts/schedule-hall3/single.html create mode 100644 layouts/schedule/single.html create mode 100644 layouts/speaker-info-hall1/single.html create mode 100644 layouts/speaker-info-hall2/single.html create mode 100644 layouts/speaker-info-hall3/single.html create mode 100644 layouts/talk-info-hall1/single.html create mode 100644 layouts/talk-info-hall2/single.html create mode 100644 layouts/talk-info-hall3/single.html create mode 100644 layouts/upcoming-talk-hall1/single.html create mode 100644 layouts/upcoming-talk-hall2/single.html create mode 100644 layouts/upcoming-talk-hall3/single.html create mode 100644 layouts/voc-schedule-hall1/single.html create mode 100644 layouts/voc-schedule-hall2/single.html create mode 100644 layouts/voc-schedule-hall3/single.html create mode 100644 layouts/voc-schedule/single.html create mode 100644 layouts/voc-speaker/single.html create mode 100644 layouts/voc-talks/single.html create mode 100644 license.txt create mode 100644 static/fonts/architects-daughter-v11-latin-regular.woff create mode 100644 static/fonts/architects-daughter-v11-latin-regular.woff2 create mode 100644 static/fonts/lato-v22-latin-ext_latin-100.woff create mode 100644 static/fonts/lato-v22-latin-ext_latin-100.woff2 create mode 100644 static/fonts/lato-v22-latin-ext_latin-100italic.woff create mode 100644 static/fonts/lato-v22-latin-ext_latin-100italic.woff2 create mode 100644 static/fonts/lato-v22-latin-ext_latin-300.woff create mode 100644 static/fonts/lato-v22-latin-ext_latin-300.woff2 create mode 100644 static/fonts/lato-v22-latin-ext_latin-300italic.woff create mode 100644 static/fonts/lato-v22-latin-ext_latin-300italic.woff2 create mode 100644 static/fonts/lato-v22-latin-ext_latin-700.woff create mode 100644 static/fonts/lato-v22-latin-ext_latin-700.woff2 create mode 100644 static/fonts/lato-v22-latin-ext_latin-700italic.woff create mode 100644 static/fonts/lato-v22-latin-ext_latin-700italic.woff2 create mode 100644 static/fonts/lato-v22-latin-ext_latin-900.woff create mode 100644 static/fonts/lato-v22-latin-ext_latin-900.woff2 create mode 100644 static/fonts/lato-v22-latin-ext_latin-900italic.woff create mode 100644 static/fonts/lato-v22-latin-ext_latin-900italic.woff2 create mode 100644 static/fonts/lato-v22-latin-ext_latin-italic.woff create mode 100644 static/fonts/lato-v22-latin-ext_latin-italic.woff2 create mode 100644 static/fonts/lato-v22-latin-ext_latin-regular.woff create mode 100644 static/fonts/lato-v22-latin-ext_latin-regular.woff2 create mode 100644 static/fonts/permanent-marker-v10-latin-regular.woff create mode 100644 static/fonts/permanent-marker-v10-latin-regular.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-200.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-200.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-200italic.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-200italic.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-300.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-300.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-300italic.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-300italic.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-500.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-500.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-500italic.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-500italic.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-600.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-600.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-600italic.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-600italic.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-700.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-700.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-700italic.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-700italic.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-800.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-800.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-800italic.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-800italic.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-900.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-900.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-900italic.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-900italic.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-italic.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-italic.woff2 create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-regular.woff create mode 100644 static/fonts/source-code-pro-v20-latin-ext_latin-regular.woff2 create mode 100644 static/fork-awesome/css/fork-awesome.css create mode 100644 static/fork-awesome/css/fork-awesome.min.css create mode 100644 static/fork-awesome/css/fork-awesome.min.css.map create mode 100644 static/fork-awesome/css/v5-compat.css create mode 100644 static/fork-awesome/css/v5-compat.min.css create mode 100644 static/fork-awesome/css/v5-compat.min.css.map create mode 100644 static/fork-awesome/fonts/forkawesome-webfont.eot create mode 100644 static/fork-awesome/fonts/forkawesome-webfont.svg create mode 100644 static/fork-awesome/fonts/forkawesome-webfont.ttf create mode 100644 static/fork-awesome/fonts/forkawesome-webfont.woff create mode 100644 static/fork-awesome/fonts/forkawesome-webfont.woff2 create mode 100644 static/header.png create mode 100644 static/logo_darkgreen.png create mode 100644 static/logo_gray.png create mode 100644 static/logo_lightgreen.png create mode 100644 static/schedule.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6a426b1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +# Hugo +.hugo_build.lock +/public/ +/resources/_gen/ +/assets/jsconfig.json + +# Backup files +*~ diff --git a/assets/css/custom/core/_index.scss b/assets/css/custom/core/_index.scss new file mode 100644 index 0000000..a655765 --- /dev/null +++ b/assets/css/custom/core/_index.scss @@ -0,0 +1,93 @@ +@import "../../fonts/fonts"; +@import "../styles/_variables"; + +* { + box-sizing: border-box; +} + +body { + margin: 0px; + padding: 0px; + color: white; + background: rgb(80,80,80); +} + +.header { + margin: 0px; + + padding-left: 60px; + padding-top: 30px; + padding-bottom: 30px; + + margin-bottom: 40px; + + // color: lavender; + // background: cornflowerblue; + // border-bottom: 12px solid royalblue; + + // color: white; + // background: #217867; + // border-bottom: 12px solid #165044; + + color: white; + background: mediumseagreen; + border-bottom: 12px solid seagreen; + + font-family: 'Permanent Marker'; + font-size: 5em; + font-weight: 400; +} + +.content { + margin-left: 60px; + + h2 { + margin-bottom: 10px; + + font-family: 'Architects Daughter'; + font-size: 2em; + font-weight: 400; + } + + ul { + list-style: none; + } + + .infopointitem { + padding-bottom: 5px; + line-height: 20px; + + // white-space: nowrap; + + display: flex; + } + + .bullet { + padding-right: 0.5em; + } + + // ul li::before { + // content: "-> "; + // } + + .infopoint { + padding-left: 0.5em; + text-decoration: none; + + // color: #ff6600; + color: mediumaquamarine; + + &:hover { + // color: #d45500; + color: aquamarine; + } + } + + .redirect { + font-size: 0.8rem; + + li { + padding: 0px; + } + } +} diff --git a/assets/css/custom/nodes/default.scss b/assets/css/custom/nodes/default.scss new file mode 100644 index 0000000..0771b98 --- /dev/null +++ b/assets/css/custom/nodes/default.scss @@ -0,0 +1 @@ +@import "../styles/_base"; diff --git a/assets/css/custom/nodes/schedule-hall1.scss b/assets/css/custom/nodes/schedule-hall1.scss new file mode 100644 index 0000000..7c189d7 --- /dev/null +++ b/assets/css/custom/nodes/schedule-hall1.scss @@ -0,0 +1,5 @@ +@import "../styles/_base"; + +@import "../styles/_logo"; +@import "../styles/_schedule"; +@import "../styles/_clock"; diff --git a/assets/css/custom/nodes/schedule-hall2.scss b/assets/css/custom/nodes/schedule-hall2.scss new file mode 100644 index 0000000..7c189d7 --- /dev/null +++ b/assets/css/custom/nodes/schedule-hall2.scss @@ -0,0 +1,5 @@ +@import "../styles/_base"; + +@import "../styles/_logo"; +@import "../styles/_schedule"; +@import "../styles/_clock"; diff --git a/assets/css/custom/nodes/schedule-hall3.scss b/assets/css/custom/nodes/schedule-hall3.scss new file mode 100644 index 0000000..7c189d7 --- /dev/null +++ b/assets/css/custom/nodes/schedule-hall3.scss @@ -0,0 +1,5 @@ +@import "../styles/_base"; + +@import "../styles/_logo"; +@import "../styles/_schedule"; +@import "../styles/_clock"; diff --git a/assets/css/custom/nodes/schedule.scss b/assets/css/custom/nodes/schedule.scss new file mode 100644 index 0000000..7c189d7 --- /dev/null +++ b/assets/css/custom/nodes/schedule.scss @@ -0,0 +1,5 @@ +@import "../styles/_base"; + +@import "../styles/_logo"; +@import "../styles/_schedule"; +@import "../styles/_clock"; diff --git a/assets/css/custom/nodes/speaker-info-hall1.scss b/assets/css/custom/nodes/speaker-info-hall1.scss new file mode 100644 index 0000000..83cb99b --- /dev/null +++ b/assets/css/custom/nodes/speaker-info-hall1.scss @@ -0,0 +1,3 @@ +@import "../styles/_base"; + +@import "../styles/_banner-speaker"; diff --git a/assets/css/custom/nodes/speaker-info-hall2.scss b/assets/css/custom/nodes/speaker-info-hall2.scss new file mode 100644 index 0000000..83cb99b --- /dev/null +++ b/assets/css/custom/nodes/speaker-info-hall2.scss @@ -0,0 +1,3 @@ +@import "../styles/_base"; + +@import "../styles/_banner-speaker"; diff --git a/assets/css/custom/nodes/speaker-info-hall3.scss b/assets/css/custom/nodes/speaker-info-hall3.scss new file mode 100644 index 0000000..83cb99b --- /dev/null +++ b/assets/css/custom/nodes/speaker-info-hall3.scss @@ -0,0 +1,3 @@ +@import "../styles/_base"; + +@import "../styles/_banner-speaker"; diff --git a/assets/css/custom/nodes/talk-info-hall1.scss b/assets/css/custom/nodes/talk-info-hall1.scss new file mode 100644 index 0000000..44868c1 --- /dev/null +++ b/assets/css/custom/nodes/talk-info-hall1.scss @@ -0,0 +1,3 @@ +@import "../styles/_base"; + +@import "../styles/_banner-talk"; diff --git a/assets/css/custom/nodes/talk-info-hall2.scss b/assets/css/custom/nodes/talk-info-hall2.scss new file mode 100644 index 0000000..44868c1 --- /dev/null +++ b/assets/css/custom/nodes/talk-info-hall2.scss @@ -0,0 +1,3 @@ +@import "../styles/_base"; + +@import "../styles/_banner-talk"; diff --git a/assets/css/custom/nodes/talk-info-hall3.scss b/assets/css/custom/nodes/talk-info-hall3.scss new file mode 100644 index 0000000..44868c1 --- /dev/null +++ b/assets/css/custom/nodes/talk-info-hall3.scss @@ -0,0 +1,3 @@ +@import "../styles/_base"; + +@import "../styles/_banner-talk"; diff --git a/assets/css/custom/nodes/upcoming-talk-hall1.scss b/assets/css/custom/nodes/upcoming-talk-hall1.scss new file mode 100644 index 0000000..4b7a75d --- /dev/null +++ b/assets/css/custom/nodes/upcoming-talk-hall1.scss @@ -0,0 +1,4 @@ +@import "../styles/_base"; + +@import "../styles/_logo"; +@import "../styles/_upcoming-talk"; diff --git a/assets/css/custom/nodes/upcoming-talk-hall2.scss b/assets/css/custom/nodes/upcoming-talk-hall2.scss new file mode 100644 index 0000000..4b7a75d --- /dev/null +++ b/assets/css/custom/nodes/upcoming-talk-hall2.scss @@ -0,0 +1,4 @@ +@import "../styles/_base"; + +@import "../styles/_logo"; +@import "../styles/_upcoming-talk"; diff --git a/assets/css/custom/nodes/upcoming-talk-hall3.scss b/assets/css/custom/nodes/upcoming-talk-hall3.scss new file mode 100644 index 0000000..4b7a75d --- /dev/null +++ b/assets/css/custom/nodes/upcoming-talk-hall3.scss @@ -0,0 +1,4 @@ +@import "../styles/_base"; + +@import "../styles/_logo"; +@import "../styles/_upcoming-talk"; diff --git a/assets/css/custom/nodes/voc-schedule.scss b/assets/css/custom/nodes/voc-schedule.scss new file mode 100644 index 0000000..ab96778 --- /dev/null +++ b/assets/css/custom/nodes/voc-schedule.scss @@ -0,0 +1,3 @@ +@import "../styles/_base"; + +@import "../styles/_voc-schedule"; diff --git a/assets/css/custom/nodes/voc-speaker.scss b/assets/css/custom/nodes/voc-speaker.scss new file mode 100644 index 0000000..830be5d --- /dev/null +++ b/assets/css/custom/nodes/voc-speaker.scss @@ -0,0 +1,3 @@ +@import "../styles/_base"; + +@import "../styles/_voc-speaker"; diff --git a/assets/css/custom/nodes/voc-talks.scss b/assets/css/custom/nodes/voc-talks.scss new file mode 100644 index 0000000..ca4a3c1 --- /dev/null +++ b/assets/css/custom/nodes/voc-talks.scss @@ -0,0 +1,3 @@ +@import "../styles/_base"; + +@import "../styles/_voc-talks"; diff --git a/assets/css/custom/styles/_banner-speaker.scss b/assets/css/custom/styles/_banner-speaker.scss new file mode 100644 index 0000000..a0cf4cc --- /dev/null +++ b/assets/css/custom/styles/_banner-speaker.scss @@ -0,0 +1,70 @@ +@import "_variables"; +@import "_base"; + +.slide { + background-color: $color-bg; +} + +.speaker-box { + // position: absolute; + position: relative; + // top: 963px; + // top: 975px; + // top: 947px; + top: 910px; + + // left: 50px; + left: 150px; + + width: auto; + + // max-width: 1350px; + // max-width: 1400px; + max-width: 1600px; +} + +.speaker { + // background-color: $color-ci-gray; + // background-color: $color-ci-lightgreen; + background-color: $color-ci-darkgreen; + + // border-width: 5px; + // border-style: solid; + // border-color: $color-ci-lightgreen; + + // box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.2); + box-shadow: 8px 6px 0px $color-bg; + + // vertical-align: middle; + white-space: normal; + + // padding: 10px 15px; + padding: 5px 15px; + + font-family: 'Lato'; + font-weight: 700; + font-size: 60px; +} + +.speaker .title { + // color: $color-ci-lightgreen; +} + +.speaker .names { + display: -webkit-box; + -webkit-line-clamp: 1; + box-orient: vertical; + -webkit-box-orient: vertical; + + overflow: hidden; + text-overflow: ellipsis; + + white-space: normal; +} + +img { + display: none; + position: absolute; + top: 0; + left: 0; +} diff --git a/assets/css/custom/styles/_banner-talk.scss b/assets/css/custom/styles/_banner-talk.scss new file mode 100644 index 0000000..407fb4a --- /dev/null +++ b/assets/css/custom/styles/_banner-talk.scss @@ -0,0 +1,84 @@ +@import "_variables"; +@import "_base"; + +.slide { + background-color: $color-bg; +} + +.talk-box { + // position: absolute; + position: relative; + top: 975px; + // left: 50px; + left: 100px; + + width: auto; + + // max-width: 1350px; + max-width: 1400px; +} + +.talk { + background-color: $color-ci-gray; + background-color: $color-ci-lightgreen; + // background-color: $color-ci-darkgreen; + + // border-width: 5px; + // border-style: solid; + // border-color: $color-ci-lightgreen; + + // box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.2); + + // vertical-align: middle; + white-space: normal; + + // padding: 10px 15px; + padding: 5px 10px; + + font-family: 'Lato'; + font-weight: 400; +} + +.talk .title { + display: -webkit-box; + -webkit-line-clamp: 1; + box-orient: vertical; + -webkit-box-orient: vertical; + + overflow: hidden; + text-overflow: ellipsis; + + font-size: 25px; + + // color: $color-ci-lightgreen; + + &:before { + content: "«"; + padding: 0; + } + + &:after { + content: "»"; + padding: 0; + } +} + +.talk .names { + display: -webkit-box; + -webkit-line-clamp: 1; + box-orient: vertical; + -webkit-box-orient: vertical; + + overflow: hidden; + text-overflow: ellipsis; + + font-size: 23px; + font-style: italic; +} + +img { + display: none; + position: absolute; + top: 0; + left: 0; +} diff --git a/assets/css/custom/styles/_base.scss b/assets/css/custom/styles/_base.scss new file mode 100644 index 0000000..3b383ef --- /dev/null +++ b/assets/css/custom/styles/_base.scss @@ -0,0 +1,26 @@ +@import "../../fonts/fonts"; +@import "_variables"; + +* { + box-sizing: border-box; +} + +body { + color: rgb(255,255,255); + background: rgb(100,100,100); + margin: 0px; + padding: 0px; +} + +#main { + position: absolute; + top: 0px; + left: 0px; +} + +.slide { + position: relative; + width: $full-width; + height: $full-height; + overflow: hidden; +} diff --git a/assets/css/custom/styles/_clock.scss b/assets/css/custom/styles/_clock.scss new file mode 100644 index 0000000..91f4f3d --- /dev/null +++ b/assets/css/custom/styles/_clock.scss @@ -0,0 +1,23 @@ +#clock { + position: relative; + top: 0px; + left: 0px; + + width: $full-width; + height: $full-height; + overflow: hidden; + + z-index: 1000; +} + +.clock { + position: absolute; + + top: 240px; + // left: 1080px; + right: 655px; + + font-family: 'Source Code Pro'; + font-weight: 600; + font-size: 60px; +} diff --git a/assets/css/custom/styles/_logo-anim-darkgreen.scss b/assets/css/custom/styles/_logo-anim-darkgreen.scss new file mode 100644 index 0000000..5b7c0b8 --- /dev/null +++ b/assets/css/custom/styles/_logo-anim-darkgreen.scss @@ -0,0 +1,134 @@ +@keyframes logo-anim-darkgreen { + + 0.00% { + opacity: 0.5335; + } + + 3.12% { + opacity: 0.5133; + } + + 6.25% { + opacity: 0.5021; + } + + 9.38% { + opacity: 0.5005; + } + + 12.50% { + opacity: 0.5085; + } + + 15.62% { + opacity: 0.5258; + } + + 18.75% { + opacity: 0.5517; + } + + 21.88% { + opacity: 0.5852; + } + + 25.00% { + opacity: 0.6250; + } + + 28.12% { + opacity: 0.6696; + } + + 31.25% { + opacity: 0.7174; + } + + 34.38% { + opacity: 0.7664; + } + + 37.50% { + opacity: 0.8147; + } + + 40.62% { + opacity: 0.8606; + } + + 43.75% { + opacity: 0.9022; + } + + 46.88% { + opacity: 0.9380; + } + + 50.00% { + opacity: 0.9665; + } + + 53.12% { + opacity: 0.9867; + } + + 56.25% { + opacity: 0.9979; + } + + 59.38% { + opacity: 0.9995; + } + + 62.50% { + opacity: 0.9915; + } + + 65.62% { + opacity: 0.9742; + } + + 68.75% { + opacity: 0.9483; + } + + 71.88% { + opacity: 0.9148; + } + + 75.00% { + opacity: 0.8750; + } + + 78.12% { + opacity: 0.8304; + } + + 81.25% { + opacity: 0.7826; + } + + 84.38% { + opacity: 0.7336; + } + + 87.50% { + opacity: 0.6853; + } + + 90.62% { + opacity: 0.6394; + } + + 93.75% { + opacity: 0.5978; + } + + 96.88% { + opacity: 0.5620; + } + + 100.00% { + opacity: 0.5335; + } +} diff --git a/assets/css/custom/styles/_logo-anim-gray.scss b/assets/css/custom/styles/_logo-anim-gray.scss new file mode 100644 index 0000000..faaee4c --- /dev/null +++ b/assets/css/custom/styles/_logo-anim-gray.scss @@ -0,0 +1,134 @@ +@keyframes logo-anim-gray { + + 0.00% { + opacity: 0.7500; + } + + 3.12% { + opacity: 0.7988; + } + + 6.25% { + opacity: 0.8457; + } + + 9.38% { + opacity: 0.8889; + } + + 12.50% { + opacity: 0.9268; + } + + 15.62% { + opacity: 0.9579; + } + + 18.75% { + opacity: 0.9810; + } + + 21.88% { + opacity: 0.9952; + } + + 25.00% { + opacity: 1.0000; + } + + 28.12% { + opacity: 0.9952; + } + + 31.25% { + opacity: 0.9810; + } + + 34.38% { + opacity: 0.9579; + } + + 37.50% { + opacity: 0.9268; + } + + 40.62% { + opacity: 0.8889; + } + + 43.75% { + opacity: 0.8457; + } + + 46.88% { + opacity: 0.7988; + } + + 50.00% { + opacity: 0.7500; + } + + 53.12% { + opacity: 0.7012; + } + + 56.25% { + opacity: 0.6543; + } + + 59.38% { + opacity: 0.6111; + } + + 62.50% { + opacity: 0.5732; + } + + 65.62% { + opacity: 0.5421; + } + + 68.75% { + opacity: 0.5190; + } + + 71.88% { + opacity: 0.5048; + } + + 75.00% { + opacity: 0.5000; + } + + 78.12% { + opacity: 0.5048; + } + + 81.25% { + opacity: 0.5190; + } + + 84.38% { + opacity: 0.5421; + } + + 87.50% { + opacity: 0.5732; + } + + 90.62% { + opacity: 0.6111; + } + + 93.75% { + opacity: 0.6543; + } + + 96.88% { + opacity: 0.7012; + } + + 100.00% { + opacity: 0.7500; + } +} diff --git a/assets/css/custom/styles/_logo-anim-lightgreen.scss b/assets/css/custom/styles/_logo-anim-lightgreen.scss new file mode 100644 index 0000000..82a488f --- /dev/null +++ b/assets/css/custom/styles/_logo-anim-lightgreen.scss @@ -0,0 +1,134 @@ +@keyframes logo-anim-lightgreen { + + 0.00% { + opacity: 0.9665; + } + + 3.12% { + opacity: 0.9380; + } + + 6.25% { + opacity: 0.9022; + } + + 9.38% { + opacity: 0.8606; + } + + 12.50% { + opacity: 0.8147; + } + + 15.62% { + opacity: 0.7664; + } + + 18.75% { + opacity: 0.7174; + } + + 21.88% { + opacity: 0.6696; + } + + 25.00% { + opacity: 0.6250; + } + + 28.12% { + opacity: 0.5852; + } + + 31.25% { + opacity: 0.5517; + } + + 34.38% { + opacity: 0.5258; + } + + 37.50% { + opacity: 0.5085; + } + + 40.62% { + opacity: 0.5005; + } + + 43.75% { + opacity: 0.5021; + } + + 46.88% { + opacity: 0.5133; + } + + 50.00% { + opacity: 0.5335; + } + + 53.12% { + opacity: 0.5620; + } + + 56.25% { + opacity: 0.5978; + } + + 59.38% { + opacity: 0.6394; + } + + 62.50% { + opacity: 0.6853; + } + + 65.62% { + opacity: 0.7336; + } + + 68.75% { + opacity: 0.7826; + } + + 71.88% { + opacity: 0.8304; + } + + 75.00% { + opacity: 0.8750; + } + + 78.12% { + opacity: 0.9148; + } + + 81.25% { + opacity: 0.9483; + } + + 84.38% { + opacity: 0.9742; + } + + 87.50% { + opacity: 0.9915; + } + + 90.62% { + opacity: 0.9995; + } + + 93.75% { + opacity: 0.9979; + } + + 96.88% { + opacity: 0.9867; + } + + 100.00% { + opacity: 0.9665; + } +} diff --git a/assets/css/custom/styles/_logo.scss b/assets/css/custom/styles/_logo.scss new file mode 100644 index 0000000..248003e --- /dev/null +++ b/assets/css/custom/styles/_logo.scss @@ -0,0 +1,38 @@ +@import "_logo-anim-gray"; +@import "_logo-anim-lightgreen"; +@import "_logo-anim-darkgreen"; + +.logo-box { + position: absolute; + top: 20px; + left: 1300px; + + width: 190px; + height: 190px; + overflow: hidden; + + z-index: 2000; +} + +.logo { + position: absolute; + + top: 0px; + right: 0px; + + animation-duration: 10s; + animation-iteration-count: infinite; + animation-timing-function: linear; +} + +.logo-gray { + animation-name: logo-anim-gray; +} + +.logo-lightgreen { + animation-name: logo-anim-lightgreen; +} + +.logo-darkgreen { + animation-name: logo-anim-darkgreen; +} diff --git a/assets/css/custom/styles/_music.scss b/assets/css/custom/styles/_music.scss new file mode 100644 index 0000000..e11863a --- /dev/null +++ b/assets/css/custom/styles/_music.scss @@ -0,0 +1,38 @@ +.music-info { + font-family: 'Lato'; + font-weight: 400; + font-size: 22px; + // background-color: magenta; +} + +.music-track { + padding-left: 0.5em; + padding-right: 0.5em; + font-style: italic; + &:before { + content: "«"; + padding: 0; + } + &:after { + content: "»"; + padding: 0; + } +} + +.music-artist { + padding-left: 0.5em; + padding-right: 3em; + font-weight: 700; +} + +.music-licence { + padding-left: 0.5em; + padding-right: 3em; +} + +.music-link { + padding-left: 0.5em; + font-family: 'Source Code Pro'; + font-weight: 400; + font-size: 20px; +} diff --git a/assets/css/custom/styles/_schedule.scss b/assets/css/custom/styles/_schedule.scss new file mode 100644 index 0000000..b6e1a00 --- /dev/null +++ b/assets/css/custom/styles/_schedule.scss @@ -0,0 +1,213 @@ +@import "_variables"; +@import "_base"; +@import "_music"; + + +.slide { + background-color: $color-bg; +} + + +.header { + position: absolute; + top: 0; + left: 0; + z-index: 10; +} + + +.room-location { + position: absolute; + // top: 240px; + top: 255px; + right: 65px; + + z-index: 20; + + font-family: 'Source Code Pro'; + font-weight: 700; + font-size: 40px; + + text-align: end; + color: khaki; + + // box-align: center; + // -moz-box-align: center; + // -webkit-box-align: center; + + // background-color: purple; +} + +.schedule { + position: absolute; + top: 240px; + left: 65px; + // left: 50px; + + /* 1920 - 2 * 65 */ + width: 1790px; + /* 1920 - 2 * 50 */ + // width: 1820px; + + // background-color: orange; +} + +.schedule .title { + // position: static; + + font-family: 'Source Code Pro'; + font-weight: 700; + font-size: 60px; + + //text-align: bottom; +} + + +.events { + position: absolute; + top: 340px; + left: 65px; + + width: 1790px; + // width: 1820px; + // 5 * 110 + 4 * 25 + height: 650px; + + overflow: hidden; + // background-color: red; +} + +.event { + position: relative; + // left: 0px; + + margin-bottom: 25px; + width: 100%; + + // overflow: hidden; + // background-color: teal; +} + +.event-time { + position: absolute; + // top: 0; + left: 0px; + + font-family: 'Source Code Pro'; + font-weight: 400; + font-size: 50px; + + // background-color: crimson; + // max-width: 50px; +} + +.event-location { + position: absolute; + left: 200px; + + font-family: 'Lato'; + font-weight: 400; + font-size: 50px; + + // width: 100px; + // max-width: 100px; + // background-color: purple; +} + +.this-room { + font-style: italic; + color: khaki; +} + + + +.event-info { + position: relative; + // left: 550px; + // width: 1240px; + left: 520px; + width: 1270px; + // width: 1280px; + + overflow: hidden; + text-overflow: ellipsis; + white-space: normal; + + // word-break: break-all; + // overflow-wrap: break-word; + + font-family: 'Lato'; + font-weight: 400; + font-size: 50px; + + // max-width: 100px; + // background-color: dodgerblue; +} + +.event-title { + display: -webkit-box; + -webkit-line-clamp: 1; + // -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + + overflow: hidden; + text-overflow: ellipsis; +} + +.event-speaker { + display: -webkit-box; + -webkit-line-clamp: 1; + // -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + + overflow: hidden; + text-overflow: ellipsis; + + font-style: italic; + font-size: 40px; +} + + +.footer { + position: absolute; + left: 65px; + bottom: 0px; + + width: 1790px; + // height: 65px; +} + +.track-info { + display: flex; + flex-direction: row; + justify-content: space-between; + // justify-content: space-around; + + margin-bottom: 10px; + + font-family: 'Source Code Pro'; + font-weight: 600; + font-size: 22px; + + // background-color: chartreuse; +} + +.track { + // background-color: lightblue; +} + +.track-1 { + color: #40a56a; +} + +.track-2 { + color: #ffc91a; +} + +.track-3 { + color: #d92635; +} + +.track-4 { + color: #3caec3; +} diff --git a/assets/css/custom/styles/_upcoming-talk.scss b/assets/css/custom/styles/_upcoming-talk.scss new file mode 100644 index 0000000..ae20059 --- /dev/null +++ b/assets/css/custom/styles/_upcoming-talk.scss @@ -0,0 +1,254 @@ +@import "_variables"; +@import "_base"; +@import "_music"; + + +.header { + position: absolute; + top: 0; + left: 0; + z-index: 10; +} + + +.slide { + background-color: $color-bg; +} + + +.upper { + position: absolute; + left: 200px; + top: 240px; + + width: 1520px; + height: 250px; + + overflow: hidden; +} + +.lower { + position: absolute; + top: 540px; + left: 200px; + + width: 1520px; + height: 490px; + + overflow: hidden; + + background-color: $color-ci-darkgreen; +} + + +.event-meta { + height: 250px; + + background-color: $color-ci-lightgreen; + + font-family: 'Lato'; + font-weight: 600; + font-size: 50px; + + overflow: hidden; + text-overflow: ellipsis; + white-space: normal; +} + +.title { + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + + overflow: hidden; + text-overflow: ellipsis; + + padding: 0px 100px; + + + + text-align: center; +} + +.subtitle { + display: none; +} + +.speakers { + display: -webkit-box; + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + + overflow: hidden; + text-overflow: ellipsis; + + padding-top: 10px; + padding-left: 15px; + + font-weight: 400; + font-style: italic; + font-size: 30px; + + margin-bottom: 20px; +} + +.starttime { + position: absolute; + right: 0px; + bottom: 0px; + + padding-bottom: 15px; + padding-right: 25px; + + font-family: 'Source Code Pro'; + font-weight: 500; + font-size: 30px; +} + + +.event-content { + position: absolute; + left: 0px; + + width: 735px; + hight: 490px; + + font-family: 'Lato'; + font-weight: 400; +} + +.event-description { +} + +.event-description-title { + padding-top: 10px; + padding-left: 15px; + + margin-bottom: 20px; + + font-size: 30px; +} + +.event-description-text { + height: 420px; + + display: -webkit-box; + -webkit-line-clamp: 14; + -webkit-box-orient: vertical; + + overflow: hidden; + text-overflow: ellipsis; + + padding-left: 50px; + padding-right: 50px; + + font-size: 25px; + + text-align: justify; + word-wrap: break-word; + word-break: break-word; + // word-break: break-all; + hyphens: auto; +} + + +.speaker-meta { + position: absolute; + right: 0px; + + width: 745px; + // width: 700px; + + padding-top: 15px; + padding-right: 15px; + + + // background-color: navy; +} + +.speaker-info { + margin-bottom: 20px; + + font-family: 'Lato'; + font-weight: 400; + font-size: 25px; + + // background-color: red; +} + +.speaker-name { + margin-bottom: 8px; + + font-style: italic; + // font-size: 25px; +} + +.speaker-bio { + padding-left: 30px; + // padding-right: 50px; + + font-size: 22px; + + text-align: justify; + word-wrap: break-word; + word-break: break-word; + // word-break: break-all; + hyphens: auto; + // font-size: 20px; +} + +.speaker-count-1 { + display: -webkit-box; + -webkit-line-clamp: 14; + -webkit-box-orient: vertical; + + overflow: hidden; + text-overflow: ellipsis; +} + +.speaker-count-2 { + display: -webkit-box; + -webkit-line-clamp: 6; + -webkit-box-orient: vertical; + + overflow: hidden; + text-overflow: ellipsis; +} + +.speaker-count-3 { + display: -webkit-box; + -webkit-line-clamp: 4; + -webkit-box-orient: vertical; + + overflow: hidden; + text-overflow: ellipsis; +} + +.speaker-count-4 { + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + + overflow: hidden; + text-overflow: ellipsis; +} + +.speaker-count-5 { + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-line-clamp: 7; + -webkit-box-orient: vertical; + + overflow: hidden; + text-overflow: ellipsis; +} + + +.footer { + position: absolute; + left: 200px; + bottom: 0px; + + width: 1520px; + // height: 65px; +} diff --git a/assets/css/custom/styles/_variables.scss b/assets/css/custom/styles/_variables.scss new file mode 100644 index 0000000..a75a719 --- /dev/null +++ b/assets/css/custom/styles/_variables.scss @@ -0,0 +1,38 @@ +$full-width: 1920px; +$full-height: 1080px; + +$color-bg: rgb(30, 30, 30); + +$color-ci-gray: rgb(101, 103, 103); +$color-ci-darkgreen: rgb(5, 114, 72); +$color-ci-lightgreen: rgb(0, 156, 71); + + + +// $margin-top: 30px; +// $margin-bottom: 50px; +// $margin-left: 60px; +// $margin-right: 60px; + +// $color-highlight1: #98adb0; +// $color-highlight1-header: #bdc7cc; +// $highlight1-gradient: linear-gradient(110deg, rgba(95, 124, 125, 0.6) 0%, rgba(33, 106, 99, 0.2) 85%, rgba(77,120,18,0) 100%); +// $highlight1-gradient2: linear-gradient(5deg, rgba(95,124,125,.5) 0%, rgba(33,106,99,.4) 42%, rgba(77,120,18,0) 65%, rgba(77,120,18,0) 100%); +// $highlight1-gradient-mirror: linear-gradient(290deg, rgba(95, 124, 125, 0.6) 0%, rgba(33, 106, 99, 0.2) 85%, rgba(77,120,18,0) 100%); + +// $color-highlight2: rgb(111, 173, 26); +// $highlight2-gradient: linear-gradient(110deg, rgba(77, 120, 18, 0.6) 0%, rgba(77, 120, 18, 0.2) 85%, rgba(77, 120, 18, 0) 100%); + +// $color-highlight3: chartreuse; +// $highlight3-gradient: linear-gradient(110deg, rgba(127, 255, 0, 0.6) 0%, rgba(127, 255, 0, 0.2) 85%, rgba(127, 255, 0, 0) 100%); + +// $color-highlight4: #475337; +// $highlight4-gradient: linear-gradient(110deg, rgba(72, 90, 48, 0.6) 0%, rgba(72, 90, 48, 0.2) 85%, rgba(72, 90, 48, 0) 100%); + +// $color-donot: crimson; + +// $color-background: rgba(0, 0, 0, 0.8); +// $color-background2: rgba(0, 0, 0, 0.3); + +// $headline-size: 45px; +// $headline-shadow: 1px 1px 1px black, 2px 2px 8px rgba(0,0,0,0.8); diff --git a/assets/css/custom/styles/_voc-schedule.scss b/assets/css/custom/styles/_voc-schedule.scss new file mode 100644 index 0000000..8761506 --- /dev/null +++ b/assets/css/custom/styles/_voc-schedule.scss @@ -0,0 +1,29 @@ +@import "_variables"; +@import "_base"; +@import "_voc"; + + +.speaker-cnt-1 { + color: lime; +} + +.speaker-cnt-2 { + color: yellow; +} + +.speaker-cnt-3 { + color: orangered; +} + +.speaker-cnt-many { + color: red; +} + + +.dnr-true { + color: crimson; +} + +.dnr-false { + color: chartreuse; +} diff --git a/assets/css/custom/styles/_voc-speaker.scss b/assets/css/custom/styles/_voc-speaker.scss new file mode 100644 index 0000000..91ade1a --- /dev/null +++ b/assets/css/custom/styles/_voc-speaker.scss @@ -0,0 +1,3 @@ +@import "_variables"; +@import "_base"; +@import "_voc"; diff --git a/assets/css/custom/styles/_voc-talks.scss b/assets/css/custom/styles/_voc-talks.scss new file mode 100644 index 0000000..91ade1a --- /dev/null +++ b/assets/css/custom/styles/_voc-talks.scss @@ -0,0 +1,3 @@ +@import "_variables"; +@import "_base"; +@import "_voc"; diff --git a/assets/css/custom/styles/_voc.scss b/assets/css/custom/styles/_voc.scss new file mode 100644 index 0000000..1084408 --- /dev/null +++ b/assets/css/custom/styles/_voc.scss @@ -0,0 +1,11 @@ +#main { + left: 20px; +} + +table { + border-spacing: 25px 2px; +} + +th { + text-align: left; +} diff --git a/assets/css/fonts/architects-daughter.css b/assets/css/fonts/architects-daughter.css new file mode 100644 index 0000000..cffeffb --- /dev/null +++ b/assets/css/fonts/architects-daughter.css @@ -0,0 +1,8 @@ +/* architects-daughter-regular - latin */ +@font-face { + font-family: 'Architects Daughter'; + font-style: normal; + font-weight: 400; + src: url('./fonts/architects-daughter-v11-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/architects-daughter-v11-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} diff --git a/assets/css/fonts/fonts.scss b/assets/css/fonts/fonts.scss new file mode 100644 index 0000000..d30b3f1 --- /dev/null +++ b/assets/css/fonts/fonts.scss @@ -0,0 +1,5 @@ +@import "permanent-marker"; +@import "architects-daughter"; + +@import "source-code-pro"; +@import "lato"; diff --git a/assets/css/fonts/lato.css b/assets/css/fonts/lato.css new file mode 100644 index 0000000..a5e076a --- /dev/null +++ b/assets/css/fonts/lato.css @@ -0,0 +1,89 @@ +/* lato-100 - latin-ext_latin */ +@font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 100; + src: url('./fonts/lato-v22-latin-ext_latin-100.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/lato-v22-latin-ext_latin-100.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* lato-300 - latin-ext_latin */ +@font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 300; + src: url('./fonts/lato-v22-latin-ext_latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/lato-v22-latin-ext_latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* lato-100italic - latin-ext_latin */ +@font-face { + font-family: 'Lato'; + font-style: italic; + font-weight: 100; + src: url('./fonts/lato-v22-latin-ext_latin-100italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/lato-v22-latin-ext_latin-100italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* lato-300italic - latin-ext_latin */ +@font-face { + font-family: 'Lato'; + font-style: italic; + font-weight: 300; + src: url('./fonts/lato-v22-latin-ext_latin-300italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/lato-v22-latin-ext_latin-300italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* lato-regular - latin-ext_latin */ +@font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 400; + src: url('./fonts/lato-v22-latin-ext_latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/lato-v22-latin-ext_latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* lato-italic - latin-ext_latin */ +@font-face { + font-family: 'Lato'; + font-style: italic; + font-weight: 400; + src: url('./fonts/lato-v22-latin-ext_latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/lato-v22-latin-ext_latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* lato-700 - latin-ext_latin */ +@font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 700; + src: url('./fonts/lato-v22-latin-ext_latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/lato-v22-latin-ext_latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* lato-700italic - latin-ext_latin */ +@font-face { + font-family: 'Lato'; + font-style: italic; + font-weight: 700; + src: url('./fonts/lato-v22-latin-ext_latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/lato-v22-latin-ext_latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* lato-900 - latin-ext_latin */ +@font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 900; + src: url('./fonts/lato-v22-latin-ext_latin-900.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/lato-v22-latin-ext_latin-900.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* lato-900italic - latin-ext_latin */ +@font-face { + font-family: 'Lato'; + font-style: italic; + font-weight: 900; + src: url('./fonts/lato-v22-latin-ext_latin-900italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/lato-v22-latin-ext_latin-900italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} diff --git a/assets/css/fonts/permanent-marker.css b/assets/css/fonts/permanent-marker.css new file mode 100644 index 0000000..88da917 --- /dev/null +++ b/assets/css/fonts/permanent-marker.css @@ -0,0 +1,7 @@ +@font-face { + font-family: 'Permanent Marker'; + font-style: normal; + font-weight: 400; + src: url('./fonts/permanent-marker-v10-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/permanent-marker-v10-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} diff --git a/assets/css/fonts/source-code-pro.css b/assets/css/fonts/source-code-pro.css new file mode 100644 index 0000000..c9c3285 --- /dev/null +++ b/assets/css/fonts/source-code-pro.css @@ -0,0 +1,143 @@ +/* source-code-pro-200 - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 200; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-200.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-200.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* source-code-pro-300 - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 300; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* source-code-pro-regular - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 400; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* source-code-pro-500 - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 500; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* source-code-pro-600 - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 600; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* source-code-pro-700 - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 700; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* source-code-pro-800 - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 800; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-800.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-800.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* source-code-pro-900 - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 900; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-900.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-900.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* source-code-pro-200italic - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 200; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-200italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-200italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* source-code-pro-300italic - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 300; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-300italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-300italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* source-code-pro-500italic - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 500; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-500italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-500italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* source-code-pro-italic - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 400; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* source-code-pro-600italic - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 600; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-600italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-600italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* source-code-pro-700italic - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 700; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* source-code-pro-800italic - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 800; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-800italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-800italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* source-code-pro-900italic - latin-ext_latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 900; + src: url('./fonts/source-code-pro-v20-latin-ext_latin-900italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./fonts/source-code-pro-v20-latin-ext_latin-900italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} diff --git a/assets/js/custom/core/config.js b/assets/js/custom/core/config.js new file mode 100644 index 0000000..a003304 --- /dev/null +++ b/assets/js/custom/core/config.js @@ -0,0 +1,23 @@ +import * as params from '@params'; + +// Values injected from Hugo configuration +window.infoBeamerConfig = new Map(); +window.infoBeamerConfig.set('workerBaseURL', params.workerBaseURL); + +window.infoBeamerConfig.set('scheduleURL', params.scheduleURL); +window.infoBeamerConfig.set('scheduleFetchInterval', params.scheduleFetchInterval); + +window.infoBeamerConfig.set('twitterURL', params.twitterURL); +window.infoBeamerConfig.set('twitterFetchInterval', params.twitterFetchInterval); + +window.infoBeamerConfig.set('mastodonURL', params.mastodonURL); +window.infoBeamerConfig.set('mastodonFetchInterval', params.mastodonFetchInterval); + +window.infoBeamerConfig.set('musicURL', params.musicURL); +window.infoBeamerConfig.set('musicFetchInterval', params.musicFetchInterval); + +window.infoBeamerConfig.set('cmsURL', params.cmsURL); +window.infoBeamerConfig.set('cmsFetchInterval', params.cmsFetchInterval); + +console.log('Info Beamer Configuration: '); +console.log(window.infoBeamerConfig); diff --git a/assets/js/custom/core/fetcher.js b/assets/js/custom/core/fetcher.js new file mode 100644 index 0000000..f5ce64d --- /dev/null +++ b/assets/js/custom/core/fetcher.js @@ -0,0 +1,63 @@ +'use strict'; + + +const configure = (configuration, service) => { + + const fetchIt = (storage) => { + + // Setup fetching in web workers + if (window.Worker) { + const workerBaseURL = window.infoBeamerConfig.get('workerBaseURL'); + const fetchWorkerCode = workerBaseURL + "/generic_fetch_worker.js"; + + // Schedule fetch worker + const scheduleWorker = new Worker(fetchWorkerCode); + const scheduleType = 'Schedule'; + const scheduleURL = window.infoBeamerConfig.get('scheduleURL'); + const scheduleFetchInterval = window.infoBeamerConfig.get('scheduleFetchInterval'); + + // Configure schedule worker + scheduleWorker.postMessage({fetchType: scheduleType, + fetchURL: scheduleURL, + fetchInterval: scheduleFetchInterval + }); + + // Obtain schedule results and call back + scheduleWorker.onmessage = function(e) { + if (e.data.msgType === scheduleType) { + let jsonData = e.data.json; + + console.log("Got it"); + console.log(jsonData); + console.log("---"); + + + let scheduleData = service.process_data(jsonData); + //let scheduleData = e.data.json; + + console.log(scheduleData); + + storage.scheduleData = scheduleData; + console.log("Got it"); + console.log(storage); + console.log("---"); + // update_screen(); + } + }; + + + // Add more workers here + } else { + console.log("Your browser doesn't support web workers."); + } + + }; + + + return fetchIt; +}; + + +export { + configure +}; diff --git a/assets/js/custom/core/generic_fetch_worker.js b/assets/js/custom/core/generic_fetch_worker.js new file mode 100644 index 0000000..94874aa --- /dev/null +++ b/assets/js/custom/core/generic_fetch_worker.js @@ -0,0 +1,36 @@ +let fetchType; +let fetchInterval; +let fetchURL; + + +onmessage = function(e) { + let msgType = e.data.msgType; + + // console.log("Configuration Message:"); + console.log(e.data); + + fetchType = e.data.fetchType; + fetchURL = e.data.fetchURL; + fetchInterval = 1000 * e.data.fetchInterval; +}; + + +function doFetch() { + let now = new Date(); + + if (fetchURL) { + fetch(fetchURL).then( + b => b.json()).then( + j => postMessage({msgType: fetchType, + json: j, + timestamp: now})) + .catch(e => console.log(e.message)); + } +} + + +// Periodic resource fetching +(function periodicFetch() { + doFetch(); + setTimeout(periodicFetch, fetchInterval); +})(); diff --git a/assets/js/custom/core/mainLoop.js b/assets/js/custom/core/mainLoop.js new file mode 100644 index 0000000..46ec65e --- /dev/null +++ b/assets/js/custom/core/mainLoop.js @@ -0,0 +1,14 @@ +'use strict'; + + + + +let configure = () => undefined; + + + + + +export { + configure +} diff --git a/assets/js/custom/core/screen.js b/assets/js/custom/core/screen.js new file mode 100644 index 0000000..531e35d --- /dev/null +++ b/assets/js/custom/core/screen.js @@ -0,0 +1,28 @@ +'use strict'; + + +function configure(service, view) { + + const update_screen = (storage, time, config) => { + + let now = time.now(); + + console.log('Updating Screen with:'); + console.log(storage); + console.log(now); + console.log(config); + + view.update_main_slide( + storage, + now, + config); + }; + + + return update_screen; +}; + + +export { + configure +} diff --git a/assets/js/custom/core/time.js b/assets/js/custom/core/time.js new file mode 100644 index 0000000..ed80d9e --- /dev/null +++ b/assets/js/custom/core/time.js @@ -0,0 +1,43 @@ +'use strict'; + +// Fake 'now' date time for testing +// const fakeNow = null; + +// Test transitions +// const fakeNow = Date.parse("2024-03-01T18:53:50"); + +// Test Fr +const fakeNow = Date.parse("2024-03-01T19:00:00"); +// const fakeNow = Date.parse("2024-03-01T19:15:00"); +// const fakeNow = Date.parse("2024-03-01T20:15:00"); +// const fakeNow = Date.parse("2024-03-01T21:00:00"); + +// Test Sa +// const fakeNow = Date.parse("2024-03-02T11:00:00"); +// const fakeNow = Date.parse("2024-03-02T11:15:00"); +// const fakeNow = Date.parse("2024-03-02T12:00:00"); +// const fakeNow = Date.parse("2024-03-02T13:00:00"); + +// const fakeNow = Date.parse("2024-03-02T14:45:00"); +// const fakeNow = Date.parse("2024-03-02T15:30:00"); +// const fakeNow = Date.parse("2024-03-02T16:30:00"); + +// const fakeNow = Date.parse("2024-03-02T18:00:00"); +// const fakeNow = Date.parse("2024-03-02T19:00:00"); +// const fakeNow = Date.parse("2024-03-02T20:00:00"); +// const fakeNow = Date.parse("2024-03-02T20:15:00"); + + +const fakeTimeDelta = fakeNow === null ? 0 : fakeNow - Date.now(); + + +// Real 'now' date time for production +const nowJS = () => Date.now() + fakeTimeDelta; + +// Real 'now' date time for production as luxon DateTime object +const now = () => luxon.DateTime.fromMillis(nowJS()); + + +export { + now +} diff --git a/assets/js/custom/dom/clock.js b/assets/js/custom/dom/clock.js new file mode 100644 index 0000000..5a45ea9 --- /dev/null +++ b/assets/js/custom/dom/clock.js @@ -0,0 +1,21 @@ +'use strict'; + +const html = htm.bind(preact.h); + + +const update_main_slide = (data, time, config) => { + const hour = time.toFormat('HH'); + const minute = time.toFormat('mm'); + const sep = time.second % 2 === 0 ? ':' : '.'; + + const inner = html`
${hour}${sep}${minute}
`; + + const anchorElId = "clock"; + const el = document.getElementById(anchorElId); + preact.render(inner, el); +}; + + +export { + update_main_slide +}; diff --git a/assets/js/custom/dom/music.js b/assets/js/custom/dom/music.js new file mode 100644 index 0000000..140ba25 --- /dev/null +++ b/assets/js/custom/dom/music.js @@ -0,0 +1,38 @@ +'use strict'; + +import * as sol from "../../solight/sol.js"; + +import * as serv from "../services/service.js"; + + +const html = htm.bind(preact.h); + + +const music_credits = (config) => { + let inner; + if (sol.defined(config.music)) { + inner = html` +
+ Musik: + ${config.music.title} + von + ${config.music.artist} + Lizenz: + + ${config.music.licence} + + Link: + + ${config.music.url} + +
`; + } else { + inner = html``; + } + return inner; +}; + + +export { + music_credits +} diff --git a/assets/js/custom/dom/schedule.js b/assets/js/custom/dom/schedule.js new file mode 100644 index 0000000..65166c6 --- /dev/null +++ b/assets/js/custom/dom/schedule.js @@ -0,0 +1,170 @@ +'use strict'; + +import * as sol from "../../solight/sol.js"; + +import * as serv from "../services/service.js"; +import * as music from "./music.js"; + + +const html = htm.bind(preact.h); + +const max_events = 5; + +const title_string = 'Nächste Events:'; + +const local_room = 'Hier'; + + +const this_room = (config) => sol.optional(config.roomName); + + +const this_location = (config) => { + const here = this_room(config); + return sol.defined(here) ? html`@${here}` : html``; +}; + + +const schedule_table_header = () => + html` +
+
${title_string}
+
`; + + +const event_time = (event) => { + const esd = sol.eventStartDate(event); + const time = esd.setLocale('de').toLocaleString(luxon.DateTime.TIME_24_SIMPLE); + return html`
${time}
`; +}; + + +const event_location = (event, config) => { + const here_room = this_room(config); + const event_room = sol.eventRoomName(event); + + let inner; + if (sol.defined(here_room) && (event_room === here_room)) { + inner = html`
${local_room}
`; + } else { + inner = html`
${event_room}
`; + } + return inner; +}; + + +const event_title = (event) => { + const title = serv.fix_dash(sol.eventTitle(event)); + const ti = serv.track_index(sol.eventTrack(event)); + return html`
${title}
`; +}; + + +const event_speaker = (event) => { + const speaker = serv.fix_dash(serv.person_names_concat(sol.eventPersons(event))); + return html`
${speaker}
`; +}; + + +const schedule_table_event = (event, config) => + html` +
+ ${event_time(event)} + ${event_location(event, config)} +
+ ${event_title(event)} + ${event_speaker(event)} +
+
`; + + +const schedule_table_events = (events, config) => + html` +
+ ${events.map(e => schedule_table_event(e, config))} +
`; + + +const schedule_table = (events, config) => + html` + ${schedule_table_header()} + ${schedule_table_events(events, config)}`; + + +const header = (config) => + html`
${this_location(config)}
`; + + +const list_track = (track) => + html`${track}`; + + +const list_tracks = (tracks) => + html`
${tracks.map(t => list_track(t))}
`; + + +const footer = (tracks, config) => + html` + `; + + +const update_main_slide = (data, time, config) => { + // console.log("Updating Main Slide with:"); + // console.log(data); + // console.log(time); + // console.log(config); + + if (sol.defined(data.scheduleData)) { + const schedule = data.scheduleData; + + // const allDays = sol.allDays(schedule); + // const currentDays = sol.currentDays(allDays, time); + // const futureDays = sol.futureDays(allDays, time); + // const nextDays = currentDays.concat(futureDays); + + // const nextDaysSorted = sol.sortDaysByStartDate(nextDays, time); + // Hack: if we do not have a next day, all days are in the past and it does not matter. + // const nextDay = nextDaysSorted.length > 0 ? nextDaysSorted[0] : allDays[0]; + + const allEvents = sol.allEvents(schedule); + const nextEvents = allEvents; + //const nextEvents = allEventssol.eventsByDay(allEvents, nextDay); + + const dt = luxon.Duration.fromObject({minutes: 10}); + + const startedEvents = sol.startedEvents(nextEvents, time, dt); + const futureEvents = sol.futureEvents(nextEvents, time); + + // const upcomingEvents = futureEvents; + // const upcomingEvents = sol.futureEvents(nextEvents, time); + const upcomingEvents = sol.distinctEvents(startedEvents.concat(futureEvents)); + + const upcomingEventsSorted = sol.sortEventsByStartDate(upcomingEvents); + + const allTracks = sol.allTracks(schedule); + const tracks = allTracks.filter(t => t !== "Andere"); + + // Take first n events + const events = upcomingEventsSorted.slice(0, max_events); + + // Assemble dom + const inner = html` +
+ ${header(config)} + ${schedule_table(events, config)} + ${footer(tracks, config)} +
`; + + // Add main slide to info beamer + const anchorElId = "main"; + const el = document.getElementById(anchorElId); + preact.render(inner, el); + }; +}; + + +export { + update_main_slide +}; diff --git a/assets/js/custom/dom/speaker-info.js b/assets/js/custom/dom/speaker-info.js new file mode 100644 index 0000000..874d1ba --- /dev/null +++ b/assets/js/custom/dom/speaker-info.js @@ -0,0 +1,51 @@ +'use strict'; + +import * as sol from "../../solight/sol.js"; + +import * as serv from "../services/service.js"; + + +const html = htm.bind(preact.h); + + +const event_info = (event) => + html` +
+
+
${serv.fix_dash(serv.person_names_concat(sol.eventPersons(event)))}
+
+
`; + + +const update_main_slide = (data, time, config) => { + if (sol.defined(data.scheduleData)) { + const schedule = data.scheduleData; + + const thisRoom = config.roomName; + + // const dt = luxon.Duration.fromObject({minutes: 5}); + + const events = sol.allEvents(schedule); + const eventsHere = sol.eventsByRoomName(events, thisRoom); + + // const startingEventsHere = sol.startingEvents(eventsHere, time, dt); + // const currentEventsHere = sol.currentEvents(eventsHere, time); + // const endedEventsHere = sol.endedEvents(eventsHere, time, dt); + // const upcomingEventsHere = sol.distinctEvents(startingEventsHere.concat(currentEventsHere, endedEventsHere)); + + const upcomingEventsHere = sol.currentEvents(eventsHere, time); + + const inner = html` + ${upcomingEventsHere.slice(0,1).map(e => event_info(e))}`; + + // Add main slide to frame + const anchorElId = "main"; + const el = document.getElementById(anchorElId); + preact.render(inner, el); + }; +}; + + +export { + update_main_slide +}; diff --git a/assets/js/custom/dom/talk-info.js b/assets/js/custom/dom/talk-info.js new file mode 100644 index 0000000..2db4e3c --- /dev/null +++ b/assets/js/custom/dom/talk-info.js @@ -0,0 +1,56 @@ +'use strict'; + +import * as sol from "../../solight/sol.js"; + +import * as serv from "../services/service.js"; + + +const html = htm.bind(preact.h); + + +const event_info = (event) => { + const title = serv.fix_dash(sol.eventTitle(event)); + const names = serv.fix_dash(serv.person_names_concat(sol.eventPersons(event))); + return html` +
+
+
${title}
+
${names}
+
+
`; +}; + + +const update_main_slide = (data, time, config) => { + if (sol.defined(data.scheduleData)) { + const schedule = data.scheduleData; + + const thisRoom = config.roomName; + + // const dt = luxon.Duration.fromObject({minutes: 5}); + + const events = sol.allEvents(schedule); + const eventsHere = sol.eventsByRoomName(events, thisRoom); + + // const startingEventsHere = sol.startingEvents(eventsHere, time, dt); + // const currentEventsHere = sol.currentEvents(eventsHere, time); + // const endedEventsHere = sol.endedEvents(eventsHere, time, dt); + // const upcomingEventsHere = sol.distinctEvents(startingEventsHere.concat(currentEventsHere, endedEventsHere)); + + const upcomingEventsHere = sol.currentEvents(eventsHere, time); + + const inner = html` + ${upcomingEventsHere.slice(0,1).map(e => event_info(e))} + `; + + // Add main slide to frame + const anchorElId = "main"; + const el = document.getElementById(anchorElId); + preact.render(inner, el); + }; +}; + + +export { + update_main_slide +}; diff --git a/assets/js/custom/dom/upcoming-talk.js b/assets/js/custom/dom/upcoming-talk.js new file mode 100644 index 0000000..6208379 --- /dev/null +++ b/assets/js/custom/dom/upcoming-talk.js @@ -0,0 +1,123 @@ +'use strict'; + +import * as sol from "../../solight/sol.js"; + +import * as serv from "../services/service.js"; +import * as music from "./music.js"; + + +const html = htm.bind(preact.h); + +const nowString = 'Jetzt'; + +const minBioLength = 20; + +const event_persons = (persons) => + html`
${serv.fix_dash(serv.person_names_concat(persons))}:
`; + +const event_time = (event, time) => { + const esd = sol.eventStartDate(event); + const nowish = luxon.Interval.fromDateTimes(esd.minus({minutes: 1}), esd.plus({minutes: 1})); + const stime = nowish.contains(time) ? + nowString : + esd.setLocale('de').toRelative({base: time, unit: 'minutes'}); + + return html`
${stime}
`; +}; + +const event_meta = (event, time) => + html` +
+ ${event_persons(sol.eventPersons(event))} +
${serv.fix_dash(sol.eventTitle(event))}
+
${sol.eventSubtitle(event)}
+ ${event_time(event, time)} +
`; + +const event_description = (event) => { + const description = sol.eventAbstract(event); + const abstract = sol.eventAbstract(event); + + const atext = sol.defined(abstract) ? abstract : ""; + const dtext = sol.defined(description) ? description : ""; + + const text = atext.length >= dtext.length ? atext : dtext; + + return html` +
+
Beschreibung:
+
${text}
+
`; +}; + +const event_content = (event) => + html`
${event_description(event)}
`; + +const speaker_info = (speaker, count) => { + const name = serv.fix_dash(sol.personName(speaker)); + const bio = sol.personBiography(speaker); + + let inner; + if (sol.defined(bio) && bio.length >= minBioLength) { + inner = html` +
+
${name}
+
${bio}
+
`; + } else { + inner = html``; + } + return inner; +}; + +const speaker_meta = (event) => { + const speakers = sol.eventPersons(event); + const n = speakers.length; + return html`
${speakers.map(s => speaker_info(s, n))}
`; +}; + +const event_info = (event, time) => + html` +
+ ${event_meta(event, time)} +
+
+ ${event_content(event)} + ${speaker_meta(event)} +
`; + +const footer = (config) => + html``; + +const update_main_slide = (data, time, config) => { + if (sol.defined(data.scheduleData)) { + const schedule = data.scheduleData; + + const thisRoom = config.roomName; + + const dt = luxon.Duration.fromObject({minutes: 6}); + + const events = sol.allEvents(schedule); + const eventsHere = sol.eventsByRoomName(events, thisRoom); + const startingEventsHere = sol.startingEvents(eventsHere, time, dt); + const currentEventsHere = sol.currentEvents(eventsHere, time); + const endedEventsHere = sol.endedEvents(eventsHere, time, dt); + const upcomingEventsHere = sol.distinctEvents(startingEventsHere.concat(currentEventsHere, endedEventsHere)); + + const inner = html` +
+ ${upcomingEventsHere.slice(0,1).map(e => event_info(e, time))} + ${footer(config)} +
`; + + // Add main slide to frame + const anchorElId = "main"; + const el = document.getElementById(anchorElId); + preact.render(inner, el); + }; +}; + + +export { + update_main_slide +}; diff --git a/assets/js/custom/dom/voc-schedule-hall.js b/assets/js/custom/dom/voc-schedule-hall.js new file mode 100644 index 0000000..444f4f4 --- /dev/null +++ b/assets/js/custom/dom/voc-schedule-hall.js @@ -0,0 +1,112 @@ +'use strict'; + +import * as sol from "../../solight/sol.js"; + +import * as serv from "../services/service.js"; + +const html = htm.bind(preact.h); + + +const schedule_event_modus = (event) => + html`${serv.event_modus_string(event)}`; + +const schedule_persons = (persons) => + html`${persons.map(p => sol.personName(p)).join(', ')}`; + +const schedule_time = (event) => + html`${sol.eventStartDate(event).toFormat('HH:mm')} – ${sol.eventEndDate(event).toFormat('HH:mm')}`; + +const person_count_class = (count) => { + switch (true) { + case count === 1: return 'speaker-cnt-1'; + case count === 2: return 'speaker-cnt-2'; + case count === 3: return 'speaker-cnt-3'; + default: return 'speaker-cnt-many'; + } +}; + +const schedule_event = (event) => { + const dnrString = sol.eventDoNotRecord(event) ? '✘' : '✔'; + const dnrClass = sol.eventDoNotRecord(event) ? 'dnr-true' : 'dnr-false'; + const speakerCnt = sol.eventPersonCount(event); + const speakerCntClass = person_count_class(speakerCnt); + return html` + + ${sol.eventTitle(event).slice(0, 30)} + ${schedule_persons(sol.eventPersons(event))} + ${speakerCnt} + ${sol.eventType(event)} + ${schedule_time(event)} + ${dnrString} + `; +}; + +const schedule_room = (events, room) => { + const rn = sol.roomName(room); + const evs = sol.eventsByRoomName(events, rn); + const evss = sol.sortEventsByStartDate(evs); + + return html` +

Room: ${rn}

+ + + + + + + + + + ${evss.map(e => schedule_event(e))} +
TitleSpeakers#SpeakersTypeTimeRecord?
`; +}; + +const schedule_day = (con, events, room, day) => { + const dt = sol.dayStartDate(day); + const di = sol.dayIndex(day); + + const evs = sol.eventsByDayIndex(events, di); + // const rms = sol.roomsByDayIndex(con, rooms, di); + + return html` +

Day ${di}: ${dt.setLocale('de-DE').toFormat('EEEE')}

+ ${schedule_room(evs, room)}`; +}; + +const schedule_table = (schedule, thisRoomName) => { + const con = sol.conference(schedule); + + const days = sol.allDays(schedule); + const events = sol.allEvents(schedule); + const rooms = sol.allRooms(schedule); + const room = sol.roomsByName(rooms, thisRoomName).at(0); + + return html` +

Schedule (v ${sol.scheduleVersion(schedule)})

+ ${days.map(d => schedule_day(con, events, room, d))}`; +}; + + +const update_main_slide = (data, time, config) => { + console.log("Our data:"); + console.log(data); + + if (sol.defined(data.scheduleData)) { + const schedule = data.scheduleData; + + const thisRoomName = config.roomName; + + const inner = html` + ${schedule_table(schedule, thisRoomName)}`; + + // Add main slide to info beamer + const anchorElId = "main"; + const el = document.getElementById(anchorElId); + preact.render(inner, el); + }; +}; + + +export { + update_main_slide +}; diff --git a/assets/js/custom/dom/voc-schedule.js b/assets/js/custom/dom/voc-schedule.js new file mode 100644 index 0000000..42e6098 --- /dev/null +++ b/assets/js/custom/dom/voc-schedule.js @@ -0,0 +1,109 @@ +'use strict'; + +import * as sol from "../../solight/sol.js"; + +import * as serv from "../services/service.js"; + +const html = htm.bind(preact.h); + + +const schedule_event_modus = (event) => + html`${serv.event_modus_string(event)}`; + +const schedule_persons = (persons) => + html`${persons.map(p => sol.personName(p)).join(', ')}`; + +const schedule_time = (event) => + html`${sol.eventStartDate(event).toFormat('HH:mm')} – ${sol.eventEndDate(event).toFormat('HH:mm')}`; + +const person_count_class = (count) => { + switch (true) { + case count === 1: return 'speaker-cnt-1'; + case count === 2: return 'speaker-cnt-2'; + case count === 3: return 'speaker-cnt-3'; + default: return 'speaker-cnt-many'; + } +}; + +const schedule_event = (event) => { + const dnrString = sol.eventDoNotRecord(event) ? '✘' : '✔'; + const dnrClass = sol.eventDoNotRecord(event) ? 'dnr-true' : 'dnr-false'; + const speakerCnt = sol.eventPersonCount(event); + const speakerCntClass = person_count_class(speakerCnt); + return html` + + ${sol.eventTitle(event).slice(0, 30)} + ${schedule_persons(sol.eventPersons(event))} + ${speakerCnt} + ${sol.eventType(event)} + ${schedule_time(event)} + ${dnrString} + `; +}; + +const schedule_room = (events, room) => { + const rn = sol.roomName(room); + const evs = sol.eventsByRoomName(events, rn); + const evss = sol.sortEventsByStartDate(evs); + + return html` +

Room: ${rn}

+ + + + + + + + + + ${evss.map(e => schedule_event(e))} +
TitleSpeakers#SpeakersTypeTimeRecord?
`; +}; + +const schedule_day = (con, events, rooms, day) => { + const dt = sol.dayStartDate(day); + const di = sol.dayIndex(day); + + const evs = sol.eventsByDayIndex(events, di); + const rms = sol.roomsByDayIndex(con, rooms, di); + + return html` +

Day ${di}: ${dt.setLocale('de-DE').toFormat('EEEE')}

+ ${rms.map(r => schedule_room(evs, r))}`; +}; + +const schedule_table = (schedule) => { + const con = sol.conference(schedule); + + const days = sol.allDays(schedule); + const events = sol.allEvents(schedule); + const rooms = sol.allRooms(schedule); + + return html` +

Schedule (v ${sol.scheduleVersion(schedule)})

+ ${days.map(d => schedule_day(con, events, rooms, d))}`; +}; + + +const update_main_slide = (data, time) => { + console.log("Our data:"); + console.log(data); + + if (sol.defined(data.scheduleData)) { + const schedule = data.scheduleData; + + const inner = html` + ${schedule_table(schedule)}`; + + // Add main slide to info beamer + const anchorElId = "main"; + const el = document.getElementById(anchorElId); + preact.render(inner, el); + }; +}; + + +export { + update_main_slide +}; diff --git a/assets/js/custom/dom/voc-speaker.js b/assets/js/custom/dom/voc-speaker.js new file mode 100644 index 0000000..586a296 --- /dev/null +++ b/assets/js/custom/dom/voc-speaker.js @@ -0,0 +1,56 @@ +'use strict'; + +import * as sol from "../../solight/sol.js"; + +import * as serv from "../services/service.js"; + +const html = htm.bind(preact.h); + + +const person_row = (events, person) => + html` + + ${sol.personName(person)} + `; + + +const persons_table = (events, persons) => { + const ps = sol.sortPersonsByName(persons); + return html` +

Persons (${ps.length})

+ + + + + ${ps.map(p => person_row(events, p))} +
Name
`; +}; + + +const persons_overview = (schedule) => { + const persons = sol.allPersons(schedule); + const events = sol.allEvents(schedule); + return html` +

Schedule (v ${sol.scheduleVersion(schedule)})

+ ${persons_table(events, persons)}`; +}; + + +const update_main_slide = (data, time) => { + if (sol.defined(data.scheduleData)) { + const schedule = data.scheduleData; + + const inner = html` + ${persons_overview(schedule)}`; + + // Add main slide to info beamer + const anchorElId = "main"; + const el = document.getElementById(anchorElId); + preact.render(inner, el); + }; +}; + + +export { + update_main_slide +}; diff --git a/assets/js/custom/dom/voc-talks.js b/assets/js/custom/dom/voc-talks.js new file mode 100644 index 0000000..b20fb26 --- /dev/null +++ b/assets/js/custom/dom/voc-talks.js @@ -0,0 +1,68 @@ +'use strict'; + +import * as sol from "../../solight/sol.js"; + +import * as serv from "../services/service.js"; + +const html = htm.bind(preact.h); + + +const speaker = (event) => { + const speaker = sol.eventPersons(event); + const names = speaker.map(s => sol.personName(s)).join(", "); + return html`${names}`; +}; + +const num_speaker = (event) => + sol.eventPersons(event).length; + +const event_row = (event) => + html` + + ${sol.eventTitle(event)} + ${speaker(event)} + ${num_speaker(event)} + `; + + +const talks_table = (events) => { + const evs = sol.sortEventsByStartDate(events); + return html` +

Events (${evs.length})

+ + + + + + + ${evs.map(e => event_row(e))} +
Event TitlePerson(s)#Person(s)
`; +}; + + +const talks_overview = (schedule) => { + const events = sol.allEvents(schedule); + return html` +

Schedule (v ${sol.scheduleVersion(schedule)})

+ ${talks_table(events)}`; +}; + + +const update_main_slide = (data, time) => { + if (sol.defined(data.scheduleData)) { + const schedule = data.scheduleData; + + const inner = html` + ${talks_overview(schedule)}`; + + // Add main slide to info beamer + const anchorElId = "main"; + const el = document.getElementById(anchorElId); + preact.render(inner, el); + }; +}; + + +export { + update_main_slide +}; diff --git a/assets/js/custom/nodes/schedule-hall1.js b/assets/js/custom/nodes/schedule-hall1.js new file mode 100644 index 0000000..f88285a --- /dev/null +++ b/assets/js/custom/nodes/schedule-hall1.js @@ -0,0 +1,55 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as domman from "../dom/schedule.js"; +import * as clk from "../dom/clock.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + + +// Main Loop +let screen_update = sc.configure(serv, domman); +let clock_update = sc.configure(serv, clk); + + +let cfg = { + "roomName": "Festsaal", + "music": { + "artist": "luss", + "title": "dub techno session #5", + "licence": "CC-BY", + "url": "https://lussdub.bandcamp.com/" + } +}; + + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + clock_update(storage, ti, cfg); + // update_screen(); + // setTimeout(main_loop, 1 * 1000); + setTimeout(main_loop, 1 * 50); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/schedule-hall2.js b/assets/js/custom/nodes/schedule-hall2.js new file mode 100644 index 0000000..e4a4fbc --- /dev/null +++ b/assets/js/custom/nodes/schedule-hall2.js @@ -0,0 +1,55 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as domman from "../dom/schedule.js"; +import * as clk from "../dom/clock.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + + +// Main Loop +let screen_update = sc.configure(serv, domman); +let clock_update = sc.configure(serv, clk); + + +let cfg = { + "roomName": "Bankettsaal", + "music": { + "artist": "luss", + "title": "dub techno session #5", + "licence": "CC-BY", + "url": "https://lussdub.bandcamp.com/" + } +}; + + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + clock_update(storage, ti, cfg); + // update_screen(); + // setTimeout(main_loop, 1 * 1000); + setTimeout(main_loop, 1 * 50); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/schedule-hall3.js b/assets/js/custom/nodes/schedule-hall3.js new file mode 100644 index 0000000..9315cbc --- /dev/null +++ b/assets/js/custom/nodes/schedule-hall3.js @@ -0,0 +1,55 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as domman from "../dom/schedule.js"; +import * as clk from "../dom/clock.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + + +// Main Loop +let screen_update = sc.configure(serv, domman); +let clock_update = sc.configure(serv, clk); + + +let cfg = { + "roomName": "Tanzsaal", + "music": { + "artist": "luss", + "title": "dub techno session #5", + "licence": "CC-BY", + "url": "https://lussdub.bandcamp.com/" + } +}; + + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + clock_update(storage, ti, cfg); + // update_screen(); + // setTimeout(main_loop, 1 * 1000); + setTimeout(main_loop, 1 * 50); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/schedule.js b/assets/js/custom/nodes/schedule.js new file mode 100644 index 0000000..40e861c --- /dev/null +++ b/assets/js/custom/nodes/schedule.js @@ -0,0 +1,54 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as domman from "../dom/schedule.js"; +import * as clk from "../dom/clock.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + + +// Main Loop +let screen_update = sc.configure(serv, domman); +let clock_update = sc.configure(serv, clk); + + +let cfg = { + "music": { + "artist": "luss", + "title": "dub techno session #5", + "licence": "CC-BY", + "url": "https://lussdub.bandcamp.com/" + } +}; + + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + clock_update(storage, ti, cfg); + // update_screen(); + // setTimeout(main_loop, 1 * 1000); + setTimeout(main_loop, 1 * 50); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/speaker-info-hall1.js b/assets/js/custom/nodes/speaker-info-hall1.js new file mode 100644 index 0000000..c38547d --- /dev/null +++ b/assets/js/custom/nodes/speaker-info-hall1.js @@ -0,0 +1,42 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as dom from "../dom/speaker-info.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + +let cfg = { + "roomName": "Festsaal" +}; + + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + +// Main Loop +let screen_update = sc.configure(serv, dom); + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + setTimeout(main_loop, 1 * 1000); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/speaker-info-hall2.js b/assets/js/custom/nodes/speaker-info-hall2.js new file mode 100644 index 0000000..17027ea --- /dev/null +++ b/assets/js/custom/nodes/speaker-info-hall2.js @@ -0,0 +1,42 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as dom from "../dom/speaker-info.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + +let cfg = { + "roomName": "Bankettsaal" +}; + + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + +// Main Loop +let screen_update = sc.configure(serv, dom); + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + setTimeout(main_loop, 1 * 1000); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/speaker-info-hall3.js b/assets/js/custom/nodes/speaker-info-hall3.js new file mode 100644 index 0000000..904640a --- /dev/null +++ b/assets/js/custom/nodes/speaker-info-hall3.js @@ -0,0 +1,42 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as dom from "../dom/speaker-info.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + +let cfg = { + "roomName": "Tanzsaal" +}; + + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + +// Main Loop +let screen_update = sc.configure(serv, dom); + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + setTimeout(main_loop, 1 * 1000); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/talk-info-hall1.js b/assets/js/custom/nodes/talk-info-hall1.js new file mode 100644 index 0000000..b77207f --- /dev/null +++ b/assets/js/custom/nodes/talk-info-hall1.js @@ -0,0 +1,42 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as dom from "../dom/talk-info.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + +let cfg = { + "roomName": "Festsaal" +}; + + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + +// Main Loop +let screen_update = sc.configure(serv, dom); + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + setTimeout(main_loop, 1 * 1000); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/talk-info-hall2.js b/assets/js/custom/nodes/talk-info-hall2.js new file mode 100644 index 0000000..3ad49c4 --- /dev/null +++ b/assets/js/custom/nodes/talk-info-hall2.js @@ -0,0 +1,42 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as dom from "../dom/talk-info.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + +let cfg = { + "roomName": "Bankettsaal" +}; + + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + +// Main Loop +let screen_update = sc.configure(serv, dom); + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + setTimeout(main_loop, 1 * 1000); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/talk-info-hall3.js b/assets/js/custom/nodes/talk-info-hall3.js new file mode 100644 index 0000000..488e983 --- /dev/null +++ b/assets/js/custom/nodes/talk-info-hall3.js @@ -0,0 +1,42 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as dom from "../dom/talk-info.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + +let cfg = { + "roomName": "Tanzsaal" +}; + + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + +// Main Loop +let screen_update = sc.configure(serv, dom); + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + setTimeout(main_loop, 1 * 1000); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/upcoming-talk-hall1.js b/assets/js/custom/nodes/upcoming-talk-hall1.js new file mode 100644 index 0000000..7d8b4cd --- /dev/null +++ b/assets/js/custom/nodes/upcoming-talk-hall1.js @@ -0,0 +1,48 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as dom from "../dom/upcoming-talk.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + +let cfg = { + "roomName": "Festsaal", + "music": { + "artist": "luss", + "title": "dub techno session #5", + "licence": "CC-BY", + "url": "https://lussdub.bandcamp.com/" + } +}; + + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + +// Main Loop +let screen_update = sc.configure(serv, dom); + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + setTimeout(main_loop, 1 * 1000); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/upcoming-talk-hall2.js b/assets/js/custom/nodes/upcoming-talk-hall2.js new file mode 100644 index 0000000..9b8eea0 --- /dev/null +++ b/assets/js/custom/nodes/upcoming-talk-hall2.js @@ -0,0 +1,48 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as dom from "../dom/upcoming-talk.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + +let cfg = { + "roomName": "Bankettsaal", + "music": { + "artist": "luss", + "title": "dub techno session #5", + "licence": "CC-BY", + "url": "https://lussdub.bandcamp.com/" + } +}; + + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + +// Main Loop +let screen_update = sc.configure(serv, dom); + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + setTimeout(main_loop, 1 * 1000); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/upcoming-talk-hall3.js b/assets/js/custom/nodes/upcoming-talk-hall3.js new file mode 100644 index 0000000..abc457e --- /dev/null +++ b/assets/js/custom/nodes/upcoming-talk-hall3.js @@ -0,0 +1,48 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as dom from "../dom/upcoming-talk.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + +let cfg = { + "roomName": "Tanzsaal", + "music": { + "artist": "luss", + "title": "dub techno session #5", + "licence": "CC-BY", + "url": "https://lussdub.bandcamp.com/" + } +}; + + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + +// Main Loop +let screen_update = sc.configure(serv, dom); + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + setTimeout(main_loop, 1 * 1000); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/voc-schedule-hall1.js b/assets/js/custom/nodes/voc-schedule-hall1.js new file mode 100644 index 0000000..3f52a90 --- /dev/null +++ b/assets/js/custom/nodes/voc-schedule-hall1.js @@ -0,0 +1,45 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as domman from "../dom/voc-schedule-hall.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + + +// Main Loop +let screen_update = sc.configure(serv, domman); + + +let cfg = { + "roomName": "Festsaal", +}; + + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + // update_screen(); + setTimeout(main_loop, 1 * 100); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/voc-schedule-hall2.js b/assets/js/custom/nodes/voc-schedule-hall2.js new file mode 100644 index 0000000..81e8e61 --- /dev/null +++ b/assets/js/custom/nodes/voc-schedule-hall2.js @@ -0,0 +1,45 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as domman from "../dom/voc-schedule-hall.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + + +// Main Loop +let screen_update = sc.configure(serv, domman); + + +let cfg = { + "roomName": "Bankettsaal", +}; + + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + // update_screen(); + setTimeout(main_loop, 1 * 100); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/voc-schedule-hall3.js b/assets/js/custom/nodes/voc-schedule-hall3.js new file mode 100644 index 0000000..84f7f45 --- /dev/null +++ b/assets/js/custom/nodes/voc-schedule-hall3.js @@ -0,0 +1,45 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as domman from "../dom/voc-schedule-hall.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + + +// Main Loop +let screen_update = sc.configure(serv, domman); + + +let cfg = { + "roomName": "Tanzsaal", +}; + + +// Just do it +function main_loop() { + screen_update(storage, ti, cfg); + // update_screen(); + setTimeout(main_loop, 1 * 100); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/voc-schedule.js b/assets/js/custom/nodes/voc-schedule.js new file mode 100644 index 0000000..3bfaf34 --- /dev/null +++ b/assets/js/custom/nodes/voc-schedule.js @@ -0,0 +1,40 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as domman from "../dom/voc-schedule.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + + +// Main Loop +let screen_update = sc.configure(serv ,domman); + + +// Just do it +function main_loop() { + screen_update(storage, ti); + // update_screen(); + setTimeout(main_loop, 1 * 100); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/voc-speaker.js b/assets/js/custom/nodes/voc-speaker.js new file mode 100644 index 0000000..3afbc21 --- /dev/null +++ b/assets/js/custom/nodes/voc-speaker.js @@ -0,0 +1,40 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as domman from "../dom/voc-speaker.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + + +// Main Loop +let screen_update = sc.configure(serv ,domman); + + +// Just do it +function main_loop() { + screen_update(storage, ti); + // update_screen(); + setTimeout(main_loop, 1 * 100); +}; + +main_loop(); diff --git a/assets/js/custom/nodes/voc-talks.js b/assets/js/custom/nodes/voc-talks.js new file mode 100644 index 0000000..7778e52 --- /dev/null +++ b/assets/js/custom/nodes/voc-talks.js @@ -0,0 +1,40 @@ +'use strict'; + + +import * as fe from "../core/fetcher.js"; + +import * as ti from "../core/time.js"; + +import * as sc from "../core/screen.js"; + +// Import services +import * as serv from "../services/service.js"; + +// Import views +import * as domman from "../dom/voc-talks.js"; + + +// Empty JSON lists for data +let storage = { + scheduleData: undefined +}; + + +let do_fetch = fe.configure({}, serv); + +do_fetch(storage); + + + +// Main Loop +let screen_update = sc.configure(serv ,domman); + + +// Just do it +function main_loop() { + screen_update(storage, ti); + // update_screen(); + setTimeout(main_loop, 1 * 100); +}; + +main_loop(); diff --git a/assets/js/custom/services/service.js b/assets/js/custom/services/service.js new file mode 100644 index 0000000..cd79fe0 --- /dev/null +++ b/assets/js/custom/services/service.js @@ -0,0 +1,49 @@ +'use strict'; + +import * as sol from "../../solight/sol.js"; + + +const process_data = (scheduleFile) => + sol.processScheduleFile(scheduleFile); + + +const event_modus_string = (event) => { + const questionId = 1392; + const answers = sol.eventAnswers(event); + const answer = answers.filter(a => a.get('question') === questionId); + const modus = answer.length > 0 ? answer[0].get('answer') : '???'; + return modus; +}; + + +const trackIndexMap = new Map([ + ['Andere', 0], + ['Ethik, Wissenschaft, Kultur & Gesellschaft', 1], + ['Recht & Politik', 2], + ['Digitale Selbstverteidigung', 3], + ['Netzwerke, Security, Hard- & Software', 4]]); + +const track_index = (track) => + trackIndexMap.get(track); + + +const person_names_concat = (persons) => + // persons.map(p => sol.personName(p)).join(', '); + // persons.map(p => sol.personName(p)).join(' & '); + persons.map(p => sol.personName(p)).join(' · '); + + +const ndash_fix_regexp = RegExp('\\s+-\\s+'); +const ndash_fix_replacement = ' – '; + +const fix_dash = (string) => + string.replace(ndash_fix_regexp, ndash_fix_replacement); + + +export { + process_data, + event_modus_string, + track_index, + person_names_concat, + fix_dash +} diff --git a/assets/js/htm/htm.d.ts b/assets/js/htm/htm.d.ts new file mode 100644 index 0000000..d5108ca --- /dev/null +++ b/assets/js/htm/htm.d.ts @@ -0,0 +1,6 @@ +declare const htm: { + bind( + h: (type: any, props: Record, ...children: any[]) => HResult + ): (strings: TemplateStringsArray, ...values: any[]) => HResult | HResult[]; +}; +export default htm; diff --git a/assets/js/htm/htm.js b/assets/js/htm/htm.js new file mode 100644 index 0000000..7c81f4b --- /dev/null +++ b/assets/js/htm/htm.js @@ -0,0 +1 @@ +!function(){var n=function(t,e,s,u){var r;e[0]=0;for(var h=1;h=5&&((u||!n&&5===s)&&(h.push(s,0,u,e),s=6),n&&(h.push(s,n,0,e),s=6)),u=""},a=0;a"===t?(s=1,u=""):u=t+u[0]:r?t===r?r="":u+=t:'"'===t||"'"===t?r=t:">"===t?(p(),s=1):s&&("="===t?(s=5,e=u,u=""):"/"===t&&(s<5||">"===n[a][o+1])?(p(),3===s&&(h=h[0]),s=h,(h=h[0]).push(2,0,s),s=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(p(),s=2):u+=t),3===s&&"!--"===u&&(s=4,h=h[0])}return p(),h}(e)),s),arguments,[])).length>1?s:s[0]};"undefined"!=typeof module?module.exports=e:self.htm=e}(); diff --git a/assets/js/htm/htm.mjs b/assets/js/htm/htm.mjs new file mode 100644 index 0000000..4a6228f --- /dev/null +++ b/assets/js/htm/htm.mjs @@ -0,0 +1 @@ +var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=""},a=0;a"===t?(r=1,e=""):e=t+e[0]:u?t===u?u="":e+=t:'"'===t||"'"===t?u=t:">"===t?(p(),r=1):r&&("="===t?(r=5,s=e,e=""):"/"===t&&(r<5||">"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(p(),r=2):e+=t),3===r&&"!--"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]} diff --git a/assets/js/htm/htm.module.js b/assets/js/htm/htm.module.js new file mode 100644 index 0000000..4a6228f --- /dev/null +++ b/assets/js/htm/htm.module.js @@ -0,0 +1 @@ +var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=""},a=0;a"===t?(r=1,e=""):e=t+e[0]:u?t===u?u="":e+=t:'"'===t||"'"===t?u=t:">"===t?(p(),r=1):r&&("="===t?(r=5,s=e,e=""):"/"===t&&(r<5||">"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(p(),r=2):e+=t),3===r&&"!--"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]} diff --git a/assets/js/htm/htm.umd.js b/assets/js/htm/htm.umd.js new file mode 100644 index 0000000..81bc89f --- /dev/null +++ b/assets/js/htm/htm.umd.js @@ -0,0 +1 @@ +!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):n.htm=e()}(this,function(){var n=function(e,t,u,s){var r;t[0]=0;for(var p=1;p=5&&((s||!n&&5===u)&&(p.push(u,0,s,t),u=6),n&&(p.push(u,n,0,t),u=6)),s=""},o=0;o"===e?(u=1,s=""):s=e+s[0]:r?e===r?r="":s+=e:'"'===e||"'"===e?r=e:">"===e?(h(),u=1):u&&("="===e?(u=5,t=s,s=""):"/"===e&&(u<5||">"===n[o][f+1])?(h(),3===u&&(p=p[0]),u=p,(p=p[0]).push(2,0,u),u=0):" "===e||"\t"===e||"\n"===e||"\r"===e?(h(),u=2):s+=e),3===u&&"!--"===s&&(u=4,p=p[0])}return h(),p}(t)),u),arguments,[])).length>1?u:u[0]}}); diff --git a/assets/js/luxon/luxon.es6.js b/assets/js/luxon/luxon.es6.js new file mode 100644 index 0000000..8c91a1e --- /dev/null +++ b/assets/js/luxon/luxon.es6.js @@ -0,0 +1,6978 @@ +// these aren't really private, but nor are they really useful to document + +/** + * @private + */ +class LuxonError extends Error {} + +/** + * @private + */ +class InvalidDateTimeError extends LuxonError { + constructor(reason) { + super(`Invalid DateTime: ${reason.toMessage()}`); + } +} + +/** + * @private + */ +class InvalidIntervalError extends LuxonError { + constructor(reason) { + super(`Invalid Interval: ${reason.toMessage()}`); + } +} + +/** + * @private + */ +class InvalidDurationError extends LuxonError { + constructor(reason) { + super(`Invalid Duration: ${reason.toMessage()}`); + } +} + +/** + * @private + */ +class ConflictingSpecificationError extends LuxonError {} + +/** + * @private + */ +class InvalidUnitError extends LuxonError { + constructor(unit) { + super(`Invalid unit ${unit}`); + } +} + +/** + * @private + */ +class InvalidArgumentError extends LuxonError {} + +/** + * @private + */ +class ZoneIsAbstractError extends LuxonError { + constructor() { + super("Zone is an abstract class"); + } +} + +/** + * @private + */ + +const n = "numeric", + s = "short", + l = "long"; + +const DATE_SHORT = { + year: n, + month: n, + day: n, +}; + +const DATE_MED = { + year: n, + month: s, + day: n, +}; + +const DATE_MED_WITH_WEEKDAY = { + year: n, + month: s, + day: n, + weekday: s, +}; + +const DATE_FULL = { + year: n, + month: l, + day: n, +}; + +const DATE_HUGE = { + year: n, + month: l, + day: n, + weekday: l, +}; + +const TIME_SIMPLE = { + hour: n, + minute: n, +}; + +const TIME_WITH_SECONDS = { + hour: n, + minute: n, + second: n, +}; + +const TIME_WITH_SHORT_OFFSET = { + hour: n, + minute: n, + second: n, + timeZoneName: s, +}; + +const TIME_WITH_LONG_OFFSET = { + hour: n, + minute: n, + second: n, + timeZoneName: l, +}; + +const TIME_24_SIMPLE = { + hour: n, + minute: n, + hourCycle: "h23", +}; + +const TIME_24_WITH_SECONDS = { + hour: n, + minute: n, + second: n, + hourCycle: "h23", +}; + +const TIME_24_WITH_SHORT_OFFSET = { + hour: n, + minute: n, + second: n, + hourCycle: "h23", + timeZoneName: s, +}; + +const TIME_24_WITH_LONG_OFFSET = { + hour: n, + minute: n, + second: n, + hourCycle: "h23", + timeZoneName: l, +}; + +const DATETIME_SHORT = { + year: n, + month: n, + day: n, + hour: n, + minute: n, +}; + +const DATETIME_SHORT_WITH_SECONDS = { + year: n, + month: n, + day: n, + hour: n, + minute: n, + second: n, +}; + +const DATETIME_MED = { + year: n, + month: s, + day: n, + hour: n, + minute: n, +}; + +const DATETIME_MED_WITH_SECONDS = { + year: n, + month: s, + day: n, + hour: n, + minute: n, + second: n, +}; + +const DATETIME_MED_WITH_WEEKDAY = { + year: n, + month: s, + day: n, + weekday: s, + hour: n, + minute: n, +}; + +const DATETIME_FULL = { + year: n, + month: l, + day: n, + hour: n, + minute: n, + timeZoneName: s, +}; + +const DATETIME_FULL_WITH_SECONDS = { + year: n, + month: l, + day: n, + hour: n, + minute: n, + second: n, + timeZoneName: s, +}; + +const DATETIME_HUGE = { + year: n, + month: l, + day: n, + weekday: l, + hour: n, + minute: n, + timeZoneName: l, +}; + +const DATETIME_HUGE_WITH_SECONDS = { + year: n, + month: l, + day: n, + weekday: l, + hour: n, + minute: n, + second: n, + timeZoneName: l, +}; + +/* + This is just a junk drawer, containing anything used across multiple classes. + Because Luxon is small(ish), this should stay small and we won't worry about splitting + it up into, say, parsingUtil.js and basicUtil.js and so on. But they are divided up by feature area. +*/ + +/** + * @private + */ + +// TYPES + +function isUndefined(o) { + return typeof o === "undefined"; +} + +function isNumber(o) { + return typeof o === "number"; +} + +function isInteger(o) { + return typeof o === "number" && o % 1 === 0; +} + +function isString(o) { + return typeof o === "string"; +} + +function isDate(o) { + return Object.prototype.toString.call(o) === "[object Date]"; +} + +// CAPABILITIES + +function hasRelative() { + try { + return typeof Intl !== "undefined" && !!Intl.RelativeTimeFormat; + } catch (e) { + return false; + } +} + +// OBJECTS AND ARRAYS + +function maybeArray(thing) { + return Array.isArray(thing) ? thing : [thing]; +} + +function bestBy(arr, by, compare) { + if (arr.length === 0) { + return undefined; + } + return arr.reduce((best, next) => { + const pair = [by(next), next]; + if (!best) { + return pair; + } else if (compare(best[0], pair[0]) === best[0]) { + return best; + } else { + return pair; + } + }, null)[1]; +} + +function pick(obj, keys) { + return keys.reduce((a, k) => { + a[k] = obj[k]; + return a; + }, {}); +} + +function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); +} + +// NUMBERS AND STRINGS + +function integerBetween(thing, bottom, top) { + return isInteger(thing) && thing >= bottom && thing <= top; +} + +// x % n but takes the sign of n instead of x +function floorMod(x, n) { + return x - n * Math.floor(x / n); +} + +function padStart(input, n = 2) { + const isNeg = input < 0; + let padded; + if (isNeg) { + padded = "-" + ("" + -input).padStart(n, "0"); + } else { + padded = ("" + input).padStart(n, "0"); + } + return padded; +} + +function parseInteger(string) { + if (isUndefined(string) || string === null || string === "") { + return undefined; + } else { + return parseInt(string, 10); + } +} + +function parseFloating(string) { + if (isUndefined(string) || string === null || string === "") { + return undefined; + } else { + return parseFloat(string); + } +} + +function parseMillis(fraction) { + // Return undefined (instead of 0) in these cases, where fraction is not set + if (isUndefined(fraction) || fraction === null || fraction === "") { + return undefined; + } else { + const f = parseFloat("0." + fraction) * 1000; + return Math.floor(f); + } +} + +function roundTo(number, digits, towardZero = false) { + const factor = 10 ** digits, + rounder = towardZero ? Math.trunc : Math.round; + return rounder(number * factor) / factor; +} + +// DATE BASICS + +function isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); +} + +function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; +} + +function daysInMonth(year, month) { + const modMonth = floorMod(month - 1, 12) + 1, + modYear = year + (month - modMonth) / 12; + + if (modMonth === 2) { + return isLeapYear(modYear) ? 29 : 28; + } else { + return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][modMonth - 1]; + } +} + +// covert a calendar object to a local timestamp (epoch, but with the offset baked in) +function objToLocalTS(obj) { + let d = Date.UTC( + obj.year, + obj.month - 1, + obj.day, + obj.hour, + obj.minute, + obj.second, + obj.millisecond + ); + + // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that + if (obj.year < 100 && obj.year >= 0) { + d = new Date(d); + d.setUTCFullYear(d.getUTCFullYear() - 1900); + } + return +d; +} + +function weeksInWeekYear(weekYear) { + const p1 = + (weekYear + + Math.floor(weekYear / 4) - + Math.floor(weekYear / 100) + + Math.floor(weekYear / 400)) % + 7, + last = weekYear - 1, + p2 = (last + Math.floor(last / 4) - Math.floor(last / 100) + Math.floor(last / 400)) % 7; + return p1 === 4 || p2 === 3 ? 53 : 52; +} + +function untruncateYear(year) { + if (year > 99) { + return year; + } else return year > 60 ? 1900 + year : 2000 + year; +} + +// PARSING + +function parseZoneInfo(ts, offsetFormat, locale, timeZone = null) { + const date = new Date(ts), + intlOpts = { + hourCycle: "h23", + year: "numeric", + month: "2-digit", + day: "2-digit", + hour: "2-digit", + minute: "2-digit", + }; + + if (timeZone) { + intlOpts.timeZone = timeZone; + } + + const modified = { timeZoneName: offsetFormat, ...intlOpts }; + + const parsed = new Intl.DateTimeFormat(locale, modified) + .formatToParts(date) + .find((m) => m.type.toLowerCase() === "timezonename"); + return parsed ? parsed.value : null; +} + +// signedOffset('-5', '30') -> -330 +function signedOffset(offHourStr, offMinuteStr) { + let offHour = parseInt(offHourStr, 10); + + // don't || this because we want to preserve -0 + if (Number.isNaN(offHour)) { + offHour = 0; + } + + const offMin = parseInt(offMinuteStr, 10) || 0, + offMinSigned = offHour < 0 || Object.is(offHour, -0) ? -offMin : offMin; + return offHour * 60 + offMinSigned; +} + +// COERCION + +function asNumber(value) { + const numericValue = Number(value); + if (typeof value === "boolean" || value === "" || Number.isNaN(numericValue)) + throw new InvalidArgumentError(`Invalid unit value ${value}`); + return numericValue; +} + +function normalizeObject(obj, normalizer) { + const normalized = {}; + for (const u in obj) { + if (hasOwnProperty(obj, u)) { + const v = obj[u]; + if (v === undefined || v === null) continue; + normalized[normalizer(u)] = asNumber(v); + } + } + return normalized; +} + +function formatOffset(offset, format) { + const hours = Math.trunc(Math.abs(offset / 60)), + minutes = Math.trunc(Math.abs(offset % 60)), + sign = offset >= 0 ? "+" : "-"; + + switch (format) { + case "short": + return `${sign}${padStart(hours, 2)}:${padStart(minutes, 2)}`; + case "narrow": + return `${sign}${hours}${minutes > 0 ? `:${minutes}` : ""}`; + case "techie": + return `${sign}${padStart(hours, 2)}${padStart(minutes, 2)}`; + default: + throw new RangeError(`Value format ${format} is out of range for property format`); + } +} + +function timeObject(obj) { + return pick(obj, ["hour", "minute", "second", "millisecond"]); +} + +const ianaRegex = /[A-Za-z_+-]{1,256}(:?\/[A-Za-z0-9_+-]{1,256}(\/[A-Za-z0-9_+-]{1,256})?)?/; + +/** + * @private + */ + +const monthsLong = [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", +]; + +const monthsShort = [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", +]; + +const monthsNarrow = ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"]; + +function months(length) { + switch (length) { + case "narrow": + return [...monthsNarrow]; + case "short": + return [...monthsShort]; + case "long": + return [...monthsLong]; + case "numeric": + return ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]; + case "2-digit": + return ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"]; + default: + return null; + } +} + +const weekdaysLong = [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday", +]; + +const weekdaysShort = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]; + +const weekdaysNarrow = ["M", "T", "W", "T", "F", "S", "S"]; + +function weekdays(length) { + switch (length) { + case "narrow": + return [...weekdaysNarrow]; + case "short": + return [...weekdaysShort]; + case "long": + return [...weekdaysLong]; + case "numeric": + return ["1", "2", "3", "4", "5", "6", "7"]; + default: + return null; + } +} + +const meridiems = ["AM", "PM"]; + +const erasLong = ["Before Christ", "Anno Domini"]; + +const erasShort = ["BC", "AD"]; + +const erasNarrow = ["B", "A"]; + +function eras(length) { + switch (length) { + case "narrow": + return [...erasNarrow]; + case "short": + return [...erasShort]; + case "long": + return [...erasLong]; + default: + return null; + } +} + +function meridiemForDateTime(dt) { + return meridiems[dt.hour < 12 ? 0 : 1]; +} + +function weekdayForDateTime(dt, length) { + return weekdays(length)[dt.weekday - 1]; +} + +function monthForDateTime(dt, length) { + return months(length)[dt.month - 1]; +} + +function eraForDateTime(dt, length) { + return eras(length)[dt.year < 0 ? 0 : 1]; +} + +function formatRelativeTime(unit, count, numeric = "always", narrow = false) { + const units = { + years: ["year", "yr."], + quarters: ["quarter", "qtr."], + months: ["month", "mo."], + weeks: ["week", "wk."], + days: ["day", "day", "days"], + hours: ["hour", "hr."], + minutes: ["minute", "min."], + seconds: ["second", "sec."], + }; + + const lastable = ["hours", "minutes", "seconds"].indexOf(unit) === -1; + + if (numeric === "auto" && lastable) { + const isDay = unit === "days"; + switch (count) { + case 1: + return isDay ? "tomorrow" : `next ${units[unit][0]}`; + case -1: + return isDay ? "yesterday" : `last ${units[unit][0]}`; + case 0: + return isDay ? "today" : `this ${units[unit][0]}`; + } + } + + const isInPast = Object.is(count, -0) || count < 0, + fmtValue = Math.abs(count), + singular = fmtValue === 1, + lilUnits = units[unit], + fmtUnit = narrow + ? singular + ? lilUnits[1] + : lilUnits[2] || lilUnits[1] + : singular + ? units[unit][0] + : unit; + return isInPast ? `${fmtValue} ${fmtUnit} ago` : `in ${fmtValue} ${fmtUnit}`; +} + +function stringifyTokens(splits, tokenToString) { + let s = ""; + for (const token of splits) { + if (token.literal) { + s += token.val; + } else { + s += tokenToString(token.val); + } + } + return s; +} + +const macroTokenToFormatOpts = { + D: DATE_SHORT, + DD: DATE_MED, + DDD: DATE_FULL, + DDDD: DATE_HUGE, + t: TIME_SIMPLE, + tt: TIME_WITH_SECONDS, + ttt: TIME_WITH_SHORT_OFFSET, + tttt: TIME_WITH_LONG_OFFSET, + T: TIME_24_SIMPLE, + TT: TIME_24_WITH_SECONDS, + TTT: TIME_24_WITH_SHORT_OFFSET, + TTTT: TIME_24_WITH_LONG_OFFSET, + f: DATETIME_SHORT, + ff: DATETIME_MED, + fff: DATETIME_FULL, + ffff: DATETIME_HUGE, + F: DATETIME_SHORT_WITH_SECONDS, + FF: DATETIME_MED_WITH_SECONDS, + FFF: DATETIME_FULL_WITH_SECONDS, + FFFF: DATETIME_HUGE_WITH_SECONDS, +}; + +/** + * @private + */ + +class Formatter { + static create(locale, opts = {}) { + return new Formatter(locale, opts); + } + + static parseFormat(fmt) { + let current = null, + currentFull = "", + bracketed = false; + const splits = []; + for (let i = 0; i < fmt.length; i++) { + const c = fmt.charAt(i); + if (c === "'") { + if (currentFull.length > 0) { + splits.push({ literal: bracketed, val: currentFull }); + } + current = null; + currentFull = ""; + bracketed = !bracketed; + } else if (bracketed) { + currentFull += c; + } else if (c === current) { + currentFull += c; + } else { + if (currentFull.length > 0) { + splits.push({ literal: false, val: currentFull }); + } + currentFull = c; + current = c; + } + } + + if (currentFull.length > 0) { + splits.push({ literal: bracketed, val: currentFull }); + } + + return splits; + } + + static macroTokenToFormatOpts(token) { + return macroTokenToFormatOpts[token]; + } + + constructor(locale, formatOpts) { + this.opts = formatOpts; + this.loc = locale; + this.systemLoc = null; + } + + formatWithSystemDefault(dt, opts) { + if (this.systemLoc === null) { + this.systemLoc = this.loc.redefaultToSystem(); + } + const df = this.systemLoc.dtFormatter(dt, { ...this.opts, ...opts }); + return df.format(); + } + + formatDateTime(dt, opts = {}) { + const df = this.loc.dtFormatter(dt, { ...this.opts, ...opts }); + return df.format(); + } + + formatDateTimeParts(dt, opts = {}) { + const df = this.loc.dtFormatter(dt, { ...this.opts, ...opts }); + return df.formatToParts(); + } + + resolvedOptions(dt, opts = {}) { + const df = this.loc.dtFormatter(dt, { ...this.opts, ...opts }); + return df.resolvedOptions(); + } + + num(n, p = 0) { + // we get some perf out of doing this here, annoyingly + if (this.opts.forceSimple) { + return padStart(n, p); + } + + const opts = { ...this.opts }; + + if (p > 0) { + opts.padTo = p; + } + + return this.loc.numberFormatter(opts).format(n); + } + + formatDateTimeFromString(dt, fmt) { + const knownEnglish = this.loc.listingMode() === "en", + useDateTimeFormatter = this.loc.outputCalendar && this.loc.outputCalendar !== "gregory", + string = (opts, extract) => this.loc.extract(dt, opts, extract), + formatOffset = (opts) => { + if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) { + return "Z"; + } + + return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : ""; + }, + meridiem = () => + knownEnglish + ? meridiemForDateTime(dt) + : string({ hour: "numeric", hourCycle: "h12" }, "dayperiod"), + month = (length, standalone) => + knownEnglish + ? monthForDateTime(dt, length) + : string(standalone ? { month: length } : { month: length, day: "numeric" }, "month"), + weekday = (length, standalone) => + knownEnglish + ? weekdayForDateTime(dt, length) + : string( + standalone ? { weekday: length } : { weekday: length, month: "long", day: "numeric" }, + "weekday" + ), + maybeMacro = (token) => { + const formatOpts = Formatter.macroTokenToFormatOpts(token); + if (formatOpts) { + return this.formatWithSystemDefault(dt, formatOpts); + } else { + return token; + } + }, + era = (length) => + knownEnglish ? eraForDateTime(dt, length) : string({ era: length }, "era"), + tokenToString = (token) => { + // Where possible: http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles + switch (token) { + // ms + case "S": + return this.num(dt.millisecond); + case "u": + // falls through + case "SSS": + return this.num(dt.millisecond, 3); + // seconds + case "s": + return this.num(dt.second); + case "ss": + return this.num(dt.second, 2); + // fractional seconds + case "uu": + return this.num(Math.floor(dt.millisecond / 10), 2); + case "uuu": + return this.num(Math.floor(dt.millisecond / 100)); + // minutes + case "m": + return this.num(dt.minute); + case "mm": + return this.num(dt.minute, 2); + // hours + case "h": + return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12); + case "hh": + return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2); + case "H": + return this.num(dt.hour); + case "HH": + return this.num(dt.hour, 2); + // offset + case "Z": + // like +6 + return formatOffset({ format: "narrow", allowZ: this.opts.allowZ }); + case "ZZ": + // like +06:00 + return formatOffset({ format: "short", allowZ: this.opts.allowZ }); + case "ZZZ": + // like +0600 + return formatOffset({ format: "techie", allowZ: this.opts.allowZ }); + case "ZZZZ": + // like EST + return dt.zone.offsetName(dt.ts, { format: "short", locale: this.loc.locale }); + case "ZZZZZ": + // like Eastern Standard Time + return dt.zone.offsetName(dt.ts, { format: "long", locale: this.loc.locale }); + // zone + case "z": + // like America/New_York + return dt.zoneName; + // meridiems + case "a": + return meridiem(); + // dates + case "d": + return useDateTimeFormatter ? string({ day: "numeric" }, "day") : this.num(dt.day); + case "dd": + return useDateTimeFormatter ? string({ day: "2-digit" }, "day") : this.num(dt.day, 2); + // weekdays - standalone + case "c": + // like 1 + return this.num(dt.weekday); + case "ccc": + // like 'Tues' + return weekday("short", true); + case "cccc": + // like 'Tuesday' + return weekday("long", true); + case "ccccc": + // like 'T' + return weekday("narrow", true); + // weekdays - format + case "E": + // like 1 + return this.num(dt.weekday); + case "EEE": + // like 'Tues' + return weekday("short", false); + case "EEEE": + // like 'Tuesday' + return weekday("long", false); + case "EEEEE": + // like 'T' + return weekday("narrow", false); + // months - standalone + case "L": + // like 1 + return useDateTimeFormatter + ? string({ month: "numeric", day: "numeric" }, "month") + : this.num(dt.month); + case "LL": + // like 01, doesn't seem to work + return useDateTimeFormatter + ? string({ month: "2-digit", day: "numeric" }, "month") + : this.num(dt.month, 2); + case "LLL": + // like Jan + return month("short", true); + case "LLLL": + // like January + return month("long", true); + case "LLLLL": + // like J + return month("narrow", true); + // months - format + case "M": + // like 1 + return useDateTimeFormatter + ? string({ month: "numeric" }, "month") + : this.num(dt.month); + case "MM": + // like 01 + return useDateTimeFormatter + ? string({ month: "2-digit" }, "month") + : this.num(dt.month, 2); + case "MMM": + // like Jan + return month("short", false); + case "MMMM": + // like January + return month("long", false); + case "MMMMM": + // like J + return month("narrow", false); + // years + case "y": + // like 2014 + return useDateTimeFormatter ? string({ year: "numeric" }, "year") : this.num(dt.year); + case "yy": + // like 14 + return useDateTimeFormatter + ? string({ year: "2-digit" }, "year") + : this.num(dt.year.toString().slice(-2), 2); + case "yyyy": + // like 0012 + return useDateTimeFormatter + ? string({ year: "numeric" }, "year") + : this.num(dt.year, 4); + case "yyyyyy": + // like 000012 + return useDateTimeFormatter + ? string({ year: "numeric" }, "year") + : this.num(dt.year, 6); + // eras + case "G": + // like AD + return era("short"); + case "GG": + // like Anno Domini + return era("long"); + case "GGGGG": + return era("narrow"); + case "kk": + return this.num(dt.weekYear.toString().slice(-2), 2); + case "kkkk": + return this.num(dt.weekYear, 4); + case "W": + return this.num(dt.weekNumber); + case "WW": + return this.num(dt.weekNumber, 2); + case "o": + return this.num(dt.ordinal); + case "ooo": + return this.num(dt.ordinal, 3); + case "q": + // like 1 + return this.num(dt.quarter); + case "qq": + // like 01 + return this.num(dt.quarter, 2); + case "X": + return this.num(Math.floor(dt.ts / 1000)); + case "x": + return this.num(dt.ts); + default: + return maybeMacro(token); + } + }; + + return stringifyTokens(Formatter.parseFormat(fmt), tokenToString); + } + + formatDurationFromString(dur, fmt) { + const tokenToField = (token) => { + switch (token[0]) { + case "S": + return "millisecond"; + case "s": + return "second"; + case "m": + return "minute"; + case "h": + return "hour"; + case "d": + return "day"; + case "M": + return "month"; + case "y": + return "year"; + default: + return null; + } + }, + tokenToString = (lildur) => (token) => { + const mapped = tokenToField(token); + if (mapped) { + return this.num(lildur.get(mapped), token.length); + } else { + return token; + } + }, + tokens = Formatter.parseFormat(fmt), + realTokens = tokens.reduce( + (found, { literal, val }) => (literal ? found : found.concat(val)), + [] + ), + collapsed = dur.shiftTo(...realTokens.map(tokenToField).filter((t) => t)); + return stringifyTokens(tokens, tokenToString(collapsed)); + } +} + +class Invalid { + constructor(reason, explanation) { + this.reason = reason; + this.explanation = explanation; + } + + toMessage() { + if (this.explanation) { + return `${this.reason}: ${this.explanation}`; + } else { + return this.reason; + } + } +} + +/** + * @interface + */ +class Zone { + /** + * The type of zone + * @abstract + * @type {string} + */ + get type() { + throw new ZoneIsAbstractError(); + } + + /** + * The name of this zone. + * @abstract + * @type {string} + */ + get name() { + throw new ZoneIsAbstractError(); + } + + /** + * Returns whether the offset is known to be fixed for the whole year. + * @abstract + * @type {boolean} + */ + get isUniversal() { + throw new ZoneIsAbstractError(); + } + + /** + * Returns the offset's common name (such as EST) at the specified timestamp + * @abstract + * @param {number} ts - Epoch milliseconds for which to get the name + * @param {Object} opts - Options to affect the format + * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'. + * @param {string} opts.locale - What locale to return the offset name in. + * @return {string} + */ + offsetName(ts, opts) { + throw new ZoneIsAbstractError(); + } + + /** + * Returns the offset's value as a string + * @abstract + * @param {number} ts - Epoch milliseconds for which to get the offset + * @param {string} format - What style of offset to return. + * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively + * @return {string} + */ + formatOffset(ts, format) { + throw new ZoneIsAbstractError(); + } + + /** + * Return the offset in minutes for this zone at the specified timestamp. + * @abstract + * @param {number} ts - Epoch milliseconds for which to compute the offset + * @return {number} + */ + offset(ts) { + throw new ZoneIsAbstractError(); + } + + /** + * Return whether this Zone is equal to another zone + * @abstract + * @param {Zone} otherZone - the zone to compare + * @return {boolean} + */ + equals(otherZone) { + throw new ZoneIsAbstractError(); + } + + /** + * Return whether this Zone is valid. + * @abstract + * @type {boolean} + */ + get isValid() { + throw new ZoneIsAbstractError(); + } +} + +let singleton$1 = null; + +/** + * Represents the local zone for this JavaScript environment. + * @implements {Zone} + */ +class SystemZone extends Zone { + /** + * Get a singleton instance of the local zone + * @return {SystemZone} + */ + static get instance() { + if (singleton$1 === null) { + singleton$1 = new SystemZone(); + } + return singleton$1; + } + + /** @override **/ + get type() { + return "system"; + } + + /** @override **/ + get name() { + return new Intl.DateTimeFormat().resolvedOptions().timeZone; + } + + /** @override **/ + get isUniversal() { + return false; + } + + /** @override **/ + offsetName(ts, { format, locale }) { + return parseZoneInfo(ts, format, locale); + } + + /** @override **/ + formatOffset(ts, format) { + return formatOffset(this.offset(ts), format); + } + + /** @override **/ + offset(ts) { + return -new Date(ts).getTimezoneOffset(); + } + + /** @override **/ + equals(otherZone) { + return otherZone.type === "system"; + } + + /** @override **/ + get isValid() { + return true; + } +} + +const matchingRegex = RegExp(`^${ianaRegex.source}$`); + +let dtfCache = {}; +function makeDTF(zone) { + if (!dtfCache[zone]) { + dtfCache[zone] = new Intl.DateTimeFormat("en-US", { + hour12: false, + timeZone: zone, + year: "numeric", + month: "2-digit", + day: "2-digit", + hour: "2-digit", + minute: "2-digit", + second: "2-digit", + }); + } + return dtfCache[zone]; +} + +const typeToPos = { + year: 0, + month: 1, + day: 2, + hour: 3, + minute: 4, + second: 5, +}; + +function hackyOffset(dtf, date) { + const formatted = dtf.format(date).replace(/\u200E/g, ""), + parsed = /(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(formatted), + [, fMonth, fDay, fYear, fHour, fMinute, fSecond] = parsed; + return [fYear, fMonth, fDay, fHour, fMinute, fSecond]; +} + +function partsOffset(dtf, date) { + const formatted = dtf.formatToParts(date), + filled = []; + for (let i = 0; i < formatted.length; i++) { + const { type, value } = formatted[i], + pos = typeToPos[type]; + + if (!isUndefined(pos)) { + filled[pos] = parseInt(value, 10); + } + } + return filled; +} + +let ianaZoneCache = {}; +/** + * A zone identified by an IANA identifier, like America/New_York + * @implements {Zone} + */ +class IANAZone extends Zone { + /** + * @param {string} name - Zone name + * @return {IANAZone} + */ + static create(name) { + if (!ianaZoneCache[name]) { + ianaZoneCache[name] = new IANAZone(name); + } + return ianaZoneCache[name]; + } + + /** + * Reset local caches. Should only be necessary in testing scenarios. + * @return {void} + */ + static resetCache() { + ianaZoneCache = {}; + dtfCache = {}; + } + + /** + * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that. + * @param {string} s - The string to check validity on + * @example IANAZone.isValidSpecifier("America/New_York") //=> true + * @example IANAZone.isValidSpecifier("Fantasia/Castle") //=> true + * @example IANAZone.isValidSpecifier("Sport~~blorp") //=> false + * @return {boolean} + */ + static isValidSpecifier(s) { + return !!(s && s.match(matchingRegex)); + } + + /** + * Returns whether the provided string identifies a real zone + * @param {string} zone - The string to check + * @example IANAZone.isValidZone("America/New_York") //=> true + * @example IANAZone.isValidZone("Fantasia/Castle") //=> false + * @example IANAZone.isValidZone("Sport~~blorp") //=> false + * @return {boolean} + */ + static isValidZone(zone) { + if (!zone) { + return false; + } + try { + new Intl.DateTimeFormat("en-US", { timeZone: zone }).format(); + return true; + } catch (e) { + return false; + } + } + + constructor(name) { + super(); + /** @private **/ + this.zoneName = name; + /** @private **/ + this.valid = IANAZone.isValidZone(name); + } + + /** @override **/ + get type() { + return "iana"; + } + + /** @override **/ + get name() { + return this.zoneName; + } + + /** @override **/ + get isUniversal() { + return false; + } + + /** @override **/ + offsetName(ts, { format, locale }) { + return parseZoneInfo(ts, format, locale, this.name); + } + + /** @override **/ + formatOffset(ts, format) { + return formatOffset(this.offset(ts), format); + } + + /** @override **/ + offset(ts) { + const date = new Date(ts); + + if (isNaN(date)) return NaN; + + const dtf = makeDTF(this.name), + [year, month, day, hour, minute, second] = dtf.formatToParts + ? partsOffset(dtf, date) + : hackyOffset(dtf, date); + + // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat + const adjustedHour = hour === 24 ? 0 : hour; + + const asUTC = objToLocalTS({ + year, + month, + day, + hour: adjustedHour, + minute, + second, + millisecond: 0, + }); + + let asTS = +date; + const over = asTS % 1000; + asTS -= over >= 0 ? over : 1000 + over; + return (asUTC - asTS) / (60 * 1000); + } + + /** @override **/ + equals(otherZone) { + return otherZone.type === "iana" && otherZone.name === this.name; + } + + /** @override **/ + get isValid() { + return this.valid; + } +} + +let singleton = null; + +/** + * A zone with a fixed offset (meaning no DST) + * @implements {Zone} + */ +class FixedOffsetZone extends Zone { + /** + * Get a singleton instance of UTC + * @return {FixedOffsetZone} + */ + static get utcInstance() { + if (singleton === null) { + singleton = new FixedOffsetZone(0); + } + return singleton; + } + + /** + * Get an instance with a specified offset + * @param {number} offset - The offset in minutes + * @return {FixedOffsetZone} + */ + static instance(offset) { + return offset === 0 ? FixedOffsetZone.utcInstance : new FixedOffsetZone(offset); + } + + /** + * Get an instance of FixedOffsetZone from a UTC offset string, like "UTC+6" + * @param {string} s - The offset string to parse + * @example FixedOffsetZone.parseSpecifier("UTC+6") + * @example FixedOffsetZone.parseSpecifier("UTC+06") + * @example FixedOffsetZone.parseSpecifier("UTC-6:00") + * @return {FixedOffsetZone} + */ + static parseSpecifier(s) { + if (s) { + const r = s.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i); + if (r) { + return new FixedOffsetZone(signedOffset(r[1], r[2])); + } + } + return null; + } + + constructor(offset) { + super(); + /** @private **/ + this.fixed = offset; + } + + /** @override **/ + get type() { + return "fixed"; + } + + /** @override **/ + get name() { + return this.fixed === 0 ? "UTC" : `UTC${formatOffset(this.fixed, "narrow")}`; + } + + /** @override **/ + offsetName() { + return this.name; + } + + /** @override **/ + formatOffset(ts, format) { + return formatOffset(this.fixed, format); + } + + /** @override **/ + get isUniversal() { + return true; + } + + /** @override **/ + offset() { + return this.fixed; + } + + /** @override **/ + equals(otherZone) { + return otherZone.type === "fixed" && otherZone.fixed === this.fixed; + } + + /** @override **/ + get isValid() { + return true; + } +} + +/** + * A zone that failed to parse. You should never need to instantiate this. + * @implements {Zone} + */ +class InvalidZone extends Zone { + constructor(zoneName) { + super(); + /** @private */ + this.zoneName = zoneName; + } + + /** @override **/ + get type() { + return "invalid"; + } + + /** @override **/ + get name() { + return this.zoneName; + } + + /** @override **/ + get isUniversal() { + return false; + } + + /** @override **/ + offsetName() { + return null; + } + + /** @override **/ + formatOffset() { + return ""; + } + + /** @override **/ + offset() { + return NaN; + } + + /** @override **/ + equals() { + return false; + } + + /** @override **/ + get isValid() { + return false; + } +} + +/** + * @private + */ + +function normalizeZone(input, defaultZone) { + if (isUndefined(input) || input === null) { + return defaultZone; + } else if (input instanceof Zone) { + return input; + } else if (isString(input)) { + const lowered = input.toLowerCase(); + if (lowered === "local" || lowered === "system") return defaultZone; + else if (lowered === "utc" || lowered === "gmt") return FixedOffsetZone.utcInstance; + else if (IANAZone.isValidSpecifier(lowered)) return IANAZone.create(input); + else return FixedOffsetZone.parseSpecifier(lowered) || new InvalidZone(input); + } else if (isNumber(input)) { + return FixedOffsetZone.instance(input); + } else if (typeof input === "object" && input.offset && typeof input.offset === "number") { + // This is dumb, but the instanceof check above doesn't seem to really work + // so we're duck checking it + return input; + } else { + return new InvalidZone(input); + } +} + +let now = () => Date.now(), + defaultZone = "system", + defaultLocale = null, + defaultNumberingSystem = null, + defaultOutputCalendar = null, + throwOnInvalid; + +/** + * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here. + */ +class Settings { + /** + * Get the callback for returning the current timestamp. + * @type {function} + */ + static get now() { + return now; + } + + /** + * Set the callback for returning the current timestamp. + * The function should return a number, which will be interpreted as an Epoch millisecond count + * @type {function} + * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future + * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time + */ + static set now(n) { + now = n; + } + + /** + * Set the default time zone to create DateTimes in. Does not affect existing instances. + * Use the value "system" to reset this value to the system's time zone. + * @type {string} + */ + static set defaultZone(zone) { + defaultZone = zone; + } + + /** + * Get the default time zone object currently used to create DateTimes. Does not affect existing instances. + * The default value is the system's time zone (the one set on the machine that runs this code). + * @type {Zone} + */ + static get defaultZone() { + return normalizeZone(defaultZone, SystemZone.instance); + } + + /** + * Get the default locale to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + static get defaultLocale() { + return defaultLocale; + } + + /** + * Set the default locale to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + static set defaultLocale(locale) { + defaultLocale = locale; + } + + /** + * Get the default numbering system to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + static get defaultNumberingSystem() { + return defaultNumberingSystem; + } + + /** + * Set the default numbering system to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + static set defaultNumberingSystem(numberingSystem) { + defaultNumberingSystem = numberingSystem; + } + + /** + * Get the default output calendar to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + static get defaultOutputCalendar() { + return defaultOutputCalendar; + } + + /** + * Set the default output calendar to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + static set defaultOutputCalendar(outputCalendar) { + defaultOutputCalendar = outputCalendar; + } + + /** + * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals + * @type {boolean} + */ + static get throwOnInvalid() { + return throwOnInvalid; + } + + /** + * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals + * @type {boolean} + */ + static set throwOnInvalid(t) { + throwOnInvalid = t; + } + + /** + * Reset Luxon's global caches. Should only be necessary in testing scenarios. + * @return {void} + */ + static resetCaches() { + Locale.resetCache(); + IANAZone.resetCache(); + } +} + +// todo - remap caching + +let intlLFCache = {}; +function getCachedLF(locString, opts = {}) { + const key = JSON.stringify([locString, opts]); + let dtf = intlLFCache[key]; + if (!dtf) { + dtf = new Intl.ListFormat(locString, opts); + intlLFCache[key] = dtf; + } + return dtf; +} + +let intlDTCache = {}; +function getCachedDTF(locString, opts = {}) { + const key = JSON.stringify([locString, opts]); + let dtf = intlDTCache[key]; + if (!dtf) { + dtf = new Intl.DateTimeFormat(locString, opts); + intlDTCache[key] = dtf; + } + return dtf; +} + +let intlNumCache = {}; +function getCachedINF(locString, opts = {}) { + const key = JSON.stringify([locString, opts]); + let inf = intlNumCache[key]; + if (!inf) { + inf = new Intl.NumberFormat(locString, opts); + intlNumCache[key] = inf; + } + return inf; +} + +let intlRelCache = {}; +function getCachedRTF(locString, opts = {}) { + const { base, ...cacheKeyOpts } = opts; // exclude `base` from the options + const key = JSON.stringify([locString, cacheKeyOpts]); + let inf = intlRelCache[key]; + if (!inf) { + inf = new Intl.RelativeTimeFormat(locString, opts); + intlRelCache[key] = inf; + } + return inf; +} + +let sysLocaleCache = null; +function systemLocale() { + if (sysLocaleCache) { + return sysLocaleCache; + } else { + sysLocaleCache = new Intl.DateTimeFormat().resolvedOptions().locale; + return sysLocaleCache; + } +} + +function parseLocaleString(localeStr) { + // I really want to avoid writing a BCP 47 parser + // see, e.g. https://github.com/wooorm/bcp-47 + // Instead, we'll do this: + + // a) if the string has no -u extensions, just leave it alone + // b) if it does, use Intl to resolve everything + // c) if Intl fails, try again without the -u + + const uIndex = localeStr.indexOf("-u-"); + if (uIndex === -1) { + return [localeStr]; + } else { + let options; + const smaller = localeStr.substring(0, uIndex); + try { + options = getCachedDTF(localeStr).resolvedOptions(); + } catch (e) { + options = getCachedDTF(smaller).resolvedOptions(); + } + + const { numberingSystem, calendar } = options; + // return the smaller one so that we can append the calendar and numbering overrides to it + return [smaller, numberingSystem, calendar]; + } +} + +function intlConfigString(localeStr, numberingSystem, outputCalendar) { + if (outputCalendar || numberingSystem) { + localeStr += "-u"; + + if (outputCalendar) { + localeStr += `-ca-${outputCalendar}`; + } + + if (numberingSystem) { + localeStr += `-nu-${numberingSystem}`; + } + return localeStr; + } else { + return localeStr; + } +} + +function mapMonths(f) { + const ms = []; + for (let i = 1; i <= 12; i++) { + const dt = DateTime.utc(2016, i, 1); + ms.push(f(dt)); + } + return ms; +} + +function mapWeekdays(f) { + const ms = []; + for (let i = 1; i <= 7; i++) { + const dt = DateTime.utc(2016, 11, 13 + i); + ms.push(f(dt)); + } + return ms; +} + +function listStuff(loc, length, defaultOK, englishFn, intlFn) { + const mode = loc.listingMode(defaultOK); + + if (mode === "error") { + return null; + } else if (mode === "en") { + return englishFn(length); + } else { + return intlFn(length); + } +} + +function supportsFastNumbers(loc) { + if (loc.numberingSystem && loc.numberingSystem !== "latn") { + return false; + } else { + return ( + loc.numberingSystem === "latn" || + !loc.locale || + loc.locale.startsWith("en") || + new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem === "latn" + ); + } +} + +/** + * @private + */ + +class PolyNumberFormatter { + constructor(intl, forceSimple, opts) { + this.padTo = opts.padTo || 0; + this.floor = opts.floor || false; + + const { padTo, floor, ...otherOpts } = opts; + + if (!forceSimple || Object.keys(otherOpts).length > 0) { + const intlOpts = { useGrouping: false, ...opts }; + if (opts.padTo > 0) intlOpts.minimumIntegerDigits = opts.padTo; + this.inf = getCachedINF(intl, intlOpts); + } + } + + format(i) { + if (this.inf) { + const fixed = this.floor ? Math.floor(i) : i; + return this.inf.format(fixed); + } else { + // to match the browser's numberformatter defaults + const fixed = this.floor ? Math.floor(i) : roundTo(i, 3); + return padStart(fixed, this.padTo); + } + } +} + +/** + * @private + */ + +class PolyDateFormatter { + constructor(dt, intl, opts) { + this.opts = opts; + + let z; + if (dt.zone.isUniversal) { + // UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like. + // That is why fixed-offset TZ is set to that unless it is: + // 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT. + // 2. Unsupported by the browser: + // - some do not support Etc/ + // - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata + const gmtOffset = -1 * (dt.offset / 60); + const offsetZ = gmtOffset >= 0 ? `Etc/GMT+${gmtOffset}` : `Etc/GMT${gmtOffset}`; + if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) { + z = offsetZ; + this.dt = dt; + } else { + // Not all fixed-offset zones like Etc/+4:30 are present in tzdata. + // So we have to make do. Two cases: + // 1. The format options tell us to show the zone. We can't do that, so the best + // we can do is format the date in UTC. + // 2. The format options don't tell us to show the zone. Then we can adjust them + // the time and tell the formatter to show it to us in UTC, so that the time is right + // and the bad zone doesn't show up. + z = "UTC"; + if (opts.timeZoneName) { + this.dt = dt; + } else { + this.dt = dt.offset === 0 ? dt : DateTime.fromMillis(dt.ts + dt.offset * 60 * 1000); + } + } + } else if (dt.zone.type === "system") { + this.dt = dt; + } else { + this.dt = dt; + z = dt.zone.name; + } + + const intlOpts = { ...this.opts }; + if (z) { + intlOpts.timeZone = z; + } + this.dtf = getCachedDTF(intl, intlOpts); + } + + format() { + return this.dtf.format(this.dt.toJSDate()); + } + + formatToParts() { + return this.dtf.formatToParts(this.dt.toJSDate()); + } + + resolvedOptions() { + return this.dtf.resolvedOptions(); + } +} + +/** + * @private + */ +class PolyRelFormatter { + constructor(intl, isEnglish, opts) { + this.opts = { style: "long", ...opts }; + if (!isEnglish && hasRelative()) { + this.rtf = getCachedRTF(intl, opts); + } + } + + format(count, unit) { + if (this.rtf) { + return this.rtf.format(count, unit); + } else { + return formatRelativeTime(unit, count, this.opts.numeric, this.opts.style !== "long"); + } + } + + formatToParts(count, unit) { + if (this.rtf) { + return this.rtf.formatToParts(count, unit); + } else { + return []; + } + } +} + +/** + * @private + */ + +class Locale { + static fromOpts(opts) { + return Locale.create(opts.locale, opts.numberingSystem, opts.outputCalendar, opts.defaultToEN); + } + + static create(locale, numberingSystem, outputCalendar, defaultToEN = false) { + const specifiedLocale = locale || Settings.defaultLocale; + // the system locale is useful for human readable strings but annoying for parsing/formatting known formats + const localeR = specifiedLocale || (defaultToEN ? "en-US" : systemLocale()); + const numberingSystemR = numberingSystem || Settings.defaultNumberingSystem; + const outputCalendarR = outputCalendar || Settings.defaultOutputCalendar; + return new Locale(localeR, numberingSystemR, outputCalendarR, specifiedLocale); + } + + static resetCache() { + sysLocaleCache = null; + intlDTCache = {}; + intlNumCache = {}; + intlRelCache = {}; + } + + static fromObject({ locale, numberingSystem, outputCalendar } = {}) { + return Locale.create(locale, numberingSystem, outputCalendar); + } + + constructor(locale, numbering, outputCalendar, specifiedLocale) { + const [parsedLocale, parsedNumberingSystem, parsedOutputCalendar] = parseLocaleString(locale); + + this.locale = parsedLocale; + this.numberingSystem = numbering || parsedNumberingSystem || null; + this.outputCalendar = outputCalendar || parsedOutputCalendar || null; + this.intl = intlConfigString(this.locale, this.numberingSystem, this.outputCalendar); + + this.weekdaysCache = { format: {}, standalone: {} }; + this.monthsCache = { format: {}, standalone: {} }; + this.meridiemCache = null; + this.eraCache = {}; + + this.specifiedLocale = specifiedLocale; + this.fastNumbersCached = null; + } + + get fastNumbers() { + if (this.fastNumbersCached == null) { + this.fastNumbersCached = supportsFastNumbers(this); + } + + return this.fastNumbersCached; + } + + listingMode() { + const isActuallyEn = this.isEnglish(); + const hasNoWeirdness = + (this.numberingSystem === null || this.numberingSystem === "latn") && + (this.outputCalendar === null || this.outputCalendar === "gregory"); + return isActuallyEn && hasNoWeirdness ? "en" : "intl"; + } + + clone(alts) { + if (!alts || Object.getOwnPropertyNames(alts).length === 0) { + return this; + } else { + return Locale.create( + alts.locale || this.specifiedLocale, + alts.numberingSystem || this.numberingSystem, + alts.outputCalendar || this.outputCalendar, + alts.defaultToEN || false + ); + } + } + + redefaultToEN(alts = {}) { + return this.clone({ ...alts, defaultToEN: true }); + } + + redefaultToSystem(alts = {}) { + return this.clone({ ...alts, defaultToEN: false }); + } + + months(length, format = false, defaultOK = true) { + return listStuff(this, length, defaultOK, months, () => { + const intl = format ? { month: length, day: "numeric" } : { month: length }, + formatStr = format ? "format" : "standalone"; + if (!this.monthsCache[formatStr][length]) { + this.monthsCache[formatStr][length] = mapMonths((dt) => this.extract(dt, intl, "month")); + } + return this.monthsCache[formatStr][length]; + }); + } + + weekdays(length, format = false, defaultOK = true) { + return listStuff(this, length, defaultOK, weekdays, () => { + const intl = format + ? { weekday: length, year: "numeric", month: "long", day: "numeric" } + : { weekday: length }, + formatStr = format ? "format" : "standalone"; + if (!this.weekdaysCache[formatStr][length]) { + this.weekdaysCache[formatStr][length] = mapWeekdays((dt) => + this.extract(dt, intl, "weekday") + ); + } + return this.weekdaysCache[formatStr][length]; + }); + } + + meridiems(defaultOK = true) { + return listStuff( + this, + undefined, + defaultOK, + () => meridiems, + () => { + // In theory there could be aribitrary day periods. We're gonna assume there are exactly two + // for AM and PM. This is probably wrong, but it's makes parsing way easier. + if (!this.meridiemCache) { + const intl = { hour: "numeric", hourCycle: "h12" }; + this.meridiemCache = [DateTime.utc(2016, 11, 13, 9), DateTime.utc(2016, 11, 13, 19)].map( + (dt) => this.extract(dt, intl, "dayperiod") + ); + } + + return this.meridiemCache; + } + ); + } + + eras(length, defaultOK = true) { + return listStuff(this, length, defaultOK, eras, () => { + const intl = { era: length }; + + // This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates + // to definitely enumerate them. + if (!this.eraCache[length]) { + this.eraCache[length] = [DateTime.utc(-40, 1, 1), DateTime.utc(2017, 1, 1)].map((dt) => + this.extract(dt, intl, "era") + ); + } + + return this.eraCache[length]; + }); + } + + extract(dt, intlOpts, field) { + const df = this.dtFormatter(dt, intlOpts), + results = df.formatToParts(), + matching = results.find((m) => m.type.toLowerCase() === field); + return matching ? matching.value : null; + } + + numberFormatter(opts = {}) { + // this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave) + // (in contrast, the rest of the condition is used heavily) + return new PolyNumberFormatter(this.intl, opts.forceSimple || this.fastNumbers, opts); + } + + dtFormatter(dt, intlOpts = {}) { + return new PolyDateFormatter(dt, this.intl, intlOpts); + } + + relFormatter(opts = {}) { + return new PolyRelFormatter(this.intl, this.isEnglish(), opts); + } + + listFormatter(opts = {}) { + return getCachedLF(this.intl, opts); + } + + isEnglish() { + return ( + this.locale === "en" || + this.locale.toLowerCase() === "en-us" || + new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us") + ); + } + + equals(other) { + return ( + this.locale === other.locale && + this.numberingSystem === other.numberingSystem && + this.outputCalendar === other.outputCalendar + ); + } +} + +/* + * This file handles parsing for well-specified formats. Here's how it works: + * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match. + * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object + * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence. + * Extractors can take a "cursor" representing the offset in the match to look at. This makes it easy to combine extractors. + * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions. + * Some extractions are super dumb and simpleParse and fromStrings help DRY them. + */ + +function combineRegexes(...regexes) { + const full = regexes.reduce((f, r) => f + r.source, ""); + return RegExp(`^${full}$`); +} + +function combineExtractors(...extractors) { + return (m) => + extractors + .reduce( + ([mergedVals, mergedZone, cursor], ex) => { + const [val, zone, next] = ex(m, cursor); + return [{ ...mergedVals, ...val }, mergedZone || zone, next]; + }, + [{}, null, 1] + ) + .slice(0, 2); +} + +function parse(s, ...patterns) { + if (s == null) { + return [null, null]; + } + + for (const [regex, extractor] of patterns) { + const m = regex.exec(s); + if (m) { + return extractor(m); + } + } + return [null, null]; +} + +function simpleParse(...keys) { + return (match, cursor) => { + const ret = {}; + let i; + + for (i = 0; i < keys.length; i++) { + ret[keys[i]] = parseInteger(match[cursor + i]); + } + return [ret, null, cursor + i]; + }; +} + +// ISO and SQL parsing +const offsetRegex = /(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/, + isoTimeBaseRegex = /(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/, + isoTimeRegex = RegExp(`${isoTimeBaseRegex.source}${offsetRegex.source}?`), + isoTimeExtensionRegex = RegExp(`(?:T${isoTimeRegex.source})?`), + isoYmdRegex = /([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/, + isoWeekRegex = /(\d{4})-?W(\d\d)(?:-?(\d))?/, + isoOrdinalRegex = /(\d{4})-?(\d{3})/, + extractISOWeekData = simpleParse("weekYear", "weekNumber", "weekDay"), + extractISOOrdinalData = simpleParse("year", "ordinal"), + sqlYmdRegex = /(\d{4})-(\d\d)-(\d\d)/, // dumbed-down version of the ISO one + sqlTimeRegex = RegExp( + `${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?` + ), + sqlTimeExtensionRegex = RegExp(`(?: ${sqlTimeRegex.source})?`); + +function int(match, pos, fallback) { + const m = match[pos]; + return isUndefined(m) ? fallback : parseInteger(m); +} + +function extractISOYmd(match, cursor) { + const item = { + year: int(match, cursor), + month: int(match, cursor + 1, 1), + day: int(match, cursor + 2, 1), + }; + + return [item, null, cursor + 3]; +} + +function extractISOTime(match, cursor) { + const item = { + hours: int(match, cursor, 0), + minutes: int(match, cursor + 1, 0), + seconds: int(match, cursor + 2, 0), + milliseconds: parseMillis(match[cursor + 3]), + }; + + return [item, null, cursor + 4]; +} + +function extractISOOffset(match, cursor) { + const local = !match[cursor] && !match[cursor + 1], + fullOffset = signedOffset(match[cursor + 1], match[cursor + 2]), + zone = local ? null : FixedOffsetZone.instance(fullOffset); + return [{}, zone, cursor + 3]; +} + +function extractIANAZone(match, cursor) { + const zone = match[cursor] ? IANAZone.create(match[cursor]) : null; + return [{}, zone, cursor + 1]; +} + +// ISO time parsing + +const isoTimeOnly = RegExp(`^T?${isoTimeBaseRegex.source}$`); + +// ISO duration parsing + +const isoDuration = + /^-?P(?:(?:(-?\d{1,9}(?:\.\d{1,9})?)Y)?(?:(-?\d{1,9}(?:\.\d{1,9})?)M)?(?:(-?\d{1,9}(?:\.\d{1,9})?)W)?(?:(-?\d{1,9}(?:\.\d{1,9})?)D)?(?:T(?:(-?\d{1,9}(?:\.\d{1,9})?)H)?(?:(-?\d{1,9}(?:\.\d{1,9})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,9}))?S)?)?)$/; + +function extractISODuration(match) { + const [s, yearStr, monthStr, weekStr, dayStr, hourStr, minuteStr, secondStr, millisecondsStr] = + match; + + const hasNegativePrefix = s[0] === "-"; + const negativeSeconds = secondStr && secondStr[0] === "-"; + + const maybeNegate = (num, force = false) => + num !== undefined && (force || (num && hasNegativePrefix)) ? -num : num; + + return [ + { + years: maybeNegate(parseFloating(yearStr)), + months: maybeNegate(parseFloating(monthStr)), + weeks: maybeNegate(parseFloating(weekStr)), + days: maybeNegate(parseFloating(dayStr)), + hours: maybeNegate(parseFloating(hourStr)), + minutes: maybeNegate(parseFloating(minuteStr)), + seconds: maybeNegate(parseFloating(secondStr), secondStr === "-0"), + milliseconds: maybeNegate(parseMillis(millisecondsStr), negativeSeconds), + }, + ]; +} + +// These are a little braindead. EDT *should* tell us that we're in, say, America/New_York +// and not just that we're in -240 *right now*. But since I don't think these are used that often +// I'm just going to ignore that +const obsOffsets = { + GMT: 0, + EDT: -4 * 60, + EST: -5 * 60, + CDT: -5 * 60, + CST: -6 * 60, + MDT: -6 * 60, + MST: -7 * 60, + PDT: -7 * 60, + PST: -8 * 60, +}; + +function fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) { + const result = { + year: yearStr.length === 2 ? untruncateYear(parseInteger(yearStr)) : parseInteger(yearStr), + month: monthsShort.indexOf(monthStr) + 1, + day: parseInteger(dayStr), + hour: parseInteger(hourStr), + minute: parseInteger(minuteStr), + }; + + if (secondStr) result.second = parseInteger(secondStr); + if (weekdayStr) { + result.weekday = + weekdayStr.length > 3 + ? weekdaysLong.indexOf(weekdayStr) + 1 + : weekdaysShort.indexOf(weekdayStr) + 1; + } + + return result; +} + +// RFC 2822/5322 +const rfc2822 = + /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/; + +function extractRFC2822(match) { + const [ + , + weekdayStr, + dayStr, + monthStr, + yearStr, + hourStr, + minuteStr, + secondStr, + obsOffset, + milOffset, + offHourStr, + offMinuteStr, + ] = match, + result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr); + + let offset; + if (obsOffset) { + offset = obsOffsets[obsOffset]; + } else if (milOffset) { + offset = 0; + } else { + offset = signedOffset(offHourStr, offMinuteStr); + } + + return [result, new FixedOffsetZone(offset)]; +} + +function preprocessRFC2822(s) { + // Remove comments and folding whitespace and replace multiple-spaces with a single space + return s + .replace(/\([^)]*\)|[\n\t]/g, " ") + .replace(/(\s\s+)/g, " ") + .trim(); +} + +// http date + +const rfc1123 = + /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/, + rfc850 = + /^(Monday|Tuesday|Wedsday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/, + ascii = + /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/; + +function extractRFC1123Or850(match) { + const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr] = match, + result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr); + return [result, FixedOffsetZone.utcInstance]; +} + +function extractASCII(match) { + const [, weekdayStr, monthStr, dayStr, hourStr, minuteStr, secondStr, yearStr] = match, + result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr); + return [result, FixedOffsetZone.utcInstance]; +} + +const isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex); +const isoWeekWithTimeExtensionRegex = combineRegexes(isoWeekRegex, isoTimeExtensionRegex); +const isoOrdinalWithTimeExtensionRegex = combineRegexes(isoOrdinalRegex, isoTimeExtensionRegex); +const isoTimeCombinedRegex = combineRegexes(isoTimeRegex); + +const extractISOYmdTimeAndOffset = combineExtractors( + extractISOYmd, + extractISOTime, + extractISOOffset +); +const extractISOWeekTimeAndOffset = combineExtractors( + extractISOWeekData, + extractISOTime, + extractISOOffset +); +const extractISOOrdinalDateAndTime = combineExtractors( + extractISOOrdinalData, + extractISOTime, + extractISOOffset +); +const extractISOTimeAndOffset = combineExtractors(extractISOTime, extractISOOffset); + +/** + * @private + */ + +function parseISODate(s) { + return parse( + s, + [isoYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset], + [isoWeekWithTimeExtensionRegex, extractISOWeekTimeAndOffset], + [isoOrdinalWithTimeExtensionRegex, extractISOOrdinalDateAndTime], + [isoTimeCombinedRegex, extractISOTimeAndOffset] + ); +} + +function parseRFC2822Date(s) { + return parse(preprocessRFC2822(s), [rfc2822, extractRFC2822]); +} + +function parseHTTPDate(s) { + return parse( + s, + [rfc1123, extractRFC1123Or850], + [rfc850, extractRFC1123Or850], + [ascii, extractASCII] + ); +} + +function parseISODuration(s) { + return parse(s, [isoDuration, extractISODuration]); +} + +const extractISOTimeOnly = combineExtractors(extractISOTime); + +function parseISOTimeOnly(s) { + return parse(s, [isoTimeOnly, extractISOTimeOnly]); +} + +const sqlYmdWithTimeExtensionRegex = combineRegexes(sqlYmdRegex, sqlTimeExtensionRegex); +const sqlTimeCombinedRegex = combineRegexes(sqlTimeRegex); + +const extractISOYmdTimeOffsetAndIANAZone = combineExtractors( + extractISOYmd, + extractISOTime, + extractISOOffset, + extractIANAZone +); +const extractISOTimeOffsetAndIANAZone = combineExtractors( + extractISOTime, + extractISOOffset, + extractIANAZone +); + +function parseSQL(s) { + return parse( + s, + [sqlYmdWithTimeExtensionRegex, extractISOYmdTimeOffsetAndIANAZone], + [sqlTimeCombinedRegex, extractISOTimeOffsetAndIANAZone] + ); +} + +const INVALID$2 = "Invalid Duration"; + +// unit conversion constants +const lowOrderMatrix = { + weeks: { + days: 7, + hours: 7 * 24, + minutes: 7 * 24 * 60, + seconds: 7 * 24 * 60 * 60, + milliseconds: 7 * 24 * 60 * 60 * 1000, + }, + days: { + hours: 24, + minutes: 24 * 60, + seconds: 24 * 60 * 60, + milliseconds: 24 * 60 * 60 * 1000, + }, + hours: { minutes: 60, seconds: 60 * 60, milliseconds: 60 * 60 * 1000 }, + minutes: { seconds: 60, milliseconds: 60 * 1000 }, + seconds: { milliseconds: 1000 }, + }, + casualMatrix = { + years: { + quarters: 4, + months: 12, + weeks: 52, + days: 365, + hours: 365 * 24, + minutes: 365 * 24 * 60, + seconds: 365 * 24 * 60 * 60, + milliseconds: 365 * 24 * 60 * 60 * 1000, + }, + quarters: { + months: 3, + weeks: 13, + days: 91, + hours: 91 * 24, + minutes: 91 * 24 * 60, + seconds: 91 * 24 * 60 * 60, + milliseconds: 91 * 24 * 60 * 60 * 1000, + }, + months: { + weeks: 4, + days: 30, + hours: 30 * 24, + minutes: 30 * 24 * 60, + seconds: 30 * 24 * 60 * 60, + milliseconds: 30 * 24 * 60 * 60 * 1000, + }, + + ...lowOrderMatrix, + }, + daysInYearAccurate = 146097.0 / 400, + daysInMonthAccurate = 146097.0 / 4800, + accurateMatrix = { + years: { + quarters: 4, + months: 12, + weeks: daysInYearAccurate / 7, + days: daysInYearAccurate, + hours: daysInYearAccurate * 24, + minutes: daysInYearAccurate * 24 * 60, + seconds: daysInYearAccurate * 24 * 60 * 60, + milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000, + }, + quarters: { + months: 3, + weeks: daysInYearAccurate / 28, + days: daysInYearAccurate / 4, + hours: (daysInYearAccurate * 24) / 4, + minutes: (daysInYearAccurate * 24 * 60) / 4, + seconds: (daysInYearAccurate * 24 * 60 * 60) / 4, + milliseconds: (daysInYearAccurate * 24 * 60 * 60 * 1000) / 4, + }, + months: { + weeks: daysInMonthAccurate / 7, + days: daysInMonthAccurate, + hours: daysInMonthAccurate * 24, + minutes: daysInMonthAccurate * 24 * 60, + seconds: daysInMonthAccurate * 24 * 60 * 60, + milliseconds: daysInMonthAccurate * 24 * 60 * 60 * 1000, + }, + ...lowOrderMatrix, + }; + +// units ordered by size +const orderedUnits$1 = [ + "years", + "quarters", + "months", + "weeks", + "days", + "hours", + "minutes", + "seconds", + "milliseconds", +]; + +const reverseUnits = orderedUnits$1.slice(0).reverse(); + +// clone really means "create another instance just like this one, but with these changes" +function clone$1(dur, alts, clear = false) { + // deep merge for vals + const conf = { + values: clear ? alts.values : { ...dur.values, ...(alts.values || {}) }, + loc: dur.loc.clone(alts.loc), + conversionAccuracy: alts.conversionAccuracy || dur.conversionAccuracy, + }; + return new Duration(conf); +} + +function antiTrunc(n) { + return n < 0 ? Math.floor(n) : Math.ceil(n); +} + +// NB: mutates parameters +function convert(matrix, fromMap, fromUnit, toMap, toUnit) { + const conv = matrix[toUnit][fromUnit], + raw = fromMap[fromUnit] / conv, + sameSign = Math.sign(raw) === Math.sign(toMap[toUnit]), + // ok, so this is wild, but see the matrix in the tests + added = + !sameSign && toMap[toUnit] !== 0 && Math.abs(raw) <= 1 ? antiTrunc(raw) : Math.trunc(raw); + toMap[toUnit] += added; + fromMap[fromUnit] -= added * conv; +} + +// NB: mutates parameters +function normalizeValues(matrix, vals) { + reverseUnits.reduce((previous, current) => { + if (!isUndefined(vals[current])) { + if (previous) { + convert(matrix, vals, previous, vals, current); + } + return current; + } else { + return previous; + } + }, null); +} + +/** + * A Duration object represents a period of time, like "2 months" or "1 day, 1 hour". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime#plus} to add a Duration object to a DateTime, producing another DateTime. + * + * Here is a brief overview of commonly used methods and getters in Duration: + * + * * **Creation** To create a Duration, use {@link Duration#fromMillis}, {@link Duration#fromObject}, or {@link Duration#fromISO}. + * * **Unit values** See the {@link Duration#years}, {@link Duration.months}, {@link Duration#weeks}, {@link Duration#days}, {@link Duration#hours}, {@link Duration#minutes}, {@link Duration#seconds}, {@link Duration#milliseconds} accessors. + * * **Configuration** See {@link Duration#locale} and {@link Duration#numberingSystem} accessors. + * * **Transformation** To create new Durations out of old ones use {@link Duration#plus}, {@link Duration#minus}, {@link Duration#normalize}, {@link Duration#set}, {@link Duration#reconfigure}, {@link Duration#shiftTo}, and {@link Duration#negate}. + * * **Output** To convert the Duration into other representations, see {@link Duration#as}, {@link Duration#toISO}, {@link Duration#toFormat}, and {@link Duration#toJSON} + * + * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation. + */ +class Duration { + /** + * @private + */ + constructor(config) { + const accurate = config.conversionAccuracy === "longterm" || false; + /** + * @access private + */ + this.values = config.values; + /** + * @access private + */ + this.loc = config.loc || Locale.create(); + /** + * @access private + */ + this.conversionAccuracy = accurate ? "longterm" : "casual"; + /** + * @access private + */ + this.invalid = config.invalid || null; + /** + * @access private + */ + this.matrix = accurate ? accurateMatrix : casualMatrix; + /** + * @access private + */ + this.isLuxonDuration = true; + } + + /** + * Create Duration from a number of milliseconds. + * @param {number} count of milliseconds + * @param {Object} opts - options for parsing + * @param {string} [opts.locale='en-US'] - the locale to use + * @param {string} opts.numberingSystem - the numbering system to use + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @return {Duration} + */ + static fromMillis(count, opts) { + return Duration.fromObject({ milliseconds: count }, opts); + } + + /** + * Create a Duration from a JavaScript object with keys like 'years' and 'hours'. + * If this object is empty then a zero milliseconds duration is returned. + * @param {Object} obj - the object to create the DateTime from + * @param {number} obj.years + * @param {number} obj.quarters + * @param {number} obj.months + * @param {number} obj.weeks + * @param {number} obj.days + * @param {number} obj.hours + * @param {number} obj.minutes + * @param {number} obj.seconds + * @param {number} obj.milliseconds + * @param {Object} [opts=[]] - options for creating this Duration + * @param {string} [opts.locale='en-US'] - the locale to use + * @param {string} opts.numberingSystem - the numbering system to use + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @return {Duration} + */ + static fromObject(obj, opts = {}) { + if (obj == null || typeof obj !== "object") { + throw new InvalidArgumentError( + `Duration.fromObject: argument expected to be an object, got ${ + obj === null ? "null" : typeof obj + }` + ); + } + + return new Duration({ + values: normalizeObject(obj, Duration.normalizeUnit), + loc: Locale.fromObject(opts), + conversionAccuracy: opts.conversionAccuracy, + }); + } + + /** + * Create a Duration from DurationLike. + * + * @param {Object | number | Duration} durationLike + * One of: + * - object with keys like 'years' and 'hours'. + * - number representing milliseconds + * - Duration instance + * @return {Duration} + */ + static fromDurationLike(durationLike) { + if (isNumber(durationLike)) { + return Duration.fromMillis(durationLike); + } else if (Duration.isDuration(durationLike)) { + return durationLike; + } else if (typeof durationLike === "object") { + return Duration.fromObject(durationLike); + } else { + throw new InvalidArgumentError( + `Unknown duration argument ${durationLike} of type ${typeof durationLike}` + ); + } + } + + /** + * Create a Duration from an ISO 8601 duration string. + * @param {string} text - text to parse + * @param {Object} opts - options for parsing + * @param {string} [opts.locale='en-US'] - the locale to use + * @param {string} opts.numberingSystem - the numbering system to use + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @see https://en.wikipedia.org/wiki/ISO_8601#Durations + * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 } + * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 } + * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 } + * @return {Duration} + */ + static fromISO(text, opts) { + const [parsed] = parseISODuration(text); + if (parsed) { + return Duration.fromObject(parsed, opts); + } else { + return Duration.invalid("unparsable", `the input "${text}" can't be parsed as ISO 8601`); + } + } + + /** + * Create a Duration from an ISO 8601 time string. + * @param {string} text - text to parse + * @param {Object} opts - options for parsing + * @param {string} [opts.locale='en-US'] - the locale to use + * @param {string} opts.numberingSystem - the numbering system to use + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @see https://en.wikipedia.org/wiki/ISO_8601#Times + * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 } + * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 } + * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 } + * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 } + * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 } + * @return {Duration} + */ + static fromISOTime(text, opts) { + const [parsed] = parseISOTimeOnly(text); + if (parsed) { + return Duration.fromObject(parsed, opts); + } else { + return Duration.invalid("unparsable", `the input "${text}" can't be parsed as ISO 8601`); + } + } + + /** + * Create an invalid Duration. + * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent + * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information + * @return {Duration} + */ + static invalid(reason, explanation = null) { + if (!reason) { + throw new InvalidArgumentError("need to specify a reason the Duration is invalid"); + } + + const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation); + + if (Settings.throwOnInvalid) { + throw new InvalidDurationError(invalid); + } else { + return new Duration({ invalid }); + } + } + + /** + * @private + */ + static normalizeUnit(unit) { + const normalized = { + year: "years", + years: "years", + quarter: "quarters", + quarters: "quarters", + month: "months", + months: "months", + week: "weeks", + weeks: "weeks", + day: "days", + days: "days", + hour: "hours", + hours: "hours", + minute: "minutes", + minutes: "minutes", + second: "seconds", + seconds: "seconds", + millisecond: "milliseconds", + milliseconds: "milliseconds", + }[unit ? unit.toLowerCase() : unit]; + + if (!normalized) throw new InvalidUnitError(unit); + + return normalized; + } + + /** + * Check if an object is a Duration. Works across context boundaries + * @param {object} o + * @return {boolean} + */ + static isDuration(o) { + return (o && o.isLuxonDuration) || false; + } + + /** + * Get the locale of a Duration, such 'en-GB' + * @type {string} + */ + get locale() { + return this.isValid ? this.loc.locale : null; + } + + /** + * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration + * + * @type {string} + */ + get numberingSystem() { + return this.isValid ? this.loc.numberingSystem : null; + } + + /** + * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens: + * * `S` for milliseconds + * * `s` for seconds + * * `m` for minutes + * * `h` for hours + * * `d` for days + * * `M` for months + * * `y` for years + * Notes: + * * Add padding by repeating the token, e.g. "yy" pads the years to two digits, "hhhh" pads the hours out to four digits + * * The duration will be converted to the set of units in the format string using {@link Duration#shiftTo} and the Durations's conversion accuracy setting. + * @param {string} fmt - the format string + * @param {Object} opts - options + * @param {boolean} [opts.floor=true] - floor numerical values + * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat("y d s") //=> "1 6 2" + * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat("yy dd sss") //=> "01 06 002" + * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat("M S") //=> "12 518402000" + * @return {string} + */ + toFormat(fmt, opts = {}) { + // reverse-compat since 1.2; we always round down now, never up, and we do it by default + const fmtOpts = { + ...opts, + floor: opts.round !== false && opts.floor !== false, + }; + return this.isValid + ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt) + : INVALID$2; + } + + /** + * Returns a string representation of a Duration with all units included + * To modify its behavior use the `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant. See {@link Intl.NumberFormat}. + * @param opts - On option object to override the formatting. Accepts the same keys as the options parameter of the native `Int.NumberFormat` constructor, as well as `listStyle`. + * @example + * ```js + * var dur = Duration.fromObject({ days: 1, hours: 5, minutes: 6 }) + * dur.toHuman() //=> '1 day, 5 hours, 6 minutes' + * dur.toHuman({ listStyle: "long" }) //=> '1 day, 5 hours, and 6 minutes' + * dur.toHuman({ unitDisplay: "short" }) //=> '1 day, 5 hr, 6 min' + * ``` + */ + toHuman(opts = {}) { + const l = orderedUnits$1 + .map((unit) => { + const val = this.values[unit]; + if (isUndefined(val)) { + return null; + } + return this.loc + .numberFormatter({ style: "unit", unitDisplay: "long", ...opts, unit: unit.slice(0, -1) }) + .format(val); + }) + .filter((n) => n); + + return this.loc + .listFormatter({ type: "conjunction", style: opts.listStyle || "narrow", ...opts }) + .format(l); + } + + /** + * Returns a JavaScript object with this Duration's values. + * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 } + * @return {Object} + */ + toObject() { + if (!this.isValid) return {}; + return { ...this.values }; + } + + /** + * Returns an ISO 8601-compliant string representation of this Duration. + * @see https://en.wikipedia.org/wiki/ISO_8601#Durations + * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S' + * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S' + * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M' + * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M' + * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S' + * @return {string} + */ + toISO() { + // we could use the formatter, but this is an easier way to get the minimum string + if (!this.isValid) return null; + + let s = "P"; + if (this.years !== 0) s += this.years + "Y"; + if (this.months !== 0 || this.quarters !== 0) s += this.months + this.quarters * 3 + "M"; + if (this.weeks !== 0) s += this.weeks + "W"; + if (this.days !== 0) s += this.days + "D"; + if (this.hours !== 0 || this.minutes !== 0 || this.seconds !== 0 || this.milliseconds !== 0) + s += "T"; + if (this.hours !== 0) s += this.hours + "H"; + if (this.minutes !== 0) s += this.minutes + "M"; + if (this.seconds !== 0 || this.milliseconds !== 0) + // this will handle "floating point madness" by removing extra decimal places + // https://stackoverflow.com/questions/588004/is-floating-point-math-broken + s += roundTo(this.seconds + this.milliseconds / 1000, 3) + "S"; + if (s === "P") s += "T0S"; + return s; + } + + /** + * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day. + * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours. + * @see https://en.wikipedia.org/wiki/ISO_8601#Times + * @param {Object} opts - options + * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0 + * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0 + * @param {boolean} [opts.includePrefix=false] - include the `T` prefix + * @param {string} [opts.format='extended'] - choose between the basic and extended format + * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000' + * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00' + * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00' + * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000' + * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000' + * @return {string} + */ + toISOTime(opts = {}) { + if (!this.isValid) return null; + + const millis = this.toMillis(); + if (millis < 0 || millis >= 86400000) return null; + + opts = { + suppressMilliseconds: false, + suppressSeconds: false, + includePrefix: false, + format: "extended", + ...opts, + }; + + const value = this.shiftTo("hours", "minutes", "seconds", "milliseconds"); + + let fmt = opts.format === "basic" ? "hhmm" : "hh:mm"; + + if (!opts.suppressSeconds || value.seconds !== 0 || value.milliseconds !== 0) { + fmt += opts.format === "basic" ? "ss" : ":ss"; + if (!opts.suppressMilliseconds || value.milliseconds !== 0) { + fmt += ".SSS"; + } + } + + let str = value.toFormat(fmt); + + if (opts.includePrefix) { + str = "T" + str; + } + + return str; + } + + /** + * Returns an ISO 8601 representation of this Duration appropriate for use in JSON. + * @return {string} + */ + toJSON() { + return this.toISO(); + } + + /** + * Returns an ISO 8601 representation of this Duration appropriate for use in debugging. + * @return {string} + */ + toString() { + return this.toISO(); + } + + /** + * Returns an milliseconds value of this Duration. + * @return {number} + */ + toMillis() { + return this.as("milliseconds"); + } + + /** + * Returns an milliseconds value of this Duration. Alias of {@link toMillis} + * @return {number} + */ + valueOf() { + return this.toMillis(); + } + + /** + * Make this Duration longer by the specified amount. Return a newly-constructed Duration. + * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject() + * @return {Duration} + */ + plus(duration) { + if (!this.isValid) return this; + + const dur = Duration.fromDurationLike(duration), + result = {}; + + for (const k of orderedUnits$1) { + if (hasOwnProperty(dur.values, k) || hasOwnProperty(this.values, k)) { + result[k] = dur.get(k) + this.get(k); + } + } + + return clone$1(this, { values: result }, true); + } + + /** + * Make this Duration shorter by the specified amount. Return a newly-constructed Duration. + * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject() + * @return {Duration} + */ + minus(duration) { + if (!this.isValid) return this; + + const dur = Duration.fromDurationLike(duration); + return this.plus(dur.negate()); + } + + /** + * Scale this Duration by the specified amount. Return a newly-constructed Duration. + * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number. + * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits(x => x * 2) //=> { hours: 2, minutes: 60 } + * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits((x, u) => u === "hour" ? x * 2 : x) //=> { hours: 2, minutes: 30 } + * @return {Duration} + */ + mapUnits(fn) { + if (!this.isValid) return this; + const result = {}; + for (const k of Object.keys(this.values)) { + result[k] = asNumber(fn(this.values[k], k)); + } + return clone$1(this, { values: result }, true); + } + + /** + * Get the value of unit. + * @param {string} unit - a unit such as 'minute' or 'day' + * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2 + * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0 + * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3 + * @return {number} + */ + get(unit) { + return this[Duration.normalizeUnit(unit)]; + } + + /** + * "Set" the values of specified units. Return a newly-constructed Duration. + * @param {Object} values - a mapping of units to numbers + * @example dur.set({ years: 2017 }) + * @example dur.set({ hours: 8, minutes: 30 }) + * @return {Duration} + */ + set(values) { + if (!this.isValid) return this; + + const mixed = { ...this.values, ...normalizeObject(values, Duration.normalizeUnit) }; + return clone$1(this, { values: mixed }); + } + + /** + * "Set" the locale and/or numberingSystem. Returns a newly-constructed Duration. + * @example dur.reconfigure({ locale: 'en-GB' }) + * @return {Duration} + */ + reconfigure({ locale, numberingSystem, conversionAccuracy } = {}) { + const loc = this.loc.clone({ locale, numberingSystem }), + opts = { loc }; + + if (conversionAccuracy) { + opts.conversionAccuracy = conversionAccuracy; + } + + return clone$1(this, opts); + } + + /** + * Return the length of the duration in the specified unit. + * @param {string} unit - a unit such as 'minutes' or 'days' + * @example Duration.fromObject({years: 1}).as('days') //=> 365 + * @example Duration.fromObject({years: 1}).as('months') //=> 12 + * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5 + * @return {number} + */ + as(unit) { + return this.isValid ? this.shiftTo(unit).get(unit) : NaN; + } + + /** + * Reduce this Duration to its canonical representation in its current units. + * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 } + * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 } + * @return {Duration} + */ + normalize() { + if (!this.isValid) return this; + const vals = this.toObject(); + normalizeValues(this.matrix, vals); + return clone$1(this, { values: vals }, true); + } + + /** + * Convert this Duration into its representation in a different set of units. + * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 } + * @return {Duration} + */ + shiftTo(...units) { + if (!this.isValid) return this; + + if (units.length === 0) { + return this; + } + + units = units.map((u) => Duration.normalizeUnit(u)); + + const built = {}, + accumulated = {}, + vals = this.toObject(); + let lastUnit; + + for (const k of orderedUnits$1) { + if (units.indexOf(k) >= 0) { + lastUnit = k; + + let own = 0; + + // anything we haven't boiled down yet should get boiled to this unit + for (const ak in accumulated) { + own += this.matrix[ak][k] * accumulated[ak]; + accumulated[ak] = 0; + } + + // plus anything that's already in this unit + if (isNumber(vals[k])) { + own += vals[k]; + } + + const i = Math.trunc(own); + built[k] = i; + accumulated[k] = (own * 1000 - i * 1000) / 1000; + + // plus anything further down the chain that should be rolled up in to this + for (const down in vals) { + if (orderedUnits$1.indexOf(down) > orderedUnits$1.indexOf(k)) { + convert(this.matrix, vals, down, built, k); + } + } + // otherwise, keep it in the wings to boil it later + } else if (isNumber(vals[k])) { + accumulated[k] = vals[k]; + } + } + + // anything leftover becomes the decimal for the last unit + // lastUnit must be defined since units is not empty + for (const key in accumulated) { + if (accumulated[key] !== 0) { + built[lastUnit] += + key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key]; + } + } + + return clone$1(this, { values: built }, true).normalize(); + } + + /** + * Return the negative of this Duration. + * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 } + * @return {Duration} + */ + negate() { + if (!this.isValid) return this; + const negated = {}; + for (const k of Object.keys(this.values)) { + negated[k] = -this.values[k]; + } + return clone$1(this, { values: negated }, true); + } + + /** + * Get the years. + * @type {number} + */ + get years() { + return this.isValid ? this.values.years || 0 : NaN; + } + + /** + * Get the quarters. + * @type {number} + */ + get quarters() { + return this.isValid ? this.values.quarters || 0 : NaN; + } + + /** + * Get the months. + * @type {number} + */ + get months() { + return this.isValid ? this.values.months || 0 : NaN; + } + + /** + * Get the weeks + * @type {number} + */ + get weeks() { + return this.isValid ? this.values.weeks || 0 : NaN; + } + + /** + * Get the days. + * @type {number} + */ + get days() { + return this.isValid ? this.values.days || 0 : NaN; + } + + /** + * Get the hours. + * @type {number} + */ + get hours() { + return this.isValid ? this.values.hours || 0 : NaN; + } + + /** + * Get the minutes. + * @type {number} + */ + get minutes() { + return this.isValid ? this.values.minutes || 0 : NaN; + } + + /** + * Get the seconds. + * @return {number} + */ + get seconds() { + return this.isValid ? this.values.seconds || 0 : NaN; + } + + /** + * Get the milliseconds. + * @return {number} + */ + get milliseconds() { + return this.isValid ? this.values.milliseconds || 0 : NaN; + } + + /** + * Returns whether the Duration is invalid. Invalid durations are returned by diff operations + * on invalid DateTimes or Intervals. + * @return {boolean} + */ + get isValid() { + return this.invalid === null; + } + + /** + * Returns an error code if this Duration became invalid, or null if the Duration is valid + * @return {string} + */ + get invalidReason() { + return this.invalid ? this.invalid.reason : null; + } + + /** + * Returns an explanation of why this Duration became invalid, or null if the Duration is valid + * @type {string} + */ + get invalidExplanation() { + return this.invalid ? this.invalid.explanation : null; + } + + /** + * Equality check + * Two Durations are equal iff they have the same units and the same values for each unit. + * @param {Duration} other + * @return {boolean} + */ + equals(other) { + if (!this.isValid || !other.isValid) { + return false; + } + + if (!this.loc.equals(other.loc)) { + return false; + } + + function eq(v1, v2) { + // Consider 0 and undefined as equal + if (v1 === undefined || v1 === 0) return v2 === undefined || v2 === 0; + return v1 === v2; + } + + for (const u of orderedUnits$1) { + if (!eq(this.values[u], other.values[u])) { + return false; + } + } + return true; + } +} + +const INVALID$1 = "Invalid Interval"; + +// checks if the start is equal to or before the end +function validateStartEnd(start, end) { + if (!start || !start.isValid) { + return Interval.invalid("missing or invalid start"); + } else if (!end || !end.isValid) { + return Interval.invalid("missing or invalid end"); + } else if (end < start) { + return Interval.invalid( + "end before start", + `The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}` + ); + } else { + return null; + } +} + +/** + * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them. + * + * Here is a brief overview of the most commonly used methods and getters in Interval: + * + * * **Creation** To create an Interval, use {@link Interval#fromDateTimes}, {@link Interval#after}, {@link Interval#before}, or {@link Interval#fromISO}. + * * **Accessors** Use {@link Interval#start} and {@link Interval#end} to get the start and end. + * * **Interrogation** To analyze the Interval, use {@link Interval#count}, {@link Interval#length}, {@link Interval#hasSame}, {@link Interval#contains}, {@link Interval#isAfter}, or {@link Interval#isBefore}. + * * **Transformation** To create other Intervals out of this one, use {@link Interval#set}, {@link Interval#splitAt}, {@link Interval#splitBy}, {@link Interval#divideEqually}, {@link Interval#merge}, {@link Interval#xor}, {@link Interval#union}, {@link Interval#intersection}, or {@link Interval#difference}. + * * **Comparison** To compare this Interval to another one, use {@link Interval#equals}, {@link Interval#overlaps}, {@link Interval#abutsStart}, {@link Interval#abutsEnd}, {@link Interval#engulfs} + * * **Output** To convert the Interval into other representations, see {@link Interval#toString}, {@link Interval#toISO}, {@link Interval#toISODate}, {@link Interval#toISOTime}, {@link Interval#toFormat}, and {@link Interval#toDuration}. + */ +class Interval { + /** + * @private + */ + constructor(config) { + /** + * @access private + */ + this.s = config.start; + /** + * @access private + */ + this.e = config.end; + /** + * @access private + */ + this.invalid = config.invalid || null; + /** + * @access private + */ + this.isLuxonInterval = true; + } + + /** + * Create an invalid Interval. + * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent + * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information + * @return {Interval} + */ + static invalid(reason, explanation = null) { + if (!reason) { + throw new InvalidArgumentError("need to specify a reason the Interval is invalid"); + } + + const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation); + + if (Settings.throwOnInvalid) { + throw new InvalidIntervalError(invalid); + } else { + return new Interval({ invalid }); + } + } + + /** + * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end. + * @param {DateTime|Date|Object} start + * @param {DateTime|Date|Object} end + * @return {Interval} + */ + static fromDateTimes(start, end) { + const builtStart = friendlyDateTime(start), + builtEnd = friendlyDateTime(end); + + const validateError = validateStartEnd(builtStart, builtEnd); + + if (validateError == null) { + return new Interval({ + start: builtStart, + end: builtEnd, + }); + } else { + return validateError; + } + } + + /** + * Create an Interval from a start DateTime and a Duration to extend to. + * @param {DateTime|Date|Object} start + * @param {Duration|Object|number} duration - the length of the Interval. + * @return {Interval} + */ + static after(start, duration) { + const dur = Duration.fromDurationLike(duration), + dt = friendlyDateTime(start); + return Interval.fromDateTimes(dt, dt.plus(dur)); + } + + /** + * Create an Interval from an end DateTime and a Duration to extend backwards to. + * @param {DateTime|Date|Object} end + * @param {Duration|Object|number} duration - the length of the Interval. + * @return {Interval} + */ + static before(end, duration) { + const dur = Duration.fromDurationLike(duration), + dt = friendlyDateTime(end); + return Interval.fromDateTimes(dt.minus(dur), dt); + } + + /** + * Create an Interval from an ISO 8601 string. + * Accepts `/`, `/`, and `/` formats. + * @param {string} text - the ISO string to parse + * @param {Object} [opts] - options to pass {@link DateTime#fromISO} and optionally {@link Duration#fromISO} + * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals + * @return {Interval} + */ + static fromISO(text, opts) { + const [s, e] = (text || "").split("/", 2); + if (s && e) { + let start, startIsValid; + try { + start = DateTime.fromISO(s, opts); + startIsValid = start.isValid; + } catch (e) { + startIsValid = false; + } + + let end, endIsValid; + try { + end = DateTime.fromISO(e, opts); + endIsValid = end.isValid; + } catch (e) { + endIsValid = false; + } + + if (startIsValid && endIsValid) { + return Interval.fromDateTimes(start, end); + } + + if (startIsValid) { + const dur = Duration.fromISO(e, opts); + if (dur.isValid) { + return Interval.after(start, dur); + } + } else if (endIsValid) { + const dur = Duration.fromISO(s, opts); + if (dur.isValid) { + return Interval.before(end, dur); + } + } + } + return Interval.invalid("unparsable", `the input "${text}" can't be parsed as ISO 8601`); + } + + /** + * Check if an object is an Interval. Works across context boundaries + * @param {object} o + * @return {boolean} + */ + static isInterval(o) { + return (o && o.isLuxonInterval) || false; + } + + /** + * Returns the start of the Interval + * @type {DateTime} + */ + get start() { + return this.isValid ? this.s : null; + } + + /** + * Returns the end of the Interval + * @type {DateTime} + */ + get end() { + return this.isValid ? this.e : null; + } + + /** + * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'. + * @type {boolean} + */ + get isValid() { + return this.invalidReason === null; + } + + /** + * Returns an error code if this Interval is invalid, or null if the Interval is valid + * @type {string} + */ + get invalidReason() { + return this.invalid ? this.invalid.reason : null; + } + + /** + * Returns an explanation of why this Interval became invalid, or null if the Interval is valid + * @type {string} + */ + get invalidExplanation() { + return this.invalid ? this.invalid.explanation : null; + } + + /** + * Returns the length of the Interval in the specified unit. + * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in. + * @return {number} + */ + length(unit = "milliseconds") { + return this.isValid ? this.toDuration(...[unit]).get(unit) : NaN; + } + + /** + * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part. + * Unlike {@link Interval#length} this counts sections of the calendar, not periods of time, e.g. specifying 'day' + * asks 'what dates are included in this interval?', not 'how many days long is this interval?' + * @param {string} [unit='milliseconds'] - the unit of time to count. + * @return {number} + */ + count(unit = "milliseconds") { + if (!this.isValid) return NaN; + const start = this.start.startOf(unit), + end = this.end.startOf(unit); + return Math.floor(end.diff(start, unit).get(unit)) + 1; + } + + /** + * Returns whether this Interval's start and end are both in the same unit of time + * @param {string} unit - the unit of time to check sameness on + * @return {boolean} + */ + hasSame(unit) { + return this.isValid ? this.isEmpty() || this.e.minus(1).hasSame(this.s, unit) : false; + } + + /** + * Return whether this Interval has the same start and end DateTimes. + * @return {boolean} + */ + isEmpty() { + return this.s.valueOf() === this.e.valueOf(); + } + + /** + * Return whether this Interval's start is after the specified DateTime. + * @param {DateTime} dateTime + * @return {boolean} + */ + isAfter(dateTime) { + if (!this.isValid) return false; + return this.s > dateTime; + } + + /** + * Return whether this Interval's end is before the specified DateTime. + * @param {DateTime} dateTime + * @return {boolean} + */ + isBefore(dateTime) { + if (!this.isValid) return false; + return this.e <= dateTime; + } + + /** + * Return whether this Interval contains the specified DateTime. + * @param {DateTime} dateTime + * @return {boolean} + */ + contains(dateTime) { + if (!this.isValid) return false; + return this.s <= dateTime && this.e > dateTime; + } + + /** + * "Sets" the start and/or end dates. Returns a newly-constructed Interval. + * @param {Object} values - the values to set + * @param {DateTime} values.start - the starting DateTime + * @param {DateTime} values.end - the ending DateTime + * @return {Interval} + */ + set({ start, end } = {}) { + if (!this.isValid) return this; + return Interval.fromDateTimes(start || this.s, end || this.e); + } + + /** + * Split this Interval at each of the specified DateTimes + * @param {...DateTime} dateTimes - the unit of time to count. + * @return {Array} + */ + splitAt(...dateTimes) { + if (!this.isValid) return []; + const sorted = dateTimes + .map(friendlyDateTime) + .filter((d) => this.contains(d)) + .sort(), + results = []; + let { s } = this, + i = 0; + + while (s < this.e) { + const added = sorted[i] || this.e, + next = +added > +this.e ? this.e : added; + results.push(Interval.fromDateTimes(s, next)); + s = next; + i += 1; + } + + return results; + } + + /** + * Split this Interval into smaller Intervals, each of the specified length. + * Left over time is grouped into a smaller interval + * @param {Duration|Object|number} duration - The length of each resulting interval. + * @return {Array} + */ + splitBy(duration) { + const dur = Duration.fromDurationLike(duration); + + if (!this.isValid || !dur.isValid || dur.as("milliseconds") === 0) { + return []; + } + + let { s } = this, + idx = 1, + next; + + const results = []; + while (s < this.e) { + const added = this.start.plus(dur.mapUnits((x) => x * idx)); + next = +added > +this.e ? this.e : added; + results.push(Interval.fromDateTimes(s, next)); + s = next; + idx += 1; + } + + return results; + } + + /** + * Split this Interval into the specified number of smaller intervals. + * @param {number} numberOfParts - The number of Intervals to divide the Interval into. + * @return {Array} + */ + divideEqually(numberOfParts) { + if (!this.isValid) return []; + return this.splitBy(this.length() / numberOfParts).slice(0, numberOfParts); + } + + /** + * Return whether this Interval overlaps with the specified Interval + * @param {Interval} other + * @return {boolean} + */ + overlaps(other) { + return this.e > other.s && this.s < other.e; + } + + /** + * Return whether this Interval's end is adjacent to the specified Interval's start. + * @param {Interval} other + * @return {boolean} + */ + abutsStart(other) { + if (!this.isValid) return false; + return +this.e === +other.s; + } + + /** + * Return whether this Interval's start is adjacent to the specified Interval's end. + * @param {Interval} other + * @return {boolean} + */ + abutsEnd(other) { + if (!this.isValid) return false; + return +other.e === +this.s; + } + + /** + * Return whether this Interval engulfs the start and end of the specified Interval. + * @param {Interval} other + * @return {boolean} + */ + engulfs(other) { + if (!this.isValid) return false; + return this.s <= other.s && this.e >= other.e; + } + + /** + * Return whether this Interval has the same start and end as the specified Interval. + * @param {Interval} other + * @return {boolean} + */ + equals(other) { + if (!this.isValid || !other.isValid) { + return false; + } + + return this.s.equals(other.s) && this.e.equals(other.e); + } + + /** + * Return an Interval representing the intersection of this Interval and the specified Interval. + * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals. + * Returns null if the intersection is empty, meaning, the intervals don't intersect. + * @param {Interval} other + * @return {Interval} + */ + intersection(other) { + if (!this.isValid) return this; + const s = this.s > other.s ? this.s : other.s, + e = this.e < other.e ? this.e : other.e; + + if (s >= e) { + return null; + } else { + return Interval.fromDateTimes(s, e); + } + } + + /** + * Return an Interval representing the union of this Interval and the specified Interval. + * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals. + * @param {Interval} other + * @return {Interval} + */ + union(other) { + if (!this.isValid) return this; + const s = this.s < other.s ? this.s : other.s, + e = this.e > other.e ? this.e : other.e; + return Interval.fromDateTimes(s, e); + } + + /** + * Merge an array of Intervals into a equivalent minimal set of Intervals. + * Combines overlapping and adjacent Intervals. + * @param {Array} intervals + * @return {Array} + */ + static merge(intervals) { + const [found, final] = intervals + .sort((a, b) => a.s - b.s) + .reduce( + ([sofar, current], item) => { + if (!current) { + return [sofar, item]; + } else if (current.overlaps(item) || current.abutsStart(item)) { + return [sofar, current.union(item)]; + } else { + return [sofar.concat([current]), item]; + } + }, + [[], null] + ); + if (final) { + found.push(final); + } + return found; + } + + /** + * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals. + * @param {Array} intervals + * @return {Array} + */ + static xor(intervals) { + let start = null, + currentCount = 0; + const results = [], + ends = intervals.map((i) => [ + { time: i.s, type: "s" }, + { time: i.e, type: "e" }, + ]), + flattened = Array.prototype.concat(...ends), + arr = flattened.sort((a, b) => a.time - b.time); + + for (const i of arr) { + currentCount += i.type === "s" ? 1 : -1; + + if (currentCount === 1) { + start = i.time; + } else { + if (start && +start !== +i.time) { + results.push(Interval.fromDateTimes(start, i.time)); + } + + start = null; + } + } + + return Interval.merge(results); + } + + /** + * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals. + * @param {...Interval} intervals + * @return {Array} + */ + difference(...intervals) { + return Interval.xor([this].concat(intervals)) + .map((i) => this.intersection(i)) + .filter((i) => i && !i.isEmpty()); + } + + /** + * Returns a string representation of this Interval appropriate for debugging. + * @return {string} + */ + toString() { + if (!this.isValid) return INVALID$1; + return `[${this.s.toISO()} – ${this.e.toISO()})`; + } + + /** + * Returns an ISO 8601-compliant string representation of this Interval. + * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals + * @param {Object} opts - The same options as {@link DateTime#toISO} + * @return {string} + */ + toISO(opts) { + if (!this.isValid) return INVALID$1; + return `${this.s.toISO(opts)}/${this.e.toISO(opts)}`; + } + + /** + * Returns an ISO 8601-compliant string representation of date of this Interval. + * The time components are ignored. + * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals + * @return {string} + */ + toISODate() { + if (!this.isValid) return INVALID$1; + return `${this.s.toISODate()}/${this.e.toISODate()}`; + } + + /** + * Returns an ISO 8601-compliant string representation of time of this Interval. + * The date components are ignored. + * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals + * @param {Object} opts - The same options as {@link DateTime#toISO} + * @return {string} + */ + toISOTime(opts) { + if (!this.isValid) return INVALID$1; + return `${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`; + } + + /** + * Returns a string representation of this Interval formatted according to the specified format string. + * @param {string} dateFormat - the format string. This string formats the start and end time. See {@link DateTime#toFormat} for details. + * @param {Object} opts - options + * @param {string} [opts.separator = ' – '] - a separator to place between the start and end representations + * @return {string} + */ + toFormat(dateFormat, { separator = " – " } = {}) { + if (!this.isValid) return INVALID$1; + return `${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`; + } + + /** + * Return a Duration representing the time spanned by this interval. + * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration. + * @param {Object} opts - options that affect the creation of the Duration + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 } + * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 } + * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 } + * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 } + * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 } + * @return {Duration} + */ + toDuration(unit, opts) { + if (!this.isValid) { + return Duration.invalid(this.invalidReason); + } + return this.e.diff(this.s, unit, opts); + } + + /** + * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes + * @param {function} mapFn + * @return {Interval} + * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC()) + * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 })) + */ + mapEndpoints(mapFn) { + return Interval.fromDateTimes(mapFn(this.s), mapFn(this.e)); + } +} + +/** + * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment. + */ +class Info { + /** + * Return whether the specified zone contains a DST. + * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone. + * @return {boolean} + */ + static hasDST(zone = Settings.defaultZone) { + const proto = DateTime.now().setZone(zone).set({ month: 12 }); + + return !zone.isUniversal && proto.offset !== proto.set({ month: 6 }).offset; + } + + /** + * Return whether the specified zone is a valid IANA specifier. + * @param {string} zone - Zone to check + * @return {boolean} + */ + static isValidIANAZone(zone) { + return IANAZone.isValidSpecifier(zone) && IANAZone.isValidZone(zone); + } + + /** + * Converts the input into a {@link Zone} instance. + * + * * If `input` is already a Zone instance, it is returned unchanged. + * * If `input` is a string containing a valid time zone name, a Zone instance + * with that name is returned. + * * If `input` is a string that doesn't refer to a known time zone, a Zone + * instance with {@link Zone#isValid} == false is returned. + * * If `input is a number, a Zone instance with the specified fixed offset + * in minutes is returned. + * * If `input` is `null` or `undefined`, the default zone is returned. + * @param {string|Zone|number} [input] - the value to be converted + * @return {Zone} + */ + static normalizeZone(input) { + return normalizeZone(input, Settings.defaultZone); + } + + /** + * Return an array of standalone month names. + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat + * @param {string} [length='long'] - the length of the month representation, such as "numeric", "2-digit", "narrow", "short", "long" + * @param {Object} opts - options + * @param {string} [opts.locale] - the locale code + * @param {string} [opts.numberingSystem=null] - the numbering system + * @param {string} [opts.locObj=null] - an existing locale object to use + * @param {string} [opts.outputCalendar='gregory'] - the calendar + * @example Info.months()[0] //=> 'January' + * @example Info.months('short')[0] //=> 'Jan' + * @example Info.months('numeric')[0] //=> '1' + * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.' + * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١' + * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I' + * @return {Array} + */ + static months( + length = "long", + { locale = null, numberingSystem = null, locObj = null, outputCalendar = "gregory" } = {} + ) { + return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length); + } + + /** + * Return an array of format month names. + * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that + * changes the string. + * See {@link Info#months} + * @param {string} [length='long'] - the length of the month representation, such as "numeric", "2-digit", "narrow", "short", "long" + * @param {Object} opts - options + * @param {string} [opts.locale] - the locale code + * @param {string} [opts.numberingSystem=null] - the numbering system + * @param {string} [opts.locObj=null] - an existing locale object to use + * @param {string} [opts.outputCalendar='gregory'] - the calendar + * @return {Array} + */ + static monthsFormat( + length = "long", + { locale = null, numberingSystem = null, locObj = null, outputCalendar = "gregory" } = {} + ) { + return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length, true); + } + + /** + * Return an array of standalone week names. + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat + * @param {string} [length='long'] - the length of the weekday representation, such as "narrow", "short", "long". + * @param {Object} opts - options + * @param {string} [opts.locale] - the locale code + * @param {string} [opts.numberingSystem=null] - the numbering system + * @param {string} [opts.locObj=null] - an existing locale object to use + * @example Info.weekdays()[0] //=> 'Monday' + * @example Info.weekdays('short')[0] //=> 'Mon' + * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.' + * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين' + * @return {Array} + */ + static weekdays(length = "long", { locale = null, numberingSystem = null, locObj = null } = {}) { + return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length); + } + + /** + * Return an array of format week names. + * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that + * changes the string. + * See {@link Info#weekdays} + * @param {string} [length='long'] - the length of the month representation, such as "narrow", "short", "long". + * @param {Object} opts - options + * @param {string} [opts.locale=null] - the locale code + * @param {string} [opts.numberingSystem=null] - the numbering system + * @param {string} [opts.locObj=null] - an existing locale object to use + * @return {Array} + */ + static weekdaysFormat( + length = "long", + { locale = null, numberingSystem = null, locObj = null } = {} + ) { + return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length, true); + } + + /** + * Return an array of meridiems. + * @param {Object} opts - options + * @param {string} [opts.locale] - the locale code + * @example Info.meridiems() //=> [ 'AM', 'PM' ] + * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ] + * @return {Array} + */ + static meridiems({ locale = null } = {}) { + return Locale.create(locale).meridiems(); + } + + /** + * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian. + * @param {string} [length='short'] - the length of the era representation, such as "short" or "long". + * @param {Object} opts - options + * @param {string} [opts.locale] - the locale code + * @example Info.eras() //=> [ 'BC', 'AD' ] + * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ] + * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ] + * @return {Array} + */ + static eras(length = "short", { locale = null } = {}) { + return Locale.create(locale, null, "gregory").eras(length); + } + + /** + * Return the set of available features in this environment. + * Some features of Luxon are not available in all environments. For example, on older browsers, relative time formatting support is not available. Use this function to figure out if that's the case. + * Keys: + * * `relative`: whether this environment supports relative time formatting + * @example Info.features() //=> { relative: false } + * @return {Object} + */ + static features() { + return { relative: hasRelative() }; + } +} + +function dayDiff(earlier, later) { + const utcDayStart = (dt) => dt.toUTC(0, { keepLocalTime: true }).startOf("day").valueOf(), + ms = utcDayStart(later) - utcDayStart(earlier); + return Math.floor(Duration.fromMillis(ms).as("days")); +} + +function highOrderDiffs(cursor, later, units) { + const differs = [ + ["years", (a, b) => b.year - a.year], + ["quarters", (a, b) => b.quarter - a.quarter], + ["months", (a, b) => b.month - a.month + (b.year - a.year) * 12], + [ + "weeks", + (a, b) => { + const days = dayDiff(a, b); + return (days - (days % 7)) / 7; + }, + ], + ["days", dayDiff], + ]; + + const results = {}; + let lowestOrder, highWater; + + for (const [unit, differ] of differs) { + if (units.indexOf(unit) >= 0) { + lowestOrder = unit; + + let delta = differ(cursor, later); + highWater = cursor.plus({ [unit]: delta }); + + if (highWater > later) { + cursor = cursor.plus({ [unit]: delta - 1 }); + delta -= 1; + } else { + cursor = highWater; + } + + results[unit] = delta; + } + } + + return [cursor, results, highWater, lowestOrder]; +} + +function diff (earlier, later, units, opts) { + let [cursor, results, highWater, lowestOrder] = highOrderDiffs(earlier, later, units); + + const remainingMillis = later - cursor; + + const lowerOrderUnits = units.filter( + (u) => ["hours", "minutes", "seconds", "milliseconds"].indexOf(u) >= 0 + ); + + if (lowerOrderUnits.length === 0) { + if (highWater < later) { + highWater = cursor.plus({ [lowestOrder]: 1 }); + } + + if (highWater !== cursor) { + results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor); + } + } + + const duration = Duration.fromObject(results, opts); + + if (lowerOrderUnits.length > 0) { + return Duration.fromMillis(remainingMillis, opts) + .shiftTo(...lowerOrderUnits) + .plus(duration); + } else { + return duration; + } +} + +const numberingSystems = { + arab: "[\u0660-\u0669]", + arabext: "[\u06F0-\u06F9]", + bali: "[\u1B50-\u1B59]", + beng: "[\u09E6-\u09EF]", + deva: "[\u0966-\u096F]", + fullwide: "[\uFF10-\uFF19]", + gujr: "[\u0AE6-\u0AEF]", + hanidec: "[〇|一|二|三|四|五|六|七|八|九]", + khmr: "[\u17E0-\u17E9]", + knda: "[\u0CE6-\u0CEF]", + laoo: "[\u0ED0-\u0ED9]", + limb: "[\u1946-\u194F]", + mlym: "[\u0D66-\u0D6F]", + mong: "[\u1810-\u1819]", + mymr: "[\u1040-\u1049]", + orya: "[\u0B66-\u0B6F]", + tamldec: "[\u0BE6-\u0BEF]", + telu: "[\u0C66-\u0C6F]", + thai: "[\u0E50-\u0E59]", + tibt: "[\u0F20-\u0F29]", + latn: "\\d", +}; + +const numberingSystemsUTF16 = { + arab: [1632, 1641], + arabext: [1776, 1785], + bali: [6992, 7001], + beng: [2534, 2543], + deva: [2406, 2415], + fullwide: [65296, 65303], + gujr: [2790, 2799], + khmr: [6112, 6121], + knda: [3302, 3311], + laoo: [3792, 3801], + limb: [6470, 6479], + mlym: [3430, 3439], + mong: [6160, 6169], + mymr: [4160, 4169], + orya: [2918, 2927], + tamldec: [3046, 3055], + telu: [3174, 3183], + thai: [3664, 3673], + tibt: [3872, 3881], +}; + +const hanidecChars = numberingSystems.hanidec.replace(/[\[|\]]/g, "").split(""); + +function parseDigits(str) { + let value = parseInt(str, 10); + if (isNaN(value)) { + value = ""; + for (let i = 0; i < str.length; i++) { + const code = str.charCodeAt(i); + + if (str[i].search(numberingSystems.hanidec) !== -1) { + value += hanidecChars.indexOf(str[i]); + } else { + for (const key in numberingSystemsUTF16) { + const [min, max] = numberingSystemsUTF16[key]; + if (code >= min && code <= max) { + value += code - min; + } + } + } + } + return parseInt(value, 10); + } else { + return value; + } +} + +function digitRegex({ numberingSystem }, append = "") { + return new RegExp(`${numberingSystems[numberingSystem || "latn"]}${append}`); +} + +const MISSING_FTP = "missing Intl.DateTimeFormat.formatToParts support"; + +function intUnit(regex, post = (i) => i) { + return { regex, deser: ([s]) => post(parseDigits(s)) }; +} + +const NBSP = String.fromCharCode(160); +const spaceOrNBSP = `( |${NBSP})`; +const spaceOrNBSPRegExp = new RegExp(spaceOrNBSP, "g"); + +function fixListRegex(s) { + // make dots optional and also make them literal + // make space and non breakable space characters interchangeable + return s.replace(/\./g, "\\.?").replace(spaceOrNBSPRegExp, spaceOrNBSP); +} + +function stripInsensitivities(s) { + return s + .replace(/\./g, "") // ignore dots that were made optional + .replace(spaceOrNBSPRegExp, " ") // interchange space and nbsp + .toLowerCase(); +} + +function oneOf(strings, startIndex) { + if (strings === null) { + return null; + } else { + return { + regex: RegExp(strings.map(fixListRegex).join("|")), + deser: ([s]) => + strings.findIndex((i) => stripInsensitivities(s) === stripInsensitivities(i)) + startIndex, + }; + } +} + +function offset(regex, groups) { + return { regex, deser: ([, h, m]) => signedOffset(h, m), groups }; +} + +function simple(regex) { + return { regex, deser: ([s]) => s }; +} + +function escapeToken(value) { + return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"); +} + +function unitForToken(token, loc) { + const one = digitRegex(loc), + two = digitRegex(loc, "{2}"), + three = digitRegex(loc, "{3}"), + four = digitRegex(loc, "{4}"), + six = digitRegex(loc, "{6}"), + oneOrTwo = digitRegex(loc, "{1,2}"), + oneToThree = digitRegex(loc, "{1,3}"), + oneToSix = digitRegex(loc, "{1,6}"), + oneToNine = digitRegex(loc, "{1,9}"), + twoToFour = digitRegex(loc, "{2,4}"), + fourToSix = digitRegex(loc, "{4,6}"), + literal = (t) => ({ regex: RegExp(escapeToken(t.val)), deser: ([s]) => s, literal: true }), + unitate = (t) => { + if (token.literal) { + return literal(t); + } + switch (t.val) { + // era + case "G": + return oneOf(loc.eras("short", false), 0); + case "GG": + return oneOf(loc.eras("long", false), 0); + // years + case "y": + return intUnit(oneToSix); + case "yy": + return intUnit(twoToFour, untruncateYear); + case "yyyy": + return intUnit(four); + case "yyyyy": + return intUnit(fourToSix); + case "yyyyyy": + return intUnit(six); + // months + case "M": + return intUnit(oneOrTwo); + case "MM": + return intUnit(two); + case "MMM": + return oneOf(loc.months("short", true, false), 1); + case "MMMM": + return oneOf(loc.months("long", true, false), 1); + case "L": + return intUnit(oneOrTwo); + case "LL": + return intUnit(two); + case "LLL": + return oneOf(loc.months("short", false, false), 1); + case "LLLL": + return oneOf(loc.months("long", false, false), 1); + // dates + case "d": + return intUnit(oneOrTwo); + case "dd": + return intUnit(two); + // ordinals + case "o": + return intUnit(oneToThree); + case "ooo": + return intUnit(three); + // time + case "HH": + return intUnit(two); + case "H": + return intUnit(oneOrTwo); + case "hh": + return intUnit(two); + case "h": + return intUnit(oneOrTwo); + case "mm": + return intUnit(two); + case "m": + return intUnit(oneOrTwo); + case "q": + return intUnit(oneOrTwo); + case "qq": + return intUnit(two); + case "s": + return intUnit(oneOrTwo); + case "ss": + return intUnit(two); + case "S": + return intUnit(oneToThree); + case "SSS": + return intUnit(three); + case "u": + return simple(oneToNine); + case "uu": + return simple(oneOrTwo); + case "uuu": + return intUnit(one); + // meridiem + case "a": + return oneOf(loc.meridiems(), 0); + // weekYear (k) + case "kkkk": + return intUnit(four); + case "kk": + return intUnit(twoToFour, untruncateYear); + // weekNumber (W) + case "W": + return intUnit(oneOrTwo); + case "WW": + return intUnit(two); + // weekdays + case "E": + case "c": + return intUnit(one); + case "EEE": + return oneOf(loc.weekdays("short", false, false), 1); + case "EEEE": + return oneOf(loc.weekdays("long", false, false), 1); + case "ccc": + return oneOf(loc.weekdays("short", true, false), 1); + case "cccc": + return oneOf(loc.weekdays("long", true, false), 1); + // offset/zone + case "Z": + case "ZZ": + return offset(new RegExp(`([+-]${oneOrTwo.source})(?::(${two.source}))?`), 2); + case "ZZZ": + return offset(new RegExp(`([+-]${oneOrTwo.source})(${two.source})?`), 2); + // we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing + // because we don't have any way to figure out what they are + case "z": + return simple(/[a-z_+-/]{1,256}?/i); + default: + return literal(t); + } + }; + + const unit = unitate(token) || { + invalidReason: MISSING_FTP, + }; + + unit.token = token; + + return unit; +} + +const partTypeStyleToTokenVal = { + year: { + "2-digit": "yy", + numeric: "yyyyy", + }, + month: { + numeric: "M", + "2-digit": "MM", + short: "MMM", + long: "MMMM", + }, + day: { + numeric: "d", + "2-digit": "dd", + }, + weekday: { + short: "EEE", + long: "EEEE", + }, + dayperiod: "a", + dayPeriod: "a", + hour: { + numeric: "h", + "2-digit": "hh", + }, + minute: { + numeric: "m", + "2-digit": "mm", + }, + second: { + numeric: "s", + "2-digit": "ss", + }, +}; + +function tokenForPart(part, locale, formatOpts) { + const { type, value } = part; + + if (type === "literal") { + return { + literal: true, + val: value, + }; + } + + const style = formatOpts[type]; + + let val = partTypeStyleToTokenVal[type]; + if (typeof val === "object") { + val = val[style]; + } + + if (val) { + return { + literal: false, + val, + }; + } + + return undefined; +} + +function buildRegex(units) { + const re = units.map((u) => u.regex).reduce((f, r) => `${f}(${r.source})`, ""); + return [`^${re}$`, units]; +} + +function match(input, regex, handlers) { + const matches = input.match(regex); + + if (matches) { + const all = {}; + let matchIndex = 1; + for (const i in handlers) { + if (hasOwnProperty(handlers, i)) { + const h = handlers[i], + groups = h.groups ? h.groups + 1 : 1; + if (!h.literal && h.token) { + all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups)); + } + matchIndex += groups; + } + } + return [matches, all]; + } else { + return [matches, {}]; + } +} + +function dateTimeFromMatches(matches) { + const toField = (token) => { + switch (token) { + case "S": + return "millisecond"; + case "s": + return "second"; + case "m": + return "minute"; + case "h": + case "H": + return "hour"; + case "d": + return "day"; + case "o": + return "ordinal"; + case "L": + case "M": + return "month"; + case "y": + return "year"; + case "E": + case "c": + return "weekday"; + case "W": + return "weekNumber"; + case "k": + return "weekYear"; + case "q": + return "quarter"; + default: + return null; + } + }; + + let zone = null; + let specificOffset; + if (!isUndefined(matches.z)) { + zone = IANAZone.create(matches.z); + } + + if (!isUndefined(matches.Z)) { + if (!zone) { + zone = new FixedOffsetZone(matches.Z); + } + specificOffset = matches.Z; + } + + if (!isUndefined(matches.q)) { + matches.M = (matches.q - 1) * 3 + 1; + } + + if (!isUndefined(matches.h)) { + if (matches.h < 12 && matches.a === 1) { + matches.h += 12; + } else if (matches.h === 12 && matches.a === 0) { + matches.h = 0; + } + } + + if (matches.G === 0 && matches.y) { + matches.y = -matches.y; + } + + if (!isUndefined(matches.u)) { + matches.S = parseMillis(matches.u); + } + + const vals = Object.keys(matches).reduce((r, k) => { + const f = toField(k); + if (f) { + r[f] = matches[k]; + } + + return r; + }, {}); + + return [vals, zone, specificOffset]; +} + +let dummyDateTimeCache = null; + +function getDummyDateTime() { + if (!dummyDateTimeCache) { + dummyDateTimeCache = DateTime.fromMillis(1555555555555); + } + + return dummyDateTimeCache; +} + +function maybeExpandMacroToken(token, locale) { + if (token.literal) { + return token; + } + + const formatOpts = Formatter.macroTokenToFormatOpts(token.val); + + if (!formatOpts) { + return token; + } + + const formatter = Formatter.create(locale, formatOpts); + const parts = formatter.formatDateTimeParts(getDummyDateTime()); + + const tokens = parts.map((p) => tokenForPart(p, locale, formatOpts)); + + if (tokens.includes(undefined)) { + return token; + } + + return tokens; +} + +function expandMacroTokens(tokens, locale) { + return Array.prototype.concat(...tokens.map((t) => maybeExpandMacroToken(t, locale))); +} + +/** + * @private + */ + +function explainFromTokens(locale, input, format) { + const tokens = expandMacroTokens(Formatter.parseFormat(format), locale), + units = tokens.map((t) => unitForToken(t, locale)), + disqualifyingUnit = units.find((t) => t.invalidReason); + + if (disqualifyingUnit) { + return { input, tokens, invalidReason: disqualifyingUnit.invalidReason }; + } else { + const [regexString, handlers] = buildRegex(units), + regex = RegExp(regexString, "i"), + [rawMatches, matches] = match(input, regex, handlers), + [result, zone, specificOffset] = matches + ? dateTimeFromMatches(matches) + : [null, null, undefined]; + if (hasOwnProperty(matches, "a") && hasOwnProperty(matches, "H")) { + throw new ConflictingSpecificationError( + "Can't include meridiem when specifying 24-hour format" + ); + } + return { input, tokens, regex, rawMatches, matches, result, zone, specificOffset }; + } +} + +function parseFromTokens(locale, input, format) { + const { result, zone, specificOffset, invalidReason } = explainFromTokens(locale, input, format); + return [result, zone, specificOffset, invalidReason]; +} + +const nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334], + leapLadder = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335]; + +function unitOutOfRange(unit, value) { + return new Invalid( + "unit out of range", + `you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid` + ); +} + +function dayOfWeek(year, month, day) { + const js = new Date(Date.UTC(year, month - 1, day)).getUTCDay(); + return js === 0 ? 7 : js; +} + +function computeOrdinal(year, month, day) { + return day + (isLeapYear(year) ? leapLadder : nonLeapLadder)[month - 1]; +} + +function uncomputeOrdinal(year, ordinal) { + const table = isLeapYear(year) ? leapLadder : nonLeapLadder, + month0 = table.findIndex((i) => i < ordinal), + day = ordinal - table[month0]; + return { month: month0 + 1, day }; +} + +/** + * @private + */ + +function gregorianToWeek(gregObj) { + const { year, month, day } = gregObj, + ordinal = computeOrdinal(year, month, day), + weekday = dayOfWeek(year, month, day); + + let weekNumber = Math.floor((ordinal - weekday + 10) / 7), + weekYear; + + if (weekNumber < 1) { + weekYear = year - 1; + weekNumber = weeksInWeekYear(weekYear); + } else if (weekNumber > weeksInWeekYear(year)) { + weekYear = year + 1; + weekNumber = 1; + } else { + weekYear = year; + } + + return { weekYear, weekNumber, weekday, ...timeObject(gregObj) }; +} + +function weekToGregorian(weekData) { + const { weekYear, weekNumber, weekday } = weekData, + weekdayOfJan4 = dayOfWeek(weekYear, 1, 4), + yearInDays = daysInYear(weekYear); + + let ordinal = weekNumber * 7 + weekday - weekdayOfJan4 - 3, + year; + + if (ordinal < 1) { + year = weekYear - 1; + ordinal += daysInYear(year); + } else if (ordinal > yearInDays) { + year = weekYear + 1; + ordinal -= daysInYear(weekYear); + } else { + year = weekYear; + } + + const { month, day } = uncomputeOrdinal(year, ordinal); + return { year, month, day, ...timeObject(weekData) }; +} + +function gregorianToOrdinal(gregData) { + const { year, month, day } = gregData; + const ordinal = computeOrdinal(year, month, day); + return { year, ordinal, ...timeObject(gregData) }; +} + +function ordinalToGregorian(ordinalData) { + const { year, ordinal } = ordinalData; + const { month, day } = uncomputeOrdinal(year, ordinal); + return { year, month, day, ...timeObject(ordinalData) }; +} + +function hasInvalidWeekData(obj) { + const validYear = isInteger(obj.weekYear), + validWeek = integerBetween(obj.weekNumber, 1, weeksInWeekYear(obj.weekYear)), + validWeekday = integerBetween(obj.weekday, 1, 7); + + if (!validYear) { + return unitOutOfRange("weekYear", obj.weekYear); + } else if (!validWeek) { + return unitOutOfRange("week", obj.week); + } else if (!validWeekday) { + return unitOutOfRange("weekday", obj.weekday); + } else return false; +} + +function hasInvalidOrdinalData(obj) { + const validYear = isInteger(obj.year), + validOrdinal = integerBetween(obj.ordinal, 1, daysInYear(obj.year)); + + if (!validYear) { + return unitOutOfRange("year", obj.year); + } else if (!validOrdinal) { + return unitOutOfRange("ordinal", obj.ordinal); + } else return false; +} + +function hasInvalidGregorianData(obj) { + const validYear = isInteger(obj.year), + validMonth = integerBetween(obj.month, 1, 12), + validDay = integerBetween(obj.day, 1, daysInMonth(obj.year, obj.month)); + + if (!validYear) { + return unitOutOfRange("year", obj.year); + } else if (!validMonth) { + return unitOutOfRange("month", obj.month); + } else if (!validDay) { + return unitOutOfRange("day", obj.day); + } else return false; +} + +function hasInvalidTimeData(obj) { + const { hour, minute, second, millisecond } = obj; + const validHour = + integerBetween(hour, 0, 23) || + (hour === 24 && minute === 0 && second === 0 && millisecond === 0), + validMinute = integerBetween(minute, 0, 59), + validSecond = integerBetween(second, 0, 59), + validMillisecond = integerBetween(millisecond, 0, 999); + + if (!validHour) { + return unitOutOfRange("hour", hour); + } else if (!validMinute) { + return unitOutOfRange("minute", minute); + } else if (!validSecond) { + return unitOutOfRange("second", second); + } else if (!validMillisecond) { + return unitOutOfRange("millisecond", millisecond); + } else return false; +} + +const INVALID = "Invalid DateTime"; +const MAX_DATE = 8.64e15; + +function unsupportedZone(zone) { + return new Invalid("unsupported zone", `the zone "${zone.name}" is not supported`); +} + +// we cache week data on the DT object and this intermediates the cache +function possiblyCachedWeekData(dt) { + if (dt.weekData === null) { + dt.weekData = gregorianToWeek(dt.c); + } + return dt.weekData; +} + +// clone really means, "make a new object with these modifications". all "setters" really use this +// to create a new object while only changing some of the properties +function clone(inst, alts) { + const current = { + ts: inst.ts, + zone: inst.zone, + c: inst.c, + o: inst.o, + loc: inst.loc, + invalid: inst.invalid, + }; + return new DateTime({ ...current, ...alts, old: current }); +} + +// find the right offset a given local time. The o input is our guess, which determines which +// offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST) +function fixOffset(localTS, o, tz) { + // Our UTC time is just a guess because our offset is just a guess + let utcGuess = localTS - o * 60 * 1000; + + // Test whether the zone matches the offset for this ts + const o2 = tz.offset(utcGuess); + + // If so, offset didn't change and we're done + if (o === o2) { + return [utcGuess, o]; + } + + // If not, change the ts by the difference in the offset + utcGuess -= (o2 - o) * 60 * 1000; + + // If that gives us the local time we want, we're done + const o3 = tz.offset(utcGuess); + if (o2 === o3) { + return [utcGuess, o2]; + } + + // If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time + return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)]; +} + +// convert an epoch timestamp into a calendar object with the given offset +function tsToObj(ts, offset) { + ts += offset * 60 * 1000; + + const d = new Date(ts); + + return { + year: d.getUTCFullYear(), + month: d.getUTCMonth() + 1, + day: d.getUTCDate(), + hour: d.getUTCHours(), + minute: d.getUTCMinutes(), + second: d.getUTCSeconds(), + millisecond: d.getUTCMilliseconds(), + }; +} + +// convert a calendar object to a epoch timestamp +function objToTS(obj, offset, zone) { + return fixOffset(objToLocalTS(obj), offset, zone); +} + +// create a new DT instance by adding a duration, adjusting for DSTs +function adjustTime(inst, dur) { + const oPre = inst.o, + year = inst.c.year + Math.trunc(dur.years), + month = inst.c.month + Math.trunc(dur.months) + Math.trunc(dur.quarters) * 3, + c = { + ...inst.c, + year, + month, + day: + Math.min(inst.c.day, daysInMonth(year, month)) + + Math.trunc(dur.days) + + Math.trunc(dur.weeks) * 7, + }, + millisToAdd = Duration.fromObject({ + years: dur.years - Math.trunc(dur.years), + quarters: dur.quarters - Math.trunc(dur.quarters), + months: dur.months - Math.trunc(dur.months), + weeks: dur.weeks - Math.trunc(dur.weeks), + days: dur.days - Math.trunc(dur.days), + hours: dur.hours, + minutes: dur.minutes, + seconds: dur.seconds, + milliseconds: dur.milliseconds, + }).as("milliseconds"), + localTS = objToLocalTS(c); + + let [ts, o] = fixOffset(localTS, oPre, inst.zone); + + if (millisToAdd !== 0) { + ts += millisToAdd; + // that could have changed the offset by going over a DST, but we want to keep the ts the same + o = inst.zone.offset(ts); + } + + return { ts, o }; +} + +// helper useful in turning the results of parsing into real dates +// by handling the zone options +function parseDataToDateTime(parsed, parsedZone, opts, format, text, specificOffset) { + const { setZone, zone } = opts; + if (parsed && Object.keys(parsed).length !== 0) { + const interpretationZone = parsedZone || zone, + inst = DateTime.fromObject(parsed, { + ...opts, + zone: interpretationZone, + specificOffset, + }); + return setZone ? inst : inst.setZone(zone); + } else { + return DateTime.invalid( + new Invalid("unparsable", `the input "${text}" can't be parsed as ${format}`) + ); + } +} + +// if you want to output a technical format (e.g. RFC 2822), this helper +// helps handle the details +function toTechFormat(dt, format, allowZ = true) { + return dt.isValid + ? Formatter.create(Locale.create("en-US"), { + allowZ, + forceSimple: true, + }).formatDateTimeFromString(dt, format) + : null; +} + +function toISODate(o, extended) { + const longFormat = o.c.year > 9999 || o.c.year < 0; + let c = ""; + if (longFormat && o.c.year >= 0) c += "+"; + c += padStart(o.c.year, longFormat ? 6 : 4); + + if (extended) { + c += "-"; + c += padStart(o.c.month); + c += "-"; + c += padStart(o.c.day); + } else { + c += padStart(o.c.month); + c += padStart(o.c.day); + } + return c; +} + +function toISOTime(o, extended, suppressSeconds, suppressMilliseconds, includeOffset) { + let c = padStart(o.c.hour); + if (extended) { + c += ":"; + c += padStart(o.c.minute); + if (o.c.second !== 0 || !suppressSeconds) { + c += ":"; + } + } else { + c += padStart(o.c.minute); + } + + if (o.c.second !== 0 || !suppressSeconds) { + c += padStart(o.c.second); + + if (o.c.millisecond !== 0 || !suppressMilliseconds) { + c += "."; + c += padStart(o.c.millisecond, 3); + } + } + + if (includeOffset) { + if (o.isOffsetFixed && o.offset === 0) { + c += "Z"; + } else if (o.o < 0) { + c += "-"; + c += padStart(Math.trunc(-o.o / 60)); + c += ":"; + c += padStart(Math.trunc(-o.o % 60)); + } else { + c += "+"; + c += padStart(Math.trunc(o.o / 60)); + c += ":"; + c += padStart(Math.trunc(o.o % 60)); + } + } + return c; +} + +// defaults for unspecified units in the supported calendars +const defaultUnitValues = { + month: 1, + day: 1, + hour: 0, + minute: 0, + second: 0, + millisecond: 0, + }, + defaultWeekUnitValues = { + weekNumber: 1, + weekday: 1, + hour: 0, + minute: 0, + second: 0, + millisecond: 0, + }, + defaultOrdinalUnitValues = { + ordinal: 1, + hour: 0, + minute: 0, + second: 0, + millisecond: 0, + }; + +// Units in the supported calendars, sorted by bigness +const orderedUnits = ["year", "month", "day", "hour", "minute", "second", "millisecond"], + orderedWeekUnits = [ + "weekYear", + "weekNumber", + "weekday", + "hour", + "minute", + "second", + "millisecond", + ], + orderedOrdinalUnits = ["year", "ordinal", "hour", "minute", "second", "millisecond"]; + +// standardize case and plurality in units +function normalizeUnit(unit) { + const normalized = { + year: "year", + years: "year", + month: "month", + months: "month", + day: "day", + days: "day", + hour: "hour", + hours: "hour", + minute: "minute", + minutes: "minute", + quarter: "quarter", + quarters: "quarter", + second: "second", + seconds: "second", + millisecond: "millisecond", + milliseconds: "millisecond", + weekday: "weekday", + weekdays: "weekday", + weeknumber: "weekNumber", + weeksnumber: "weekNumber", + weeknumbers: "weekNumber", + weekyear: "weekYear", + weekyears: "weekYear", + ordinal: "ordinal", + }[unit.toLowerCase()]; + + if (!normalized) throw new InvalidUnitError(unit); + + return normalized; +} + +// this is a dumbed down version of fromObject() that runs about 60% faster +// but doesn't do any validation, makes a bunch of assumptions about what units +// are present, and so on. + +// this is a dumbed down version of fromObject() that runs about 60% faster +// but doesn't do any validation, makes a bunch of assumptions about what units +// are present, and so on. +function quickDT(obj, opts) { + const zone = normalizeZone(opts.zone, Settings.defaultZone), + loc = Locale.fromObject(opts), + tsNow = Settings.now(); + + let ts, o; + + // assume we have the higher-order units + if (!isUndefined(obj.year)) { + for (const u of orderedUnits) { + if (isUndefined(obj[u])) { + obj[u] = defaultUnitValues[u]; + } + } + + const invalid = hasInvalidGregorianData(obj) || hasInvalidTimeData(obj); + if (invalid) { + return DateTime.invalid(invalid); + } + + const offsetProvis = zone.offset(tsNow); + [ts, o] = objToTS(obj, offsetProvis, zone); + } else { + ts = tsNow; + } + + return new DateTime({ ts, zone, loc, o }); +} + +function diffRelative(start, end, opts) { + const round = isUndefined(opts.round) ? true : opts.round, + format = (c, unit) => { + c = roundTo(c, round || opts.calendary ? 0 : 2, true); + const formatter = end.loc.clone(opts).relFormatter(opts); + return formatter.format(c, unit); + }, + differ = (unit) => { + if (opts.calendary) { + if (!end.hasSame(start, unit)) { + return end.startOf(unit).diff(start.startOf(unit), unit).get(unit); + } else return 0; + } else { + return end.diff(start, unit).get(unit); + } + }; + + if (opts.unit) { + return format(differ(opts.unit), opts.unit); + } + + for (const unit of opts.units) { + const count = differ(unit); + if (Math.abs(count) >= 1) { + return format(count, unit); + } + } + return format(start > end ? -0 : 0, opts.units[opts.units.length - 1]); +} + +function lastOpts(argList) { + let opts = {}, + args; + if (argList.length > 0 && typeof argList[argList.length - 1] === "object") { + opts = argList[argList.length - 1]; + args = Array.from(argList).slice(0, argList.length - 1); + } else { + args = Array.from(argList); + } + return [opts, args]; +} + +/** + * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them. + * + * A DateTime comprises of: + * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch. + * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone). + * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`. + * + * Here is a brief overview of the most commonly used functionality it provides: + * + * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link DateTime#local}, {@link DateTime#utc}, and (most flexibly) {@link DateTime#fromObject}. To create one from a standard string format, use {@link DateTime#fromISO}, {@link DateTime#fromHTTP}, and {@link DateTime#fromRFC2822}. To create one from a custom string format, use {@link DateTime#fromFormat}. To create one from a native JS date, use {@link DateTime#fromJSDate}. + * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link DateTime#toObject}), use the {@link DateTime#year}, {@link DateTime#month}, + * {@link DateTime#day}, {@link DateTime#hour}, {@link DateTime#minute}, {@link DateTime#second}, {@link DateTime#millisecond} accessors. + * * **Week calendar**: For ISO week calendar attributes, see the {@link DateTime#weekYear}, {@link DateTime#weekNumber}, and {@link DateTime#weekday} accessors. + * * **Configuration** See the {@link DateTime#locale} and {@link DateTime#numberingSystem} accessors. + * * **Transformation**: To transform the DateTime into other DateTimes, use {@link DateTime#set}, {@link DateTime#reconfigure}, {@link DateTime#setZone}, {@link DateTime#setLocale}, {@link DateTime.plus}, {@link DateTime#minus}, {@link DateTime#endOf}, {@link DateTime#startOf}, {@link DateTime#toUTC}, and {@link DateTime#toLocal}. + * * **Output**: To convert the DateTime to other representations, use the {@link DateTime#toRelative}, {@link DateTime#toRelativeCalendar}, {@link DateTime#toJSON}, {@link DateTime#toISO}, {@link DateTime#toHTTP}, {@link DateTime#toObject}, {@link DateTime#toRFC2822}, {@link DateTime#toString}, {@link DateTime#toLocaleString}, {@link DateTime#toFormat}, {@link DateTime#toMillis} and {@link DateTime#toJSDate}. + * + * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation. + */ +class DateTime { + /** + * @access private + */ + constructor(config) { + const zone = config.zone || Settings.defaultZone; + + let invalid = + config.invalid || + (Number.isNaN(config.ts) ? new Invalid("invalid input") : null) || + (!zone.isValid ? unsupportedZone(zone) : null); + /** + * @access private + */ + this.ts = isUndefined(config.ts) ? Settings.now() : config.ts; + + let c = null, + o = null; + if (!invalid) { + const unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone); + + if (unchanged) { + [c, o] = [config.old.c, config.old.o]; + } else { + const ot = zone.offset(this.ts); + c = tsToObj(this.ts, ot); + invalid = Number.isNaN(c.year) ? new Invalid("invalid input") : null; + c = invalid ? null : c; + o = invalid ? null : ot; + } + } + + /** + * @access private + */ + this._zone = zone; + /** + * @access private + */ + this.loc = config.loc || Locale.create(); + /** + * @access private + */ + this.invalid = invalid; + /** + * @access private + */ + this.weekData = null; + /** + * @access private + */ + this.c = c; + /** + * @access private + */ + this.o = o; + /** + * @access private + */ + this.isLuxonDateTime = true; + } + + // CONSTRUCT + + /** + * Create a DateTime for the current instant, in the system's time zone. + * + * Use Settings to override these default values if needed. + * @example DateTime.now().toISO() //~> now in the ISO format + * @return {DateTime} + */ + static now() { + return new DateTime({}); + } + + /** + * Create a local DateTime + * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used + * @param {number} [month=1] - The month, 1-indexed + * @param {number} [day=1] - The day of the month, 1-indexed + * @param {number} [hour=0] - The hour of the day, in 24-hour time + * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59 + * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59 + * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999 + * @example DateTime.local() //~> now + * @example DateTime.local({ zone: "America/New_York" }) //~> now, in US east coast time + * @example DateTime.local(2017) //~> 2017-01-01T00:00:00 + * @example DateTime.local(2017, 3) //~> 2017-03-01T00:00:00 + * @example DateTime.local(2017, 3, 12, { locale: "fr" }) //~> 2017-03-12T00:00:00, with a French locale + * @example DateTime.local(2017, 3, 12, 5) //~> 2017-03-12T05:00:00 + * @example DateTime.local(2017, 3, 12, 5, { zone: "utc" }) //~> 2017-03-12T05:00:00, in UTC + * @example DateTime.local(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00 + * @example DateTime.local(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10 + * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765) //~> 2017-03-12T05:45:10.765 + * @return {DateTime} + */ + static local() { + const [opts, args] = lastOpts(arguments), + [year, month, day, hour, minute, second, millisecond] = args; + return quickDT({ year, month, day, hour, minute, second, millisecond }, opts); + } + + /** + * Create a DateTime in UTC + * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used + * @param {number} [month=1] - The month, 1-indexed + * @param {number} [day=1] - The day of the month + * @param {number} [hour=0] - The hour of the day, in 24-hour time + * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59 + * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59 + * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999 + * @param {Object} options - configuration options for the DateTime + * @param {string} [options.locale] - a locale to set on the resulting DateTime instance + * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance + * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance + * @example DateTime.utc() //~> now + * @example DateTime.utc(2017) //~> 2017-01-01T00:00:00Z + * @example DateTime.utc(2017, 3) //~> 2017-03-01T00:00:00Z + * @example DateTime.utc(2017, 3, 12) //~> 2017-03-12T00:00:00Z + * @example DateTime.utc(2017, 3, 12, 5) //~> 2017-03-12T05:00:00Z + * @example DateTime.utc(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00Z + * @example DateTime.utc(2017, 3, 12, 5, 45, { locale: "fr" }) //~> 2017-03-12T05:45:00Z with a French locale + * @example DateTime.utc(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10Z + * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765, { locale: "fr" }) //~> 2017-03-12T05:45:10.765Z with a French locale + * @return {DateTime} + */ + static utc() { + const [opts, args] = lastOpts(arguments), + [year, month, day, hour, minute, second, millisecond] = args; + + opts.zone = FixedOffsetZone.utcInstance; + return quickDT({ year, month, day, hour, minute, second, millisecond }, opts); + } + + /** + * Create a DateTime from a JavaScript Date object. Uses the default zone. + * @param {Date} date - a JavaScript Date object + * @param {Object} options - configuration options for the DateTime + * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into + * @return {DateTime} + */ + static fromJSDate(date, options = {}) { + const ts = isDate(date) ? date.valueOf() : NaN; + if (Number.isNaN(ts)) { + return DateTime.invalid("invalid input"); + } + + const zoneToUse = normalizeZone(options.zone, Settings.defaultZone); + if (!zoneToUse.isValid) { + return DateTime.invalid(unsupportedZone(zoneToUse)); + } + + return new DateTime({ + ts: ts, + zone: zoneToUse, + loc: Locale.fromObject(options), + }); + } + + /** + * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone. + * @param {number} milliseconds - a number of milliseconds since 1970 UTC + * @param {Object} options - configuration options for the DateTime + * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into + * @param {string} [options.locale] - a locale to set on the resulting DateTime instance + * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance + * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance + * @return {DateTime} + */ + static fromMillis(milliseconds, options = {}) { + if (!isNumber(milliseconds)) { + throw new InvalidArgumentError( + `fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}` + ); + } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) { + // this isn't perfect because because we can still end up out of range because of additional shifting, but it's a start + return DateTime.invalid("Timestamp out of range"); + } else { + return new DateTime({ + ts: milliseconds, + zone: normalizeZone(options.zone, Settings.defaultZone), + loc: Locale.fromObject(options), + }); + } + } + + /** + * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone. + * @param {number} seconds - a number of seconds since 1970 UTC + * @param {Object} options - configuration options for the DateTime + * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into + * @param {string} [options.locale] - a locale to set on the resulting DateTime instance + * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance + * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance + * @return {DateTime} + */ + static fromSeconds(seconds, options = {}) { + if (!isNumber(seconds)) { + throw new InvalidArgumentError("fromSeconds requires a numerical input"); + } else { + return new DateTime({ + ts: seconds * 1000, + zone: normalizeZone(options.zone, Settings.defaultZone), + loc: Locale.fromObject(options), + }); + } + } + + /** + * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults. + * @param {Object} obj - the object to create the DateTime from + * @param {number} obj.year - a year, such as 1987 + * @param {number} obj.month - a month, 1-12 + * @param {number} obj.day - a day of the month, 1-31, depending on the month + * @param {number} obj.ordinal - day of the year, 1-365 or 366 + * @param {number} obj.weekYear - an ISO week year + * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year + * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday + * @param {number} obj.hour - hour of the day, 0-23 + * @param {number} obj.minute - minute of the hour, 0-59 + * @param {number} obj.second - second of the minute, 0-59 + * @param {number} obj.millisecond - millisecond of the second, 0-999 + * @param {Object} opts - options for creating this DateTime + * @param {string|Zone} [opts.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone() + * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance + * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance + * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance + * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25' + * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01' + * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06 + * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'utc' }), + * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'local' }) + * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'America/New_York' }) + * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13' + * @return {DateTime} + */ + static fromObject(obj, opts = {}) { + obj = obj || {}; + const zoneToUse = normalizeZone(opts.zone, Settings.defaultZone); + if (!zoneToUse.isValid) { + return DateTime.invalid(unsupportedZone(zoneToUse)); + } + + const tsNow = Settings.now(), + offsetProvis = !isUndefined(opts.specificOffset) + ? opts.specificOffset + : zoneToUse.offset(tsNow), + normalized = normalizeObject(obj, normalizeUnit), + containsOrdinal = !isUndefined(normalized.ordinal), + containsGregorYear = !isUndefined(normalized.year), + containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day), + containsGregor = containsGregorYear || containsGregorMD, + definiteWeekDef = normalized.weekYear || normalized.weekNumber, + loc = Locale.fromObject(opts); + + // cases: + // just a weekday -> this week's instance of that weekday, no worries + // (gregorian data or ordinal) + (weekYear or weekNumber) -> error + // (gregorian month or day) + ordinal -> error + // otherwise just use weeks or ordinals or gregorian, depending on what's specified + + if ((containsGregor || containsOrdinal) && definiteWeekDef) { + throw new ConflictingSpecificationError( + "Can't mix weekYear/weekNumber units with year/month/day or ordinals" + ); + } + + if (containsGregorMD && containsOrdinal) { + throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day"); + } + + const useWeekData = definiteWeekDef || (normalized.weekday && !containsGregor); + + // configure ourselves to deal with gregorian dates or week stuff + let units, + defaultValues, + objNow = tsToObj(tsNow, offsetProvis); + if (useWeekData) { + units = orderedWeekUnits; + defaultValues = defaultWeekUnitValues; + objNow = gregorianToWeek(objNow); + } else if (containsOrdinal) { + units = orderedOrdinalUnits; + defaultValues = defaultOrdinalUnitValues; + objNow = gregorianToOrdinal(objNow); + } else { + units = orderedUnits; + defaultValues = defaultUnitValues; + } + + // set default values for missing stuff + let foundFirst = false; + for (const u of units) { + const v = normalized[u]; + if (!isUndefined(v)) { + foundFirst = true; + } else if (foundFirst) { + normalized[u] = defaultValues[u]; + } else { + normalized[u] = objNow[u]; + } + } + + // make sure the values we have are in range + const higherOrderInvalid = useWeekData + ? hasInvalidWeekData(normalized) + : containsOrdinal + ? hasInvalidOrdinalData(normalized) + : hasInvalidGregorianData(normalized), + invalid = higherOrderInvalid || hasInvalidTimeData(normalized); + + if (invalid) { + return DateTime.invalid(invalid); + } + + // compute the actual time + const gregorian = useWeekData + ? weekToGregorian(normalized) + : containsOrdinal + ? ordinalToGregorian(normalized) + : normalized, + [tsFinal, offsetFinal] = objToTS(gregorian, offsetProvis, zoneToUse), + inst = new DateTime({ + ts: tsFinal, + zone: zoneToUse, + o: offsetFinal, + loc, + }); + + // gregorian data + weekday serves only to validate + if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) { + return DateTime.invalid( + "mismatched weekday", + `you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}` + ); + } + + return inst; + } + + /** + * Create a DateTime from an ISO 8601 string + * @param {string} text - the ISO string + * @param {Object} opts - options to affect the creation + * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone + * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one + * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance + * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance + * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance + * @example DateTime.fromISO('2016-05-25T09:08:34.123') + * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00') + * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true}) + * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'}) + * @example DateTime.fromISO('2016-W05-4') + * @return {DateTime} + */ + static fromISO(text, opts = {}) { + const [vals, parsedZone] = parseISODate(text); + return parseDataToDateTime(vals, parsedZone, opts, "ISO 8601", text); + } + + /** + * Create a DateTime from an RFC 2822 string + * @param {string} text - the RFC 2822 string + * @param {Object} opts - options to affect the creation + * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in. + * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one + * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance + * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance + * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance + * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT') + * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600') + * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z') + * @return {DateTime} + */ + static fromRFC2822(text, opts = {}) { + const [vals, parsedZone] = parseRFC2822Date(text); + return parseDataToDateTime(vals, parsedZone, opts, "RFC 2822", text); + } + + /** + * Create a DateTime from an HTTP header date + * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1 + * @param {string} text - the HTTP header date + * @param {Object} opts - options to affect the creation + * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in. + * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods. + * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance + * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance + * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance + * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT') + * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT') + * @example DateTime.fromHTTP('Sun Nov 6 08:49:37 1994') + * @return {DateTime} + */ + static fromHTTP(text, opts = {}) { + const [vals, parsedZone] = parseHTTPDate(text); + return parseDataToDateTime(vals, parsedZone, opts, "HTTP", opts); + } + + /** + * Create a DateTime from an input string and format string. + * Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens). + * @param {string} text - the string to parse + * @param {string} fmt - the format the string is expected to be in (see the link below for the formats) + * @param {Object} opts - options to affect the creation + * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone + * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one + * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale + * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system + * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance + * @return {DateTime} + */ + static fromFormat(text, fmt, opts = {}) { + if (isUndefined(text) || isUndefined(fmt)) { + throw new InvalidArgumentError("fromFormat requires an input string and a format"); + } + + const { locale = null, numberingSystem = null } = opts, + localeToUse = Locale.fromOpts({ + locale, + numberingSystem, + defaultToEN: true, + }), + [vals, parsedZone, specificOffset, invalid] = parseFromTokens(localeToUse, text, fmt); + if (invalid) { + return DateTime.invalid(invalid); + } else { + return parseDataToDateTime(vals, parsedZone, opts, `format ${fmt}`, text, specificOffset); + } + } + + /** + * @deprecated use fromFormat instead + */ + static fromString(text, fmt, opts = {}) { + return DateTime.fromFormat(text, fmt, opts); + } + + /** + * Create a DateTime from a SQL date, time, or datetime + * Defaults to en-US if no locale has been specified, regardless of the system's locale + * @param {string} text - the string to parse + * @param {Object} opts - options to affect the creation + * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone + * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one + * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale + * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system + * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance + * @example DateTime.fromSQL('2017-05-15') + * @example DateTime.fromSQL('2017-05-15 09:12:34') + * @example DateTime.fromSQL('2017-05-15 09:12:34.342') + * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00') + * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles') + * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true }) + * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' }) + * @example DateTime.fromSQL('09:12:34.342') + * @return {DateTime} + */ + static fromSQL(text, opts = {}) { + const [vals, parsedZone] = parseSQL(text); + return parseDataToDateTime(vals, parsedZone, opts, "SQL", text); + } + + /** + * Create an invalid DateTime. + * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent + * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information + * @return {DateTime} + */ + static invalid(reason, explanation = null) { + if (!reason) { + throw new InvalidArgumentError("need to specify a reason the DateTime is invalid"); + } + + const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation); + + if (Settings.throwOnInvalid) { + throw new InvalidDateTimeError(invalid); + } else { + return new DateTime({ invalid }); + } + } + + /** + * Check if an object is a DateTime. Works across context boundaries + * @param {object} o + * @return {boolean} + */ + static isDateTime(o) { + return (o && o.isLuxonDateTime) || false; + } + + // INFO + + /** + * Get the value of unit. + * @param {string} unit - a unit such as 'minute' or 'day' + * @example DateTime.local(2017, 7, 4).get('month'); //=> 7 + * @example DateTime.local(2017, 7, 4).get('day'); //=> 4 + * @return {number} + */ + get(unit) { + return this[unit]; + } + + /** + * Returns whether the DateTime is valid. Invalid DateTimes occur when: + * * The DateTime was created from invalid calendar information, such as the 13th month or February 30 + * * The DateTime was created by an operation on another invalid date + * @type {boolean} + */ + get isValid() { + return this.invalid === null; + } + + /** + * Returns an error code if this DateTime is invalid, or null if the DateTime is valid + * @type {string} + */ + get invalidReason() { + return this.invalid ? this.invalid.reason : null; + } + + /** + * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid + * @type {string} + */ + get invalidExplanation() { + return this.invalid ? this.invalid.explanation : null; + } + + /** + * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime + * + * @type {string} + */ + get locale() { + return this.isValid ? this.loc.locale : null; + } + + /** + * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime + * + * @type {string} + */ + get numberingSystem() { + return this.isValid ? this.loc.numberingSystem : null; + } + + /** + * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime + * + * @type {string} + */ + get outputCalendar() { + return this.isValid ? this.loc.outputCalendar : null; + } + + /** + * Get the time zone associated with this DateTime. + * @type {Zone} + */ + get zone() { + return this._zone; + } + + /** + * Get the name of the time zone. + * @type {string} + */ + get zoneName() { + return this.isValid ? this.zone.name : null; + } + + /** + * Get the year + * @example DateTime.local(2017, 5, 25).year //=> 2017 + * @type {number} + */ + get year() { + return this.isValid ? this.c.year : NaN; + } + + /** + * Get the quarter + * @example DateTime.local(2017, 5, 25).quarter //=> 2 + * @type {number} + */ + get quarter() { + return this.isValid ? Math.ceil(this.c.month / 3) : NaN; + } + + /** + * Get the month (1-12). + * @example DateTime.local(2017, 5, 25).month //=> 5 + * @type {number} + */ + get month() { + return this.isValid ? this.c.month : NaN; + } + + /** + * Get the day of the month (1-30ish). + * @example DateTime.local(2017, 5, 25).day //=> 25 + * @type {number} + */ + get day() { + return this.isValid ? this.c.day : NaN; + } + + /** + * Get the hour of the day (0-23). + * @example DateTime.local(2017, 5, 25, 9).hour //=> 9 + * @type {number} + */ + get hour() { + return this.isValid ? this.c.hour : NaN; + } + + /** + * Get the minute of the hour (0-59). + * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30 + * @type {number} + */ + get minute() { + return this.isValid ? this.c.minute : NaN; + } + + /** + * Get the second of the minute (0-59). + * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52 + * @type {number} + */ + get second() { + return this.isValid ? this.c.second : NaN; + } + + /** + * Get the millisecond of the second (0-999). + * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654 + * @type {number} + */ + get millisecond() { + return this.isValid ? this.c.millisecond : NaN; + } + + /** + * Get the week year + * @see https://en.wikipedia.org/wiki/ISO_week_date + * @example DateTime.local(2014, 12, 31).weekYear //=> 2015 + * @type {number} + */ + get weekYear() { + return this.isValid ? possiblyCachedWeekData(this).weekYear : NaN; + } + + /** + * Get the week number of the week year (1-52ish). + * @see https://en.wikipedia.org/wiki/ISO_week_date + * @example DateTime.local(2017, 5, 25).weekNumber //=> 21 + * @type {number} + */ + get weekNumber() { + return this.isValid ? possiblyCachedWeekData(this).weekNumber : NaN; + } + + /** + * Get the day of the week. + * 1 is Monday and 7 is Sunday + * @see https://en.wikipedia.org/wiki/ISO_week_date + * @example DateTime.local(2014, 11, 31).weekday //=> 4 + * @type {number} + */ + get weekday() { + return this.isValid ? possiblyCachedWeekData(this).weekday : NaN; + } + + /** + * Get the ordinal (meaning the day of the year) + * @example DateTime.local(2017, 5, 25).ordinal //=> 145 + * @type {number|DateTime} + */ + get ordinal() { + return this.isValid ? gregorianToOrdinal(this.c).ordinal : NaN; + } + + /** + * Get the human readable short month name, such as 'Oct'. + * Defaults to the system's locale if no locale has been specified + * @example DateTime.local(2017, 10, 30).monthShort //=> Oct + * @type {string} + */ + get monthShort() { + return this.isValid ? Info.months("short", { locObj: this.loc })[this.month - 1] : null; + } + + /** + * Get the human readable long month name, such as 'October'. + * Defaults to the system's locale if no locale has been specified + * @example DateTime.local(2017, 10, 30).monthLong //=> October + * @type {string} + */ + get monthLong() { + return this.isValid ? Info.months("long", { locObj: this.loc })[this.month - 1] : null; + } + + /** + * Get the human readable short weekday, such as 'Mon'. + * Defaults to the system's locale if no locale has been specified + * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon + * @type {string} + */ + get weekdayShort() { + return this.isValid ? Info.weekdays("short", { locObj: this.loc })[this.weekday - 1] : null; + } + + /** + * Get the human readable long weekday, such as 'Monday'. + * Defaults to the system's locale if no locale has been specified + * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday + * @type {string} + */ + get weekdayLong() { + return this.isValid ? Info.weekdays("long", { locObj: this.loc })[this.weekday - 1] : null; + } + + /** + * Get the UTC offset of this DateTime in minutes + * @example DateTime.now().offset //=> -240 + * @example DateTime.utc().offset //=> 0 + * @type {number} + */ + get offset() { + return this.isValid ? +this.o : NaN; + } + + /** + * Get the short human name for the zone's current offset, for example "EST" or "EDT". + * Defaults to the system's locale if no locale has been specified + * @type {string} + */ + get offsetNameShort() { + if (this.isValid) { + return this.zone.offsetName(this.ts, { + format: "short", + locale: this.locale, + }); + } else { + return null; + } + } + + /** + * Get the long human name for the zone's current offset, for example "Eastern Standard Time" or "Eastern Daylight Time". + * Defaults to the system's locale if no locale has been specified + * @type {string} + */ + get offsetNameLong() { + if (this.isValid) { + return this.zone.offsetName(this.ts, { + format: "long", + locale: this.locale, + }); + } else { + return null; + } + } + + /** + * Get whether this zone's offset ever changes, as in a DST. + * @type {boolean} + */ + get isOffsetFixed() { + return this.isValid ? this.zone.isUniversal : null; + } + + /** + * Get whether the DateTime is in a DST. + * @type {boolean} + */ + get isInDST() { + if (this.isOffsetFixed) { + return false; + } else { + return ( + this.offset > this.set({ month: 1 }).offset || this.offset > this.set({ month: 5 }).offset + ); + } + } + + /** + * Returns true if this DateTime is in a leap year, false otherwise + * @example DateTime.local(2016).isInLeapYear //=> true + * @example DateTime.local(2013).isInLeapYear //=> false + * @type {boolean} + */ + get isInLeapYear() { + return isLeapYear(this.year); + } + + /** + * Returns the number of days in this DateTime's month + * @example DateTime.local(2016, 2).daysInMonth //=> 29 + * @example DateTime.local(2016, 3).daysInMonth //=> 31 + * @type {number} + */ + get daysInMonth() { + return daysInMonth(this.year, this.month); + } + + /** + * Returns the number of days in this DateTime's year + * @example DateTime.local(2016).daysInYear //=> 366 + * @example DateTime.local(2013).daysInYear //=> 365 + * @type {number} + */ + get daysInYear() { + return this.isValid ? daysInYear(this.year) : NaN; + } + + /** + * Returns the number of weeks in this DateTime's year + * @see https://en.wikipedia.org/wiki/ISO_week_date + * @example DateTime.local(2004).weeksInWeekYear //=> 53 + * @example DateTime.local(2013).weeksInWeekYear //=> 52 + * @type {number} + */ + get weeksInWeekYear() { + return this.isValid ? weeksInWeekYear(this.weekYear) : NaN; + } + + /** + * Returns the resolved Intl options for this DateTime. + * This is useful in understanding the behavior of formatting methods + * @param {Object} opts - the same options as toLocaleString + * @return {Object} + */ + resolvedLocaleOptions(opts = {}) { + const { locale, numberingSystem, calendar } = Formatter.create( + this.loc.clone(opts), + opts + ).resolvedOptions(this); + return { locale, numberingSystem, outputCalendar: calendar }; + } + + // TRANSFORM + + /** + * "Set" the DateTime's zone to UTC. Returns a newly-constructed DateTime. + * + * Equivalent to {@link DateTime#setZone}('utc') + * @param {number} [offset=0] - optionally, an offset from UTC in minutes + * @param {Object} [opts={}] - options to pass to `setZone()` + * @return {DateTime} + */ + toUTC(offset = 0, opts = {}) { + return this.setZone(FixedOffsetZone.instance(offset), opts); + } + + /** + * "Set" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime. + * + * Equivalent to `setZone('local')` + * @return {DateTime} + */ + toLocal() { + return this.setZone(Settings.defaultZone); + } + + /** + * "Set" the DateTime's zone to specified zone. Returns a newly-constructed DateTime. + * + * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link DateTime#plus}. You may wish to use {@link DateTime#toLocal} and {@link DateTime#toUTC} which provide simple convenience wrappers for commonly used zones. + * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link DateTime#Zone} class. + * @param {Object} opts - options + * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this. + * @return {DateTime} + */ + setZone(zone, { keepLocalTime = false, keepCalendarTime = false } = {}) { + zone = normalizeZone(zone, Settings.defaultZone); + if (zone.equals(this.zone)) { + return this; + } else if (!zone.isValid) { + return DateTime.invalid(unsupportedZone(zone)); + } else { + let newTS = this.ts; + if (keepLocalTime || keepCalendarTime) { + const offsetGuess = zone.offset(this.ts); + const asObj = this.toObject(); + [newTS] = objToTS(asObj, offsetGuess, zone); + } + return clone(this, { ts: newTS, zone }); + } + } + + /** + * "Set" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime. + * @param {Object} properties - the properties to set + * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' }) + * @return {DateTime} + */ + reconfigure({ locale, numberingSystem, outputCalendar } = {}) { + const loc = this.loc.clone({ locale, numberingSystem, outputCalendar }); + return clone(this, { loc }); + } + + /** + * "Set" the locale. Returns a newly-constructed DateTime. + * Just a convenient alias for reconfigure({ locale }) + * @example DateTime.local(2017, 5, 25).setLocale('en-GB') + * @return {DateTime} + */ + setLocale(locale) { + return this.reconfigure({ locale }); + } + + /** + * "Set" the values of specified units. Returns a newly-constructed DateTime. + * You can only set units with this method; for "setting" metadata, see {@link DateTime#reconfigure} and {@link DateTime#setZone}. + * @param {Object} values - a mapping of units to numbers + * @example dt.set({ year: 2017 }) + * @example dt.set({ hour: 8, minute: 30 }) + * @example dt.set({ weekday: 5 }) + * @example dt.set({ year: 2005, ordinal: 234 }) + * @return {DateTime} + */ + set(values) { + if (!this.isValid) return this; + + const normalized = normalizeObject(values, normalizeUnit), + settingWeekStuff = + !isUndefined(normalized.weekYear) || + !isUndefined(normalized.weekNumber) || + !isUndefined(normalized.weekday), + containsOrdinal = !isUndefined(normalized.ordinal), + containsGregorYear = !isUndefined(normalized.year), + containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day), + containsGregor = containsGregorYear || containsGregorMD, + definiteWeekDef = normalized.weekYear || normalized.weekNumber; + + if ((containsGregor || containsOrdinal) && definiteWeekDef) { + throw new ConflictingSpecificationError( + "Can't mix weekYear/weekNumber units with year/month/day or ordinals" + ); + } + + if (containsGregorMD && containsOrdinal) { + throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day"); + } + + let mixed; + if (settingWeekStuff) { + mixed = weekToGregorian({ ...gregorianToWeek(this.c), ...normalized }); + } else if (!isUndefined(normalized.ordinal)) { + mixed = ordinalToGregorian({ ...gregorianToOrdinal(this.c), ...normalized }); + } else { + mixed = { ...this.toObject(), ...normalized }; + + // if we didn't set the day but we ended up on an overflow date, + // use the last day of the right month + if (isUndefined(normalized.day)) { + mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day); + } + } + + const [ts, o] = objToTS(mixed, this.o, this.zone); + return clone(this, { ts, o }); + } + + /** + * Add a period of time to this DateTime and return the resulting DateTime + * + * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between. + * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject() + * @example DateTime.now().plus(123) //~> in 123 milliseconds + * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes + * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow + * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday + * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min + * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min + * @return {DateTime} + */ + plus(duration) { + if (!this.isValid) return this; + const dur = Duration.fromDurationLike(duration); + return clone(this, adjustTime(this, dur)); + } + + /** + * Subtract a period of time to this DateTime and return the resulting DateTime + * See {@link DateTime#plus} + * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject() + @return {DateTime} + */ + minus(duration) { + if (!this.isValid) return this; + const dur = Duration.fromDurationLike(duration).negate(); + return clone(this, adjustTime(this, dur)); + } + + /** + * "Set" this DateTime to the beginning of a unit of time. + * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'. + * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01' + * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01' + * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays + * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00' + * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00' + * @return {DateTime} + */ + startOf(unit) { + if (!this.isValid) return this; + const o = {}, + normalizedUnit = Duration.normalizeUnit(unit); + switch (normalizedUnit) { + case "years": + o.month = 1; + // falls through + case "quarters": + case "months": + o.day = 1; + // falls through + case "weeks": + case "days": + o.hour = 0; + // falls through + case "hours": + o.minute = 0; + // falls through + case "minutes": + o.second = 0; + // falls through + case "seconds": + o.millisecond = 0; + break; + // no default, invalid units throw in normalizeUnit() + } + + if (normalizedUnit === "weeks") { + o.weekday = 1; + } + + if (normalizedUnit === "quarters") { + const q = Math.ceil(this.month / 3); + o.month = (q - 1) * 3 + 1; + } + + return this.set(o); + } + + /** + * "Set" this DateTime to the end (meaning the last millisecond) of a unit of time + * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'. + * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00' + * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00' + * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays + * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00' + * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00' + * @return {DateTime} + */ + endOf(unit) { + return this.isValid + ? this.plus({ [unit]: 1 }) + .startOf(unit) + .minus(1) + : this; + } + + // OUTPUT + + /** + * Returns a string representation of this DateTime formatted according to the specified format string. + * **You may not want this.** See {@link DateTime#toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/formatting?id=table-of-tokens). + * Defaults to en-US if no locale has been specified, regardless of the system's locale. + * @param {string} fmt - the format string + * @param {Object} opts - opts to override the configuration options on this DateTime + * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22' + * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22' + * @example DateTime.now().toFormat('yyyy LLL dd', { locale: "fr" }) //=> '2017 avr. 22' + * @example DateTime.now().toFormat("HH 'hours and' mm 'minutes'") //=> '20 hours and 55 minutes' + * @return {string} + */ + toFormat(fmt, opts = {}) { + return this.isValid + ? Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this, fmt) + : INVALID; + } + + /** + * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`. + * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation + * of the DateTime in the assigned locale. + * Defaults to the system's locale if no locale has been specified + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat + * @param formatOpts {Object} - Intl.DateTimeFormat constructor options and configuration options + * @param {Object} opts - opts to override the configuration options on this DateTime + * @example DateTime.now().toLocaleString(); //=> 4/20/2017 + * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017' + * @example DateTime.now().toLocaleString({ locale: 'en-gb' }); //=> '20/04/2017' + * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017' + * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM' + * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM' + * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20' + * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM' + * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }); //=> '11:32' + * @return {string} + */ + toLocaleString(formatOpts = DATE_SHORT, opts = {}) { + return this.isValid + ? Formatter.create(this.loc.clone(opts), formatOpts).formatDateTime(this) + : INVALID; + } + + /** + * Returns an array of format "parts", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output. + * Defaults to the system's locale if no locale has been specified + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts + * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`. + * @example DateTime.now().toLocaleParts(); //=> [ + * //=> { type: 'day', value: '25' }, + * //=> { type: 'literal', value: '/' }, + * //=> { type: 'month', value: '05' }, + * //=> { type: 'literal', value: '/' }, + * //=> { type: 'year', value: '1982' } + * //=> ] + */ + toLocaleParts(opts = {}) { + return this.isValid + ? Formatter.create(this.loc.clone(opts), opts).formatDateTimeParts(this) + : []; + } + + /** + * Returns an ISO 8601-compliant string representation of this DateTime + * @param {Object} opts - options + * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0 + * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0 + * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00' + * @param {string} [opts.format='extended'] - choose between the basic and extended format + * @example DateTime.utc(1983, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z' + * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00' + * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335' + * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400' + * @return {string} + */ + toISO({ + format = "extended", + suppressSeconds = false, + suppressMilliseconds = false, + includeOffset = true, + } = {}) { + if (!this.isValid) { + return null; + } + + const ext = format === "extended"; + + let c = toISODate(this, ext); + c += "T"; + c += toISOTime(this, ext, suppressSeconds, suppressMilliseconds, includeOffset); + return c; + } + + /** + * Returns an ISO 8601-compliant string representation of this DateTime's date component + * @param {Object} opts - options + * @param {string} [opts.format='extended'] - choose between the basic and extended format + * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25' + * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525' + * @return {string} + */ + toISODate({ format = "extended" } = {}) { + if (!this.isValid) { + return null; + } + + return toISODate(this, format === "extended"); + } + + /** + * Returns an ISO 8601-compliant string representation of this DateTime's week date + * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2' + * @return {string} + */ + toISOWeekDate() { + return toTechFormat(this, "kkkk-'W'WW-c"); + } + + /** + * Returns an ISO 8601-compliant string representation of this DateTime's time component + * @param {Object} opts - options + * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0 + * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0 + * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00' + * @param {boolean} [opts.includePrefix=false] - include the `T` prefix + * @param {string} [opts.format='extended'] - choose between the basic and extended format + * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z' + * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z' + * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z' + * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z' + * @return {string} + */ + toISOTime({ + suppressMilliseconds = false, + suppressSeconds = false, + includeOffset = true, + includePrefix = false, + format = "extended", + } = {}) { + if (!this.isValid) { + return null; + } + + let c = includePrefix ? "T" : ""; + return ( + c + + toISOTime(this, format === "extended", suppressSeconds, suppressMilliseconds, includeOffset) + ); + } + + /** + * Returns an RFC 2822-compatible string representation of this DateTime + * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000' + * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400' + * @return {string} + */ + toRFC2822() { + return toTechFormat(this, "EEE, dd LLL yyyy HH:mm:ss ZZZ", false); + } + + /** + * Returns a string representation of this DateTime appropriate for use in HTTP headers. The output is always expressed in GMT. + * Specifically, the string conforms to RFC 1123. + * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1 + * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT' + * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT' + * @return {string} + */ + toHTTP() { + return toTechFormat(this.toUTC(), "EEE, dd LLL yyyy HH:mm:ss 'GMT'"); + } + + /** + * Returns a string representation of this DateTime appropriate for use in SQL Date + * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13' + * @return {string} + */ + toSQLDate() { + if (!this.isValid) { + return null; + } + return toISODate(this, true); + } + + /** + * Returns a string representation of this DateTime appropriate for use in SQL Time + * @param {Object} opts - options + * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset. + * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00' + * @example DateTime.utc().toSQL() //=> '05:15:16.345' + * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00' + * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345' + * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York' + * @return {string} + */ + toSQLTime({ includeOffset = true, includeZone = false } = {}) { + let fmt = "HH:mm:ss.SSS"; + + if (includeZone || includeOffset) { + fmt += " "; + if (includeZone) { + fmt += "z"; + } else if (includeOffset) { + fmt += "ZZ"; + } + } + + return toTechFormat(this, fmt, true); + } + + /** + * Returns a string representation of this DateTime appropriate for use in SQL DateTime + * @param {Object} opts - options + * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset. + * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00' + * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z' + * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00' + * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000' + * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York' + * @return {string} + */ + toSQL(opts = {}) { + if (!this.isValid) { + return null; + } + + return `${this.toSQLDate()} ${this.toSQLTime(opts)}`; + } + + /** + * Returns a string representation of this DateTime appropriate for debugging + * @return {string} + */ + toString() { + return this.isValid ? this.toISO() : INVALID; + } + + /** + * Returns the epoch milliseconds of this DateTime. Alias of {@link DateTime#toMillis} + * @return {number} + */ + valueOf() { + return this.toMillis(); + } + + /** + * Returns the epoch milliseconds of this DateTime. + * @return {number} + */ + toMillis() { + return this.isValid ? this.ts : NaN; + } + + /** + * Returns the epoch seconds of this DateTime. + * @return {number} + */ + toSeconds() { + return this.isValid ? this.ts / 1000 : NaN; + } + + /** + * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON. + * @return {string} + */ + toJSON() { + return this.toISO(); + } + + /** + * Returns a BSON serializable equivalent to this DateTime. + * @return {Date} + */ + toBSON() { + return this.toJSDate(); + } + + /** + * Returns a JavaScript object with this DateTime's year, month, day, and so on. + * @param opts - options for generating the object + * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output + * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 } + * @return {Object} + */ + toObject(opts = {}) { + if (!this.isValid) return {}; + + const base = { ...this.c }; + + if (opts.includeConfig) { + base.outputCalendar = this.outputCalendar; + base.numberingSystem = this.loc.numberingSystem; + base.locale = this.loc.locale; + } + return base; + } + + /** + * Returns a JavaScript Date equivalent to this DateTime. + * @return {Date} + */ + toJSDate() { + return new Date(this.isValid ? this.ts : NaN); + } + + // COMPARE + + /** + * Return the difference between two DateTimes as a Duration. + * @param {DateTime} otherDateTime - the DateTime to compare this one to + * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration. + * @param {Object} opts - options that affect the creation of the Duration + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @example + * var i1 = DateTime.fromISO('1982-05-25T09:45'), + * i2 = DateTime.fromISO('1983-10-14T10:30'); + * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 } + * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 } + * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 } + * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 } + * @return {Duration} + */ + diff(otherDateTime, unit = "milliseconds", opts = {}) { + if (!this.isValid || !otherDateTime.isValid) { + return Duration.invalid("created by diffing an invalid DateTime"); + } + + const durOpts = { locale: this.locale, numberingSystem: this.numberingSystem, ...opts }; + + const units = maybeArray(unit).map(Duration.normalizeUnit), + otherIsLater = otherDateTime.valueOf() > this.valueOf(), + earlier = otherIsLater ? this : otherDateTime, + later = otherIsLater ? otherDateTime : this, + diffed = diff(earlier, later, units, durOpts); + + return otherIsLater ? diffed.negate() : diffed; + } + + /** + * Return the difference between this DateTime and right now. + * See {@link DateTime#diff} + * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration + * @param {Object} opts - options that affect the creation of the Duration + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @return {Duration} + */ + diffNow(unit = "milliseconds", opts = {}) { + return this.diff(DateTime.now(), unit, opts); + } + + /** + * Return an Interval spanning between this DateTime and another DateTime + * @param {DateTime} otherDateTime - the other end point of the Interval + * @return {Interval} + */ + until(otherDateTime) { + return this.isValid ? Interval.fromDateTimes(this, otherDateTime) : this; + } + + /** + * Return whether this DateTime is in the same unit of time as another DateTime. + * Higher-order units must also be identical for this function to return `true`. + * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link DateTime#setZone} to convert one of the dates if needed. + * @param {DateTime} otherDateTime - the other DateTime + * @param {string} unit - the unit of time to check sameness on + * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day + * @return {boolean} + */ + hasSame(otherDateTime, unit) { + if (!this.isValid) return false; + + const inputMs = otherDateTime.valueOf(); + const adjustedToZone = this.setZone(otherDateTime.zone, { keepLocalTime: true }); + return adjustedToZone.startOf(unit) <= inputMs && inputMs <= adjustedToZone.endOf(unit); + } + + /** + * Equality check + * Two DateTimes are equal iff they represent the same millisecond, have the same zone and location, and are both valid. + * To compare just the millisecond values, use `+dt1 === +dt2`. + * @param {DateTime} other - the other DateTime + * @return {boolean} + */ + equals(other) { + return ( + this.isValid && + other.isValid && + this.valueOf() === other.valueOf() && + this.zone.equals(other.zone) && + this.loc.equals(other.loc) + ); + } + + /** + * Returns a string representation of a this time relative to now, such as "in two days". Can only internationalize if your + * platform supports Intl.RelativeTimeFormat. Rounds down by default. + * @param {Object} options - options that affect the output + * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now. + * @param {string} [options.style="long"] - the style of units, must be "long", "short", or "narrow" + * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of "years", "quarters", "months", "weeks", "days", "hours", "minutes", or "seconds" + * @param {boolean} [options.round=true] - whether to round the numbers in the output. + * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding. + * @param {string} options.locale - override the locale of this DateTime + * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this + * @example DateTime.now().plus({ days: 1 }).toRelative() //=> "in 1 day" + * @example DateTime.now().setLocale("es").toRelative({ days: 1 }) //=> "dentro de 1 día" + * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: "fr" }) //=> "dans 23 heures" + * @example DateTime.now().minus({ days: 2 }).toRelative() //=> "2 days ago" + * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: "hours" }) //=> "48 hours ago" + * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> "1.5 days ago" + */ + toRelative(options = {}) { + if (!this.isValid) return null; + const base = options.base || DateTime.fromObject({}, { zone: this.zone }), + padding = options.padding ? (this < base ? -options.padding : options.padding) : 0; + let units = ["years", "months", "days", "hours", "minutes", "seconds"]; + let unit = options.unit; + if (Array.isArray(options.unit)) { + units = options.unit; + unit = undefined; + } + return diffRelative(base, this.plus(padding), { + ...options, + numeric: "always", + units, + unit, + }); + } + + /** + * Returns a string representation of this date relative to today, such as "yesterday" or "next month". + * Only internationalizes on platforms that supports Intl.RelativeTimeFormat. + * @param {Object} options - options that affect the output + * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now. + * @param {string} options.locale - override the locale of this DateTime + * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of "years", "quarters", "months", "weeks", or "days" + * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this + * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> "tomorrow" + * @example DateTime.now().setLocale("es").plus({ days: 1 }).toRelative() //=> ""mañana" + * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: "fr" }) //=> "demain" + * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> "2 days ago" + */ + toRelativeCalendar(options = {}) { + if (!this.isValid) return null; + + return diffRelative(options.base || DateTime.fromObject({}, { zone: this.zone }), this, { + ...options, + numeric: "auto", + units: ["years", "months", "days"], + calendary: true, + }); + } + + /** + * Return the min of several date times + * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum + * @return {DateTime} the min DateTime, or undefined if called with no argument + */ + static min(...dateTimes) { + if (!dateTimes.every(DateTime.isDateTime)) { + throw new InvalidArgumentError("min requires all arguments be DateTimes"); + } + return bestBy(dateTimes, (i) => i.valueOf(), Math.min); + } + + /** + * Return the max of several date times + * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum + * @return {DateTime} the max DateTime, or undefined if called with no argument + */ + static max(...dateTimes) { + if (!dateTimes.every(DateTime.isDateTime)) { + throw new InvalidArgumentError("max requires all arguments be DateTimes"); + } + return bestBy(dateTimes, (i) => i.valueOf(), Math.max); + } + + // MISC + + /** + * Explain how a string would be parsed by fromFormat() + * @param {string} text - the string to parse + * @param {string} fmt - the format the string is expected to be in (see description) + * @param {Object} options - options taken by fromFormat() + * @return {Object} + */ + static fromFormatExplain(text, fmt, options = {}) { + const { locale = null, numberingSystem = null } = options, + localeToUse = Locale.fromOpts({ + locale, + numberingSystem, + defaultToEN: true, + }); + return explainFromTokens(localeToUse, text, fmt); + } + + /** + * @deprecated use fromFormatExplain instead + */ + static fromStringExplain(text, fmt, options = {}) { + return DateTime.fromFormatExplain(text, fmt, options); + } + + // FORMAT PRESETS + + /** + * {@link DateTime#toLocaleString} format like 10/14/1983 + * @type {Object} + */ + static get DATE_SHORT() { + return DATE_SHORT; + } + + /** + * {@link DateTime#toLocaleString} format like 'Oct 14, 1983' + * @type {Object} + */ + static get DATE_MED() { + return DATE_MED; + } + + /** + * {@link DateTime#toLocaleString} format like 'Fri, Oct 14, 1983' + * @type {Object} + */ + static get DATE_MED_WITH_WEEKDAY() { + return DATE_MED_WITH_WEEKDAY; + } + + /** + * {@link DateTime#toLocaleString} format like 'October 14, 1983' + * @type {Object} + */ + static get DATE_FULL() { + return DATE_FULL; + } + + /** + * {@link DateTime#toLocaleString} format like 'Tuesday, October 14, 1983' + * @type {Object} + */ + static get DATE_HUGE() { + return DATE_HUGE; + } + + /** + * {@link DateTime#toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + static get TIME_SIMPLE() { + return TIME_SIMPLE; + } + + /** + * {@link DateTime#toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + static get TIME_WITH_SECONDS() { + return TIME_WITH_SECONDS; + } + + /** + * {@link DateTime#toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is. + * @type {Object} + */ + static get TIME_WITH_SHORT_OFFSET() { + return TIME_WITH_SHORT_OFFSET; + } + + /** + * {@link DateTime#toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is. + * @type {Object} + */ + static get TIME_WITH_LONG_OFFSET() { + return TIME_WITH_LONG_OFFSET; + } + + /** + * {@link DateTime#toLocaleString} format like '09:30', always 24-hour. + * @type {Object} + */ + static get TIME_24_SIMPLE() { + return TIME_24_SIMPLE; + } + + /** + * {@link DateTime#toLocaleString} format like '09:30:23', always 24-hour. + * @type {Object} + */ + static get TIME_24_WITH_SECONDS() { + return TIME_24_WITH_SECONDS; + } + + /** + * {@link DateTime#toLocaleString} format like '09:30:23 EDT', always 24-hour. + * @type {Object} + */ + static get TIME_24_WITH_SHORT_OFFSET() { + return TIME_24_WITH_SHORT_OFFSET; + } + + /** + * {@link DateTime#toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour. + * @type {Object} + */ + static get TIME_24_WITH_LONG_OFFSET() { + return TIME_24_WITH_LONG_OFFSET; + } + + /** + * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + static get DATETIME_SHORT() { + return DATETIME_SHORT; + } + + /** + * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + static get DATETIME_SHORT_WITH_SECONDS() { + return DATETIME_SHORT_WITH_SECONDS; + } + + /** + * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + static get DATETIME_MED() { + return DATETIME_MED; + } + + /** + * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + static get DATETIME_MED_WITH_SECONDS() { + return DATETIME_MED_WITH_SECONDS; + } + + /** + * {@link DateTime#toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + static get DATETIME_MED_WITH_WEEKDAY() { + return DATETIME_MED_WITH_WEEKDAY; + } + + /** + * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is. + * @type {Object} + */ + static get DATETIME_FULL() { + return DATETIME_FULL; + } + + /** + * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is. + * @type {Object} + */ + static get DATETIME_FULL_WITH_SECONDS() { + return DATETIME_FULL_WITH_SECONDS; + } + + /** + * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is. + * @type {Object} + */ + static get DATETIME_HUGE() { + return DATETIME_HUGE; + } + + /** + * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is. + * @type {Object} + */ + static get DATETIME_HUGE_WITH_SECONDS() { + return DATETIME_HUGE_WITH_SECONDS; + } +} + +/** + * @private + */ +function friendlyDateTime(dateTimeish) { + if (DateTime.isDateTime(dateTimeish)) { + return dateTimeish; + } else if (dateTimeish && dateTimeish.valueOf && isNumber(dateTimeish.valueOf())) { + return DateTime.fromJSDate(dateTimeish); + } else if (dateTimeish && typeof dateTimeish === "object") { + return DateTime.fromObject(dateTimeish); + } else { + throw new InvalidArgumentError( + `Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}` + ); + } +} + +const VERSION = "2.3.0"; + +export { DateTime, Duration, FixedOffsetZone, IANAZone, Info, Interval, InvalidZone, Settings, SystemZone, VERSION, Zone }; +//# sourceMappingURL=luxon.js.map diff --git a/assets/js/luxon/luxon.es6.min.js b/assets/js/luxon/luxon.es6.min.js new file mode 100644 index 0000000..2f331dc --- /dev/null +++ b/assets/js/luxon/luxon.es6.min.js @@ -0,0 +1 @@ +class e extends Error{}class r extends e{constructor(e){super("Invalid DateTime: "+e.toMessage())}}class n extends e{constructor(e){super("Invalid Interval: "+e.toMessage())}}class s extends e{constructor(e){super("Invalid Duration: "+e.toMessage())}}class N extends e{}class i extends e{constructor(e){super("Invalid unit "+e)}}class o extends e{}class a extends e{constructor(){super("Zone is an abstract class")}}var t="numeric",u="short",l="long";const c={year:t,month:t,day:t},h={year:t,month:u,day:t},d={year:t,month:u,day:t,weekday:u},m={year:t,month:l,day:t},f={year:t,month:l,day:t,weekday:l},y={hour:t,minute:t},g={hour:t,minute:t,second:t},w={hour:t,minute:t,second:t,timeZoneName:u},v={hour:t,minute:t,second:t,timeZoneName:l},p={hour:t,minute:t,hourCycle:"h23"},T={hour:t,minute:t,second:t,hourCycle:"h23"},S={hour:t,minute:t,second:t,hourCycle:"h23",timeZoneName:u},O={hour:t,minute:t,second:t,hourCycle:"h23",timeZoneName:l},b={year:t,month:t,day:t,hour:t,minute:t},k={year:t,month:t,day:t,hour:t,minute:t,second:t},M={year:t,month:u,day:t,hour:t,minute:t},D={year:t,month:u,day:t,hour:t,minute:t,second:t},E={year:t,month:u,day:t,weekday:u,hour:t,minute:t},V={year:t,month:l,day:t,hour:t,minute:t,timeZoneName:u},I={year:t,month:l,day:t,hour:t,minute:t,second:t,timeZoneName:u},x={year:t,month:l,day:t,weekday:l,hour:t,minute:t,timeZoneName:l},C={year:t,month:l,day:t,weekday:l,hour:t,minute:t,second:t,timeZoneName:l};function F(e){return void 0===e}function L(e){return"number"==typeof e}function Z(e){return"number"==typeof e&&e%1==0}function z(){try{return"undefined"!=typeof Intl&&!!Intl.RelativeTimeFormat}catch(e){return!1}}function q(e,r,n){if(0!==e.length)return e.reduce((e,t)=>{t=[r(t),t];return e&&n(e[0],t[0])===e[0]?e:t},null)[1]}function A(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function j(e,t,r){return Z(e)&&t<=e&&e<=r}function _(e,t=2){let r;return r=e<0?"-"+(""+-e).padStart(t,"0"):(""+e).padStart(t,"0"),r}function U(e){if(!F(e)&&null!==e&&""!==e)return parseInt(e,10)}function $(e){if(!F(e)&&null!==e&&""!==e)return parseFloat(e)}function H(e){if(!F(e)&&null!==e&&""!==e){e=1e3*parseFloat("0."+e);return Math.floor(e)}}function W(e,t,r=!1){const n=10**t,s=r?Math.trunc:Math.round;return s(e*n)/n}function R(e){return e%4==0&&(e%100!=0||e%400==0)}function J(e){return R(e)?366:365}function P(e,t){var r,n=(r=t-1)-(n=12)*Math.floor(r/n)+1;return 2==n?R(e+(t-n)/12)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][n-1]}function Y(e){let t=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond);return e.year<100&&0<=e.year&&(t=new Date(t),t.setUTCFullYear(t.getUTCFullYear()-1900)),+t}function G(e){var t=(e+Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400))%7,e=e-1,e=(e+Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400))%7;return 4==t||3==e?53:52}function B(e){return 99"timezonename"===e.type.toLowerCase());return t?t.value:null}function K(e,t){let r=parseInt(e,10);Number.isNaN(r)&&(r=0);t=parseInt(t,10)||0,t=r<0||Object.is(r,-0)?-t:t;return 60*r+t}function X(e){var t=Number(e);if("boolean"==typeof e||""===e||Number.isNaN(t))throw new o("Invalid unit value "+e);return t}function ee(e,t){const r={};for(const s in e){var n;!A(e,s)||null!=(n=e[s])&&(r[t(s)]=X(n))}return r}function te(e,t){var r=Math.trunc(Math.abs(e/60)),n=Math.trunc(Math.abs(e%60)),s=0<=e?"+":"-";switch(t){case"short":return s+_(r,2)+":"+_(n,2);case"narrow":return s+r+(0(e[t]=r[t],e),{});var r}var ne=/[A-Za-z_+-]{1,256}(:?\/[A-Za-z0-9_+-]{1,256}(\/[A-Za-z0-9_+-]{1,256})?)?/;const se=["January","February","March","April","May","June","July","August","September","October","November","December"],ie=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],ae=["J","F","M","A","M","J","J","A","S","O","N","D"];function oe(e){switch(e){case"narrow":return[...ae];case"short":return[...ie];case"long":return[...se];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}const ue=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],le=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],ce=["M","T","W","T","F","S","S"];function he(e){switch(e){case"narrow":return[...ce];case"short":return[...le];case"long":return[...ue];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}const de=["AM","PM"],me=["Before Christ","Anno Domini"],fe=["BC","AD"],ye=["B","A"];function ge(e){switch(e){case"narrow":return[...ye];case"short":return[...fe];case"long":return[...me];default:return null}}function we(e,t){let r="";for(const n of e)n.literal?r+=n.val:r+=t(n.val);return r}const ve={D:c,DD:h,DDD:m,DDDD:f,t:y,tt:g,ttt:w,tttt:v,T:p,TT:T,TTT:S,TTTT:O,f:b,ff:M,fff:V,ffff:x,F:k,FF:D,FFF:I,FFFF:C};class pe{static create(e,t={}){return new pe(e,t)}static parseFormat(t){let r=null,n="",s=!1;const i=[];for(let e=0;ethis.loc.extract(r,e,t),i=e=>r.isOffsetFixed&&0===r.offset&&e.allowZ?"Z":r.isValid?r.zone.formatOffset(r.ts,e.format):"",a=()=>n?function(e){return de[e.hour<12?0:1]}(r):s({hour:"numeric",hourCycle:"h12"},"dayperiod"),o=(e,t)=>n?function(e,t){return oe(t)[e.month-1]}(r,e):s(t?{month:e}:{month:e,day:"numeric"},"month"),u=(e,t)=>n?function(e,t){return he(t)[e.weekday-1]}(r,e):s(t?{weekday:e}:{weekday:e,month:"long",day:"numeric"},"weekday"),l=e=>{var t=pe.macroTokenToFormatOpts(e);return t?this.formatWithSystemDefault(r,t):e},c=e=>n?function(e,t){return ge(t)[e.year<0?0:1]}(r,e):s({era:e},"era");return we(pe.parseFormat(e),e=>{switch(e){case"S":return this.num(r.millisecond);case"u":case"SSS":return this.num(r.millisecond,3);case"s":return this.num(r.second);case"ss":return this.num(r.second,2);case"uu":return this.num(Math.floor(r.millisecond/10),2);case"uuu":return this.num(Math.floor(r.millisecond/100));case"m":return this.num(r.minute);case"mm":return this.num(r.minute,2);case"h":return this.num(r.hour%12==0?12:r.hour%12);case"hh":return this.num(r.hour%12==0?12:r.hour%12,2);case"H":return this.num(r.hour);case"HH":return this.num(r.hour,2);case"Z":return i({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return i({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return i({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return r.zone.offsetName(r.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return r.zone.offsetName(r.ts,{format:"long",locale:this.loc.locale});case"z":return r.zoneName;case"a":return a();case"d":return t?s({day:"numeric"},"day"):this.num(r.day);case"dd":return t?s({day:"2-digit"},"day"):this.num(r.day,2);case"c":return this.num(r.weekday);case"ccc":return u("short",!0);case"cccc":return u("long",!0);case"ccccc":return u("narrow",!0);case"E":return this.num(r.weekday);case"EEE":return u("short",!1);case"EEEE":return u("long",!1);case"EEEEE":return u("narrow",!1);case"L":return t?s({month:"numeric",day:"numeric"},"month"):this.num(r.month);case"LL":return t?s({month:"2-digit",day:"numeric"},"month"):this.num(r.month,2);case"LLL":return o("short",!0);case"LLLL":return o("long",!0);case"LLLLL":return o("narrow",!0);case"M":return t?s({month:"numeric"},"month"):this.num(r.month);case"MM":return t?s({month:"2-digit"},"month"):this.num(r.month,2);case"MMM":return o("short",!1);case"MMMM":return o("long",!1);case"MMMMM":return o("narrow",!1);case"y":return t?s({year:"numeric"},"year"):this.num(r.year);case"yy":return t?s({year:"2-digit"},"year"):this.num(r.year.toString().slice(-2),2);case"yyyy":return t?s({year:"numeric"},"year"):this.num(r.year,4);case"yyyyyy":return t?s({year:"numeric"},"year"):this.num(r.year,6);case"G":return c("short");case"GG":return c("long");case"GGGGG":return c("narrow");case"kk":return this.num(r.weekYear.toString().slice(-2),2);case"kkkk":return this.num(r.weekYear,4);case"W":return this.num(r.weekNumber);case"WW":return this.num(r.weekNumber,2);case"o":return this.num(r.ordinal);case"ooo":return this.num(r.ordinal,3);case"q":return this.num(r.quarter);case"qq":return this.num(r.quarter,2);case"X":return this.num(Math.floor(r.ts/1e3));case"x":return this.num(r.ts);default:return l(e)}})}formatDurationFromString(e,t){const r=e=>{switch(e[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"M":return"month";case"y":return"year";default:return null}},n=pe.parseFormat(t),s=n.reduce((e,{literal:t,val:r})=>t?e:e.concat(r),[]),i=e.shiftTo(...s.map(r).filter(e=>e));return we(n,(a=i,e=>{var t=r(e);return t?this.num(a.get(t),e.length):e}));var a}}class Te{constructor(e,t){this.reason=e,this.explanation=t}toMessage(){return this.explanation?this.reason+": "+this.explanation:this.reason}}class Se{get type(){throw new a}get name(){throw new a}get isUniversal(){throw new a}offsetName(e,t){throw new a}formatOffset(e,t){throw new a}offset(e){throw new a}equals(e){throw new a}get isValid(){throw new a}}let Oe=null;class be extends Se{static get instance(){return null===Oe&&(Oe=new be),Oe}get type(){return"system"}get name(){return(new Intl.DateTimeFormat).resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:t,locale:r}){return Q(e,t,r)}formatOffset(e,t){return te(this.offset(e),t)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return"system"===e.type}get isValid(){return!0}}const ke=RegExp(`^${ne.source}$`);let Me={};const Ne={year:0,month:1,day:2,hour:3,minute:4,second:5};let De={};class Ee extends Se{static create(e){return De[e]||(De[e]=new Ee(e)),De[e]}static resetCache(){De={},Me={}}static isValidSpecifier(e){return!(!e||!e.match(ke))}static isValidZone(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch(e){return!1}}constructor(e){super(),this.zoneName=e,this.valid=Ee.isValidZone(e)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(e,{format:t,locale:r}){return Q(e,t,r,this.name)}formatOffset(e,t){return te(this.offset(e),t)}offset(e){var t=new Date(e);if(isNaN(t))return NaN;var r=(o=this.name,Me[o]||(Me[o]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:o,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})),Me[o]),[n,s,i,a,e,o]=(r.formatToParts?function(e,t){const r=e.formatToParts(t),n=[];for(let e=0;eDate.now(),Le="system",Ze=null,ze=null,qe=null,Ae;class je{static get now(){return Fe}static set now(e){Fe=e}static set defaultZone(e){Le=e}static get defaultZone(){return Ce(Le,be.instance)}static get defaultLocale(){return Ze}static set defaultLocale(e){Ze=e}static get defaultNumberingSystem(){return ze}static set defaultNumberingSystem(e){ze=e}static get defaultOutputCalendar(){return qe}static set defaultOutputCalendar(e){qe=e}static get throwOnInvalid(){return Ae}static set throwOnInvalid(e){Ae=e}static resetCaches(){Be.resetCache(),Ee.resetCache()}}let _e={};let Ue={};function $e(e,t={}){var r=JSON.stringify([e,t]);let n=Ue[r];return n||(n=new Intl.DateTimeFormat(e,t),Ue[r]=n),n}let He={};let We={};let Re=null;function Je(e,t,r,n,s){r=e.listingMode(r);return"error"===r?null:("en"===r?n:s)(t)}class Pe{constructor(e,t,r){this.padTo=r.padTo||0,this.floor=r.floor||!1;const{padTo:n,floor:s,...i}=r;if(!t||0{const t=n?{month:r,day:"numeric"}:{month:r},e=n?"format":"standalone";return this.monthsCache[e][r]||(this.monthsCache[e][r]=function(t){const r=[];for(let e=1;e<=12;e++){var n=Jr.utc(2016,e,1);r.push(t(n))}return r}(e=>this.extract(e,t,"month"))),this.monthsCache[e][r]})}weekdays(r,n=!1,e=!0){return Je(this,r,e,he,()=>{const t=n?{weekday:r,year:"numeric",month:"long",day:"numeric"}:{weekday:r},e=n?"format":"standalone";return this.weekdaysCache[e][r]||(this.weekdaysCache[e][r]=function(t){const r=[];for(let e=1;e<=7;e++){var n=Jr.utc(2016,11,13+e);r.push(t(n))}return r}(e=>this.extract(e,t,"weekday"))),this.weekdaysCache[e][r]})}meridiems(e=!0){return Je(this,void 0,e,()=>de,()=>{if(!this.meridiemCache){const t={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[Jr.utc(2016,11,13,9),Jr.utc(2016,11,13,19)].map(e=>this.extract(e,t,"dayperiod"))}return this.meridiemCache})}eras(e,t=!0){return Je(this,e,t,ge,()=>{const t={era:e};return this.eraCache[e]||(this.eraCache[e]=[Jr.utc(-40,1,1),Jr.utc(2017,1,1)].map(e=>this.extract(e,t,"era"))),this.eraCache[e]})}extract(e,t,r){const n=this.dtFormatter(e,t),s=n.formatToParts(),i=s.find(e=>e.type.toLowerCase()===r);return i?i.value:null}numberFormatter(e={}){return new Pe(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,t={}){return new Ye(e,this.intl,t)}relFormatter(e={}){return new Ge(this.intl,this.isEnglish(),e)}listFormatter(e={}){return function(e,t={}){var r=JSON.stringify([e,t]);let n=_e[r];return n||(n=new Intl.ListFormat(e,t),_e[r]=n),n}(this.intl,e)}isEnglish(){return"en"===this.locale||"en-us"===this.locale.toLowerCase()||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}}function Qe(...e){e=e.reduce((e,t)=>e+t.source,"");return RegExp(`^${e}$`)}function Ke(...e){return i=>e.reduce(([e,t,r],n)=>{var[s,n,r]=n(i,r);return[{...e,...s},t||n,r]},[{},null,1]).slice(0,2)}function Xe(e,...t){if(null==e)return[null,null];for(var[r,n]of t){r=r.exec(e);if(r)return n(r)}return[null,null]}function et(...s){return(e,t)=>{const r={};let n;for(n=0;nvoid 0!==e&&(t||e&&c)?-e:e;return[{years:t($(r)),months:t($(n)),weeks:t($(s)),days:t($(i)),hours:t($(a)),minutes:t($(o)),seconds:t($(u),"-0"===u),milliseconds:t(H(l),e)}]}const dt={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function mt(e,t,r,n,s,i,a){const o={year:2===t.length?B(U(t)):U(t),month:ie.indexOf(r)+1,day:U(n),hour:U(s),minute:U(i)};return a&&(o.second=U(a)),e&&(o.weekday=3{var t=this.values[e];return F(t)?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...r,unit:e.slice(0,-1)}).format(t)}).filter(e=>e);return this.loc.listFormatter({type:"conjunction",style:r.listStyle||"narrow",...r}).format(e)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e="P";return 0!==this.years&&(e+=this.years+"Y"),0===this.months&&0===this.quarters||(e+=this.months+3*this.quarters+"M"),0!==this.weeks&&(e+=this.weeks+"W"),0!==this.days&&(e+=this.days+"D"),0===this.hours&&0===this.minutes&&0===this.seconds&&0===this.milliseconds||(e+="T"),0!==this.hours&&(e+=this.hours+"H"),0!==this.minutes&&(e+=this.minutes+"M"),0===this.seconds&&0===this.milliseconds||(e+=W(this.seconds+this.milliseconds/1e3,3)+"S"),"P"===e&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;var t=this.toMillis();if(t<0||864e5<=t)return null;e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...e};const r=this.shiftTo("hours","minutes","seconds","milliseconds");let n="basic"===e.format?"hhmm":"hh:mm";e.suppressSeconds&&0===r.seconds&&0===r.milliseconds||(n+="basic"===e.format?"ss":":ss",e.suppressMilliseconds&&0===r.milliseconds||(n+=".SSS"));let s=r.toFormat(n);return e.includePrefix&&(s="T"+s),s}toJSON(){return this.toISO()}toString(){return this.toISO()}toMillis(){return this.as("milliseconds")}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;const t=Ht.fromDurationLike(e),r={};for(const n of jt)(A(t.values,n)||A(this.values,n))&&(r[n]=t.get(n)+this.get(n));return Ut(this,{values:r},!0)}minus(e){if(!this.isValid)return this;const t=Ht.fromDurationLike(e);return this.plus(t.negate())}mapUnits(e){if(!this.isValid)return this;const t={};for(const r of Object.keys(this.values))t[r]=X(e(this.values[r],r));return Ut(this,{values:t},!0)}get(e){return this[Ht.normalizeUnit(e)]}set(e){return this.isValid?Ut(this,{values:{...this.values,...ee(e,Ht.normalizeUnit)}}):this}reconfigure({locale:e,numberingSystem:t,conversionAccuracy:r}={}){const n=this.loc.clone({locale:e,numberingSystem:t}),s={loc:n};return r&&(s.conversionAccuracy=r),Ut(this,s)}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;var r,n,e=this.toObject();return r=this.matrix,n=e,_t.reduce((e,t)=>F(n[t])?e:(e&&$t(r,n,e,n,t),t),null),Ut(this,{values:e},!0)}shiftTo(...e){if(!this.isValid)return this;if(0===e.length)return this;e=e.map(e=>Ht.normalizeUnit(e));const t={},r={},n=this.toObject();let s;for(const a of jt)if(0<=e.indexOf(a)){s=a;let e=0;for(const o in r)e+=this.matrix[o][a]*r[o],r[o]=0;L(n[a])&&(e+=n[a]);var i=Math.trunc(e);t[a]=i,r[a]=(1e3*e-1e3*i)/1e3;for(const u in n)jt.indexOf(u)>jt.indexOf(a)&&$t(this.matrix,n,u,t,a)}else L(n[a])&&(r[a]=n[a]);for(const l in r)0!==r[l]&&(t[s]+=l===s?r[l]:r[l]/this.matrix[s][l]);return Ut(this,{values:t},!0).normalize()}negate(){if(!this.isValid)return this;const e={};for(const t of Object.keys(this.values))e[t]=-this.values[t];return Ut(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return null===this.invalid}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid)return!1;if(!this.loc.equals(e.loc))return!1;for(const n of jt)if(t=this.values[n],r=e.values[n],!(void 0===t||0===t?void 0===r||0===r:t===r))return!1;var t,r;return!0}}const Wt="Invalid Interval";class Rt{constructor(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}static invalid(e,t=null){if(!e)throw new o("need to specify a reason the Interval is invalid");t=e instanceof Te?e:new Te(e,t);if(je.throwOnInvalid)throw new n(t);return new Rt({invalid:t})}static fromDateTimes(e,t){var r=Pr(e),n=Pr(t),e=(e=n,(t=r)&&t.isValid?e&&e.isValid?ee}isBefore(e){return!!this.isValid&&this.e<=e}contains(e){return!!this.isValid&&(this.s<=e&&this.e>e)}set({start:e,end:t}={}){return this.isValid?Rt.fromDateTimes(e||this.s,t||this.e):this}splitAt(...e){if(!this.isValid)return[];const t=e.map(Pr).filter(e=>this.contains(e)).sort(),r=[];let n=this["s"],s=0;for(;n+this.e?this.e:i;r.push(Rt.fromDateTimes(n,i)),n=i,s+=1}return r}splitBy(e){const t=Ht.fromDurationLike(e);if(!this.isValid||!t.isValid||0===t.as("milliseconds"))return[];let r=this["s"],n=1,s;const i=[];for(;re*n));s=+a>+this.e?this.e:a,i.push(Rt.fromDateTimes(r,s)),r=s,n+=1}return i}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s=e.e)}equals(e){return!(!this.isValid||!e.isValid)&&(this.s.equals(e.s)&&this.e.equals(e.e))}intersection(e){if(!this.isValid)return this;var t=(this.s>e.s?this:e).s,e=(this.ee.e?this:e).e;return Rt.fromDateTimes(t,e)}static merge(e){const[t,r]=e.sort((e,t)=>e.s-t.s).reduce(([e,t],r)=>t?t.overlaps(r)||t.abutsStart(r)?[e,t.union(r)]:[e.concat([t]),r]:[e,r],[[],null]);return r&&t.push(r),t}static xor(e){let t=null,r=0;const n=[],s=e.map(e=>[{time:e.s,type:"s"},{time:e.e,type:"e"}]),i=Array.prototype.concat(...s),a=i.sort((e,t)=>e.time-t.time);for(const o of a)r+="s"===o.type?1:-1,t=1===r?o.time:(t&&+t!=+o.time&&n.push(Rt.fromDateTimes(t,o.time)),null);return Rt.merge(n)}difference(...e){return Rt.xor([this].concat(e)).map(e=>this.intersection(e)).filter(e=>e&&!e.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:Wt}toISO(e){return this.isValid?this.s.toISO(e)+"/"+this.e.toISO(e):Wt}toISODate(){return this.isValid?this.s.toISODate()+"/"+this.e.toISODate():Wt}toISOTime(e){return this.isValid?this.s.toISOTime(e)+"/"+this.e.toISOTime(e):Wt}toFormat(e,{separator:t=" – "}={}){return this.isValid?""+this.s.toFormat(e)+t+this.e.toFormat(e):Wt}toDuration(e,t){return this.isValid?this.e.diff(this.s,e,t):Ht.invalid(this.invalidReason)}mapEndpoints(e){return Rt.fromDateTimes(e(this.s),e(this.e))}}class Jt{static hasDST(e=je.defaultZone){const t=Jr.now().setZone(e).set({month:12});return!e.isUniversal&&t.offset!==t.set({month:6}).offset}static isValidIANAZone(e){return Ee.isValidSpecifier(e)&&Ee.isValidZone(e)}static normalizeZone(e){return Ce(e,je.defaultZone)}static months(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null,outputCalendar:s="gregory"}={}){return(n||Be.create(t,r,s)).months(e)}static monthsFormat(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null,outputCalendar:s="gregory"}={}){return(n||Be.create(t,r,s)).months(e,!0)}static weekdays(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null}={}){return(n||Be.create(t,r,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null}={}){return(n||Be.create(t,r,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return Be.create(e).meridiems()}static eras(e="short",{locale:t=null}={}){return Be.create(t,null,"gregory").eras(e)}static features(){return{relative:z()}}}function Pt(e,t){var r=e=>e.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),e=r(t)-r(e);return Math.floor(Ht.fromMillis(e).as("days"))}function Yt(e,t,r,n){let[s,i,a,o]=function(t,r,e){var n,s;const i={};let a,o;for([n,s]of[["years",(e,t)=>t.year-e.year],["quarters",(e,t)=>t.quarter-e.quarter],["months",(e,t)=>t.month-e.month+12*(t.year-e.year)],["weeks",(e,t)=>{t=Pt(e,t);return(t-t%7)/7}],["days",Pt]])if(0<=e.indexOf(n)){a=n;let e=s(t,r);o=t.plus({[n]:e}),o>r?(t=t.plus({[n]:e-1}),--e):t=o,i[n]=e}return[t,i,o,a]}(e,t,r);e=t-s,r=r.filter(e=>0<=["hours","minutes","seconds","milliseconds"].indexOf(e));0===r.length&&(ae){return{regex:e,deser:([e])=>t(function(t){let r=parseInt(t,10);if(isNaN(r)){r="";for(let e=0;ee.findIndex(e=>sr(t)===sr(e))+r}}function ar(e,t){return{regex:e,deser:([,e,t])=>K(e,t),groups:t}}function or(e){return{regex:e,deser:([e])=>e}}const ur={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour:{numeric:"h","2-digit":"hh"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"}};let lr=null;function cr(e,t){if(e.literal)return e;const r=pe.macroTokenToFormatOpts(e.val);if(!r)return e;const n=pe.create(t,r),s=n.formatDateTimeParts((lr=lr||Jr.fromMillis(1555555555555),lr)),i=s.map(e=>function(e,t){var{type:r,value:e}=e;if("literal"===r)return{literal:!0,val:e};t=t[r];let n=ur[r];return"object"==typeof n&&(n=n[t]),n?{literal:!1,val:n}:void 0}(e,r));return i.includes(void 0)?e:i}function hr(t,e,r){const n=(c=pe.parseFormat(r),a=t,Array.prototype.concat(...c.map(e=>cr(e,a)))),s=n.map(e=>function(t,r){const n=Kt(r),s=Kt(r,"{2}"),i=Kt(r,"{3}"),a=Kt(r,"{4}"),o=Kt(r,"{6}"),u=Kt(r,"{1,2}"),l=Kt(r,"{1,3}"),c=Kt(r,"{1,6}"),h=Kt(r,"{1,9}"),d=Kt(r,"{2,4}"),m=Kt(r,"{4,6}"),f=e=>({regex:RegExp(e.val.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")),deser:([e])=>e,literal:!0}),e=(e=>{if(t.literal)return f(e);switch(e.val){case"G":return ir(r.eras("short",!1),0);case"GG":return ir(r.eras("long",!1),0);case"y":return er(c);case"yy":return er(d,B);case"yyyy":return er(a);case"yyyyy":return er(m);case"yyyyyy":return er(o);case"M":return er(u);case"MM":return er(s);case"MMM":return ir(r.months("short",!0,!1),1);case"MMMM":return ir(r.months("long",!0,!1),1);case"L":return er(u);case"LL":return er(s);case"LLL":return ir(r.months("short",!1,!1),1);case"LLLL":return ir(r.months("long",!1,!1),1);case"d":return er(u);case"dd":return er(s);case"o":return er(l);case"ooo":return er(i);case"HH":return er(s);case"H":return er(u);case"hh":return er(s);case"h":return er(u);case"mm":return er(s);case"m":case"q":return er(u);case"qq":return er(s);case"s":return er(u);case"ss":return er(s);case"S":return er(l);case"SSS":return er(i);case"u":return or(h);case"uu":return or(u);case"uuu":return er(n);case"a":return ir(r.meridiems(),0);case"kkkk":return er(a);case"kk":return er(d,B);case"W":return er(u);case"WW":return er(s);case"E":case"c":return er(n);case"EEE":return ir(r.weekdays("short",!1,!1),1);case"EEEE":return ir(r.weekdays("long",!1,!1),1);case"ccc":return ir(r.weekdays("short",!0,!1),1);case"cccc":return ir(r.weekdays("long",!0,!1),1);case"Z":case"ZZ":return ar(new RegExp(`([+-]${u.source})(?::(${s.source}))?`),2);case"ZZZ":return ar(new RegExp(`([+-]${u.source})(${s.source})?`),2);case"z":return or(/[a-z_+-/]{1,256}?/i);default:return f(e)}})(t)||{invalidReason:Xt};return e.token=t,e}(e,t)),i=s.find(e=>e.invalidReason);var a;if(i)return{input:e,tokens:n,invalidReason:i.invalidReason};var[o,u]=[`^${(h=s).map(e=>e.regex).reduce((e,t)=>`${e}(${t.source})`,"")}$`,h],l=RegExp(o,"i"),[r,c]=function(e,t,r){const n=e.match(t);if(n){const s={};let e=1;for(const i in r)if(A(r,i)){const a=r[i],o=a.groups?a.groups+1:1;!a.literal&&a.token&&(s[a.token.val[0]]=a.deser(n.slice(e,e+o))),e+=o}return[n,s]}return[n,{}]}(e,l,u),[h,o,u]=c?function(n){let e=null,t;return F(n.z)||(e=Ee.create(n.z)),F(n.Z)||(e=e||new Ie(n.Z),t=n.Z),F(n.q)||(n.M=3*(n.q-1)+1),F(n.h)||(n.h<12&&1===n.a?n.h+=12:12===n.h&&0===n.a&&(n.h=0)),0===n.G&&n.y&&(n.y=-n.y),F(n.u)||(n.S=H(n.u)),[Object.keys(n).reduce((e,t)=>{var r=(e=>{switch(e){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}})(t);return r&&(e[r]=n[t]),e},{}),e,t]}(c):[null,null,void 0];if(A(c,"a")&&A(c,"H"))throw new N("Can't include meridiem when specifying 24-hour format");return{input:e,tokens:n,regex:l,rawMatches:r,matches:c,result:h,zone:o,specificOffset:u}}const dr=[0,31,59,90,120,151,181,212,243,273,304,334],mr=[0,31,60,91,121,152,182,213,244,274,305,335];function fr(e,t){return new Te("unit out of range",`you specified ${t} (of type ${typeof t}) as a ${e}, which is invalid`)}function yr(e,t,r){r=new Date(Date.UTC(e,t-1,r)).getUTCDay();return 0===r?7:r}function gr(e,t,r){return r+(R(e)?mr:dr)[t-1]}function wr(e,t){const r=R(e)?mr:dr,n=r.findIndex(e=>eG(t)?(a=t+1,i=1):a=t,{weekYear:a,weekNumber:i,weekday:n,...re(e)}}function pr(e){var{weekYear:t,weekNumber:r,weekday:n}=e,s=yr(t,1,4),i=J(t);let a=7*r+n-s-3,o;a<1?(o=t-1,a+=J(o)):a>i?(o=t+1,a-=J(t)):o=t;var{month:i,day:t}=wr(o,a);return{year:o,month:i,day:t,...re(e)}}function Tr(e){var{year:t,month:r,day:n}=e;return{year:t,ordinal:gr(t,r,n),...re(e)}}function Sr(e){var{year:t,ordinal:r}=e,{month:n,day:r}=wr(t,r);return{year:t,month:n,day:r,...re(e)}}function Or(e){var t=Z(e.year),r=j(e.month,1,12),n=j(e.day,1,P(e.year,e.month));return t?r?!n&&fr("day",e.day):fr("month",e.month):fr("year",e.year)}function br(e){var{hour:t,minute:r,second:n,millisecond:s}=e,i=j(t,0,23)||24===t&&0===r&&0===n&&0===s,a=j(r,0,59),o=j(n,0,59),e=j(s,0,999);return i?a?o?!e&&fr("millisecond",s):fr("second",n):fr("minute",r):fr("hour",t)}const kr="Invalid DateTime";function Mr(e){return new Te("unsupported zone",`the zone "${e.name}" is not supported`)}function Nr(e){return null===e.weekData&&(e.weekData=vr(e.c)),e.weekData}function Dr(e,t){e={ts:e.ts,zone:e.zone,c:e.c,o:e.o,loc:e.loc,invalid:e.invalid};return new Jr({...e,...t,old:e})}function Er(e,t,r){let n=e-60*t*1e3;var s=r.offset(n);if(t===s)return[n,t];n-=60*(s-t)*1e3;r=r.offset(n);return s===r?[n,s]:[e-60*Math.min(s,r)*1e3,Math.max(s,r)]}function Vr(e,t){e+=60*t*1e3;const r=new Date(e);return{year:r.getUTCFullYear(),month:r.getUTCMonth()+1,day:r.getUTCDate(),hour:r.getUTCHours(),minute:r.getUTCMinutes(),second:r.getUTCSeconds(),millisecond:r.getUTCMilliseconds()}}function Ir(e,t,r){return Er(Y(e),t,r)}function xr(e,t){var r=e.o,n=e.c.year+Math.trunc(t.years),s=e.c.month+Math.trunc(t.months)+3*Math.trunc(t.quarters),s={...e.c,year:n,month:s,day:Math.min(e.c.day,P(n,s))+Math.trunc(t.days)+7*Math.trunc(t.weeks)},t=Ht.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds");let[i,a]=Er(Y(s),r,e.zone);return 0!==t&&(i+=t,a=e.zone.offset(i)),{ts:i,o:a}}function Cr(e,t,r,n,s,i){var{setZone:a,zone:o}=r;if(e&&0!==Object.keys(e).length){const u=t||o,l=Jr.fromObject(e,{...r,zone:u,specificOffset:i});return a?l:l.setZone(o)}return Jr.invalid(new Te("unparsable",`the input "${s}" can't be parsed as `+n))}function Fr(e,t,r=!0){return e.isValid?pe.create(Be.create("en-US"),{allowZ:r,forceSimple:!0}).formatDateTimeFromString(e,t):null}function Lr(e,t){var r=9999{e=W(e,i||s.calendary?0:2,!0);const r=n.loc.clone(s).relFormatter(s);return r.format(e,t)},r=e=>s.calendary?n.hasSame(t,e)?0:n.startOf(e).diff(t.startOf(e),e).get(e):n.diff(t,e).get(e);if(s.unit)return e(r(s.unit),s.unit);for(const o of s.units){var a=r(o);if(1<=Math.abs(a))return e(a,o)}return e(nthis.set({month:1}).offset||this.offset>this.set({month:5}).offset)}get isInLeapYear(){return R(this.year)}get daysInMonth(){return P(this.year,this.month)}get daysInYear(){return this.isValid?J(this.year):NaN}get weeksInWeekYear(){return this.isValid?G(this.weekYear):NaN}resolvedLocaleOptions(e={}){var{locale:t,numberingSystem:r,calendar:e}=pe.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t,numberingSystem:r,outputCalendar:e}}toUTC(e=0,t={}){return this.setZone(Ie.instance(e),t)}toLocal(){return this.setZone(je.defaultZone)}setZone(t,{keepLocalTime:r=!1,keepCalendarTime:n=!1}={}){if((t=Ce(t,je.defaultZone)).equals(this.zone))return this;if(t.isValid){let e=this.ts;return(r||n)&&(r=t.offset(this.ts),n=this.toObject(),[e]=Ir(n,r,t)),Dr(this,{ts:e,zone:t})}return Jr.invalid(Mr(t))}reconfigure({locale:e,numberingSystem:t,outputCalendar:r}={}){r=this.loc.clone({locale:e,numberingSystem:t,outputCalendar:r});return Dr(this,{loc:r})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;var t=ee(e,$r),r=!F(t.weekYear)||!F(t.weekNumber)||!F(t.weekday),n=!F(t.ordinal),s=!F(t.year),i=!F(t.month)||!F(t.day),e=t.weekYear||t.weekNumber;if((s||i||n)&&e)throw new N("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(i&&n)throw new N("Can't mix ordinal dates with month/day");let a;r?a=pr({...vr(this.c),...t}):F(t.ordinal)?(a={...this.toObject(),...t},F(t.day)&&(a.day=Math.min(P(a.year,a.month),a.day))):a=Sr({...Tr(this.c),...t});var[r,t]=Ir(a,this.o,this.zone);return Dr(this,{ts:r,o:t})}plus(e){return this.isValid?Dr(this,xr(this,Ht.fromDurationLike(e))):this}minus(e){return this.isValid?Dr(this,xr(this,Ht.fromDurationLike(e).negate())):this}startOf(e){if(!this.isValid)return this;const t={},r=Ht.normalizeUnit(e);switch(r){case"years":t.month=1;case"quarters":case"months":t.day=1;case"weeks":case"days":t.hour=0;case"hours":t.minute=0;case"minutes":t.second=0;case"seconds":t.millisecond=0}return"weeks"===r&&(t.weekday=1),"quarters"===r&&(e=Math.ceil(this.month/3),t.month=3*(e-1)+1),this.set(t)}endOf(e){return this.isValid?this.plus({[e]:1}).startOf(e).minus(1):this}toFormat(e,t={}){return this.isValid?pe.create(this.loc.redefaultToEN(t)).formatDateTimeFromString(this,e):kr}toLocaleString(e=c,t={}){return this.isValid?pe.create(this.loc.clone(t),e).formatDateTime(this):kr}toLocaleParts(e={}){return this.isValid?pe.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e="extended",suppressSeconds:t=!1,suppressMilliseconds:r=!1,includeOffset:n=!0}={}){if(!this.isValid)return null;var s="extended"===e,e=Lr(this,s);return e+="T",e+=Zr(this,s,t,r,n)}toISODate({format:e="extended"}={}){return this.isValid?Lr(this,"extended"===e):null}toISOWeekDate(){return Fr(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:t=!1,includeOffset:r=!0,includePrefix:n=!1,format:s="extended"}={}){return this.isValid?(n?"T":"")+Zr(this,"extended"===s,t,e,r):null}toRFC2822(){return Fr(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return Fr(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?Lr(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:t=!1}={}){let r="HH:mm:ss.SSS";return(t||e)&&(r+=" ",t?r+="z":e&&(r+="ZZ")),Fr(this,r,!0)}toSQL(e={}){return this.isValid?this.toSQLDate()+" "+this.toSQLTime(e):null}toString(){return this.isValid?this.toISO():kr}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};const t={...this.c};return e.includeConfig&&(t.outputCalendar=this.outputCalendar,t.numberingSystem=this.loc.numberingSystem,t.locale=this.loc.locale),t}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,t="milliseconds",r={}){if(!this.isValid||!e.isValid)return Ht.invalid("created by diffing an invalid DateTime");r={locale:this.locale,numberingSystem:this.numberingSystem,...r};const n=(t=t,(Array.isArray(t)?t:[t]).map(Ht.normalizeUnit)),s=e.valueOf()>this.valueOf(),i=s?this:e,a=s?e:this,o=Yt(i,a,n,r);return s?o.negate():o}diffNow(e="milliseconds",t={}){return this.diff(Jr.now(),e,t)}until(e){return this.isValid?Rt.fromDateTimes(this,e):this}hasSame(e,t){if(!this.isValid)return!1;var r=e.valueOf();const n=this.setZone(e.zone,{keepLocalTime:!0});return n.startOf(t)<=r&&r<=n.endOf(t)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;var t=e.base||Jr.fromObject({},{zone:this.zone}),r=e.padding?thise.valueOf(),Math.min)}static max(...e){if(!e.every(Jr.isDateTime))throw new o("max requires all arguments be DateTimes");return q(e,e=>e.valueOf(),Math.max)}static fromFormatExplain(e,t,r={}){var{locale:n=null,numberingSystem:r=null}=r;return hr(Be.fromOpts({locale:n,numberingSystem:r,defaultToEN:!0}),e,t)}static fromStringExplain(e,t,r={}){return Jr.fromFormatExplain(e,t,r)}static get DATE_SHORT(){return c}static get DATE_MED(){return h}static get DATE_MED_WITH_WEEKDAY(){return d}static get DATE_FULL(){return m}static get DATE_HUGE(){return f}static get TIME_SIMPLE(){return y}static get TIME_WITH_SECONDS(){return g}static get TIME_WITH_SHORT_OFFSET(){return w}static get TIME_WITH_LONG_OFFSET(){return v}static get TIME_24_SIMPLE(){return p}static get TIME_24_WITH_SECONDS(){return T}static get TIME_24_WITH_SHORT_OFFSET(){return S}static get TIME_24_WITH_LONG_OFFSET(){return O}static get DATETIME_SHORT(){return b}static get DATETIME_SHORT_WITH_SECONDS(){return k}static get DATETIME_MED(){return M}static get DATETIME_MED_WITH_SECONDS(){return D}static get DATETIME_MED_WITH_WEEKDAY(){return E}static get DATETIME_FULL(){return V}static get DATETIME_FULL_WITH_SECONDS(){return I}static get DATETIME_HUGE(){return x}static get DATETIME_HUGE_WITH_SECONDS(){return C}}function Pr(e){if(Jr.isDateTime(e))return e;if(e&&e.valueOf&&L(e.valueOf()))return Jr.fromJSDate(e);if(e&&"object"==typeof e)return Jr.fromObject(e);throw new o(`Unknown datetime argument: ${e}, of type `+typeof e)}tt="2.3.0";export{Jr as DateTime,Ht as Duration,Ie as FixedOffsetZone,Ee as IANAZone,Jt as Info,Rt as Interval,xe as InvalidZone,je as Settings,be as SystemZone,tt as VERSION,Se as Zone}; \ No newline at end of file diff --git a/assets/js/luxon/luxon.js b/assets/js/luxon/luxon.js new file mode 100644 index 0000000..dd778a5 --- /dev/null +++ b/assets/js/luxon/luxon.js @@ -0,0 +1,8478 @@ +var luxon = (function (exports) { + 'use strict'; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _extends() { + _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + return _extends.apply(this, arguments); + } + + function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + + _setPrototypeOf(subClass, superClass); + } + + function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); + } + + function _isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + if (Reflect.construct.sham) return false; + if (typeof Proxy === "function") return true; + + try { + Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); + return true; + } catch (e) { + return false; + } + } + + function _construct(Parent, args, Class) { + if (_isNativeReflectConstruct()) { + _construct = Reflect.construct; + } else { + _construct = function _construct(Parent, args, Class) { + var a = [null]; + a.push.apply(a, args); + var Constructor = Function.bind.apply(Parent, a); + var instance = new Constructor(); + if (Class) _setPrototypeOf(instance, Class.prototype); + return instance; + }; + } + + return _construct.apply(null, arguments); + } + + function _isNativeFunction(fn) { + return Function.toString.call(fn).indexOf("[native code]") !== -1; + } + + function _wrapNativeSuper(Class) { + var _cache = typeof Map === "function" ? new Map() : undefined; + + _wrapNativeSuper = function _wrapNativeSuper(Class) { + if (Class === null || !_isNativeFunction(Class)) return Class; + + if (typeof Class !== "function") { + throw new TypeError("Super expression must either be null or a function"); + } + + if (typeof _cache !== "undefined") { + if (_cache.has(Class)) return _cache.get(Class); + + _cache.set(Class, Wrapper); + } + + function Wrapper() { + return _construct(Class, arguments, _getPrototypeOf(this).constructor); + } + + Wrapper.prototype = Object.create(Class.prototype, { + constructor: { + value: Wrapper, + enumerable: false, + writable: true, + configurable: true + } + }); + return _setPrototypeOf(Wrapper, Class); + }; + + return _wrapNativeSuper(Class); + } + + function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; + } + + function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); + } + + function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; + + return arr2; + } + + function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; + if (it) return (it = it.call(o)).next.bind(it); + + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } + + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + // these aren't really private, but nor are they really useful to document + + /** + * @private + */ + var LuxonError = /*#__PURE__*/function (_Error) { + _inheritsLoose(LuxonError, _Error); + + function LuxonError() { + return _Error.apply(this, arguments) || this; + } + + return LuxonError; + }( /*#__PURE__*/_wrapNativeSuper(Error)); + /** + * @private + */ + + + var InvalidDateTimeError = /*#__PURE__*/function (_LuxonError) { + _inheritsLoose(InvalidDateTimeError, _LuxonError); + + function InvalidDateTimeError(reason) { + return _LuxonError.call(this, "Invalid DateTime: " + reason.toMessage()) || this; + } + + return InvalidDateTimeError; + }(LuxonError); + /** + * @private + */ + + var InvalidIntervalError = /*#__PURE__*/function (_LuxonError2) { + _inheritsLoose(InvalidIntervalError, _LuxonError2); + + function InvalidIntervalError(reason) { + return _LuxonError2.call(this, "Invalid Interval: " + reason.toMessage()) || this; + } + + return InvalidIntervalError; + }(LuxonError); + /** + * @private + */ + + var InvalidDurationError = /*#__PURE__*/function (_LuxonError3) { + _inheritsLoose(InvalidDurationError, _LuxonError3); + + function InvalidDurationError(reason) { + return _LuxonError3.call(this, "Invalid Duration: " + reason.toMessage()) || this; + } + + return InvalidDurationError; + }(LuxonError); + /** + * @private + */ + + var ConflictingSpecificationError = /*#__PURE__*/function (_LuxonError4) { + _inheritsLoose(ConflictingSpecificationError, _LuxonError4); + + function ConflictingSpecificationError() { + return _LuxonError4.apply(this, arguments) || this; + } + + return ConflictingSpecificationError; + }(LuxonError); + /** + * @private + */ + + var InvalidUnitError = /*#__PURE__*/function (_LuxonError5) { + _inheritsLoose(InvalidUnitError, _LuxonError5); + + function InvalidUnitError(unit) { + return _LuxonError5.call(this, "Invalid unit " + unit) || this; + } + + return InvalidUnitError; + }(LuxonError); + /** + * @private + */ + + var InvalidArgumentError = /*#__PURE__*/function (_LuxonError6) { + _inheritsLoose(InvalidArgumentError, _LuxonError6); + + function InvalidArgumentError() { + return _LuxonError6.apply(this, arguments) || this; + } + + return InvalidArgumentError; + }(LuxonError); + /** + * @private + */ + + var ZoneIsAbstractError = /*#__PURE__*/function (_LuxonError7) { + _inheritsLoose(ZoneIsAbstractError, _LuxonError7); + + function ZoneIsAbstractError() { + return _LuxonError7.call(this, "Zone is an abstract class") || this; + } + + return ZoneIsAbstractError; + }(LuxonError); + + /** + * @private + */ + var n = "numeric", + s = "short", + l = "long"; + var DATE_SHORT = { + year: n, + month: n, + day: n + }; + var DATE_MED = { + year: n, + month: s, + day: n + }; + var DATE_MED_WITH_WEEKDAY = { + year: n, + month: s, + day: n, + weekday: s + }; + var DATE_FULL = { + year: n, + month: l, + day: n + }; + var DATE_HUGE = { + year: n, + month: l, + day: n, + weekday: l + }; + var TIME_SIMPLE = { + hour: n, + minute: n + }; + var TIME_WITH_SECONDS = { + hour: n, + minute: n, + second: n + }; + var TIME_WITH_SHORT_OFFSET = { + hour: n, + minute: n, + second: n, + timeZoneName: s + }; + var TIME_WITH_LONG_OFFSET = { + hour: n, + minute: n, + second: n, + timeZoneName: l + }; + var TIME_24_SIMPLE = { + hour: n, + minute: n, + hourCycle: "h23" + }; + var TIME_24_WITH_SECONDS = { + hour: n, + minute: n, + second: n, + hourCycle: "h23" + }; + var TIME_24_WITH_SHORT_OFFSET = { + hour: n, + minute: n, + second: n, + hourCycle: "h23", + timeZoneName: s + }; + var TIME_24_WITH_LONG_OFFSET = { + hour: n, + minute: n, + second: n, + hourCycle: "h23", + timeZoneName: l + }; + var DATETIME_SHORT = { + year: n, + month: n, + day: n, + hour: n, + minute: n + }; + var DATETIME_SHORT_WITH_SECONDS = { + year: n, + month: n, + day: n, + hour: n, + minute: n, + second: n + }; + var DATETIME_MED = { + year: n, + month: s, + day: n, + hour: n, + minute: n + }; + var DATETIME_MED_WITH_SECONDS = { + year: n, + month: s, + day: n, + hour: n, + minute: n, + second: n + }; + var DATETIME_MED_WITH_WEEKDAY = { + year: n, + month: s, + day: n, + weekday: s, + hour: n, + minute: n + }; + var DATETIME_FULL = { + year: n, + month: l, + day: n, + hour: n, + minute: n, + timeZoneName: s + }; + var DATETIME_FULL_WITH_SECONDS = { + year: n, + month: l, + day: n, + hour: n, + minute: n, + second: n, + timeZoneName: s + }; + var DATETIME_HUGE = { + year: n, + month: l, + day: n, + weekday: l, + hour: n, + minute: n, + timeZoneName: l + }; + var DATETIME_HUGE_WITH_SECONDS = { + year: n, + month: l, + day: n, + weekday: l, + hour: n, + minute: n, + second: n, + timeZoneName: l + }; + + /** + * @private + */ + // TYPES + + function isUndefined(o) { + return typeof o === "undefined"; + } + function isNumber(o) { + return typeof o === "number"; + } + function isInteger(o) { + return typeof o === "number" && o % 1 === 0; + } + function isString(o) { + return typeof o === "string"; + } + function isDate(o) { + return Object.prototype.toString.call(o) === "[object Date]"; + } // CAPABILITIES + + function hasRelative() { + try { + return typeof Intl !== "undefined" && !!Intl.RelativeTimeFormat; + } catch (e) { + return false; + } + } // OBJECTS AND ARRAYS + + function maybeArray(thing) { + return Array.isArray(thing) ? thing : [thing]; + } + function bestBy(arr, by, compare) { + if (arr.length === 0) { + return undefined; + } + + return arr.reduce(function (best, next) { + var pair = [by(next), next]; + + if (!best) { + return pair; + } else if (compare(best[0], pair[0]) === best[0]) { + return best; + } else { + return pair; + } + }, null)[1]; + } + function pick(obj, keys) { + return keys.reduce(function (a, k) { + a[k] = obj[k]; + return a; + }, {}); + } + function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); + } // NUMBERS AND STRINGS + + function integerBetween(thing, bottom, top) { + return isInteger(thing) && thing >= bottom && thing <= top; + } // x % n but takes the sign of n instead of x + + function floorMod(x, n) { + return x - n * Math.floor(x / n); + } + function padStart(input, n) { + if (n === void 0) { + n = 2; + } + + var isNeg = input < 0; + var padded; + + if (isNeg) { + padded = "-" + ("" + -input).padStart(n, "0"); + } else { + padded = ("" + input).padStart(n, "0"); + } + + return padded; + } + function parseInteger(string) { + if (isUndefined(string) || string === null || string === "") { + return undefined; + } else { + return parseInt(string, 10); + } + } + function parseFloating(string) { + if (isUndefined(string) || string === null || string === "") { + return undefined; + } else { + return parseFloat(string); + } + } + function parseMillis(fraction) { + // Return undefined (instead of 0) in these cases, where fraction is not set + if (isUndefined(fraction) || fraction === null || fraction === "") { + return undefined; + } else { + var f = parseFloat("0." + fraction) * 1000; + return Math.floor(f); + } + } + function roundTo(number, digits, towardZero) { + if (towardZero === void 0) { + towardZero = false; + } + + var factor = Math.pow(10, digits), + rounder = towardZero ? Math.trunc : Math.round; + return rounder(number * factor) / factor; + } // DATE BASICS + + function isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); + } + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } + function daysInMonth(year, month) { + var modMonth = floorMod(month - 1, 12) + 1, + modYear = year + (month - modMonth) / 12; + + if (modMonth === 2) { + return isLeapYear(modYear) ? 29 : 28; + } else { + return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][modMonth - 1]; + } + } // covert a calendar object to a local timestamp (epoch, but with the offset baked in) + + function objToLocalTS(obj) { + var d = Date.UTC(obj.year, obj.month - 1, obj.day, obj.hour, obj.minute, obj.second, obj.millisecond); // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that + + if (obj.year < 100 && obj.year >= 0) { + d = new Date(d); + d.setUTCFullYear(d.getUTCFullYear() - 1900); + } + + return +d; + } + function weeksInWeekYear(weekYear) { + var p1 = (weekYear + Math.floor(weekYear / 4) - Math.floor(weekYear / 100) + Math.floor(weekYear / 400)) % 7, + last = weekYear - 1, + p2 = (last + Math.floor(last / 4) - Math.floor(last / 100) + Math.floor(last / 400)) % 7; + return p1 === 4 || p2 === 3 ? 53 : 52; + } + function untruncateYear(year) { + if (year > 99) { + return year; + } else return year > 60 ? 1900 + year : 2000 + year; + } // PARSING + + function parseZoneInfo(ts, offsetFormat, locale, timeZone) { + if (timeZone === void 0) { + timeZone = null; + } + + var date = new Date(ts), + intlOpts = { + hourCycle: "h23", + year: "numeric", + month: "2-digit", + day: "2-digit", + hour: "2-digit", + minute: "2-digit" + }; + + if (timeZone) { + intlOpts.timeZone = timeZone; + } + + var modified = _extends({ + timeZoneName: offsetFormat + }, intlOpts); + + var parsed = new Intl.DateTimeFormat(locale, modified).formatToParts(date).find(function (m) { + return m.type.toLowerCase() === "timezonename"; + }); + return parsed ? parsed.value : null; + } // signedOffset('-5', '30') -> -330 + + function signedOffset(offHourStr, offMinuteStr) { + var offHour = parseInt(offHourStr, 10); // don't || this because we want to preserve -0 + + if (Number.isNaN(offHour)) { + offHour = 0; + } + + var offMin = parseInt(offMinuteStr, 10) || 0, + offMinSigned = offHour < 0 || Object.is(offHour, -0) ? -offMin : offMin; + return offHour * 60 + offMinSigned; + } // COERCION + + function asNumber(value) { + var numericValue = Number(value); + if (typeof value === "boolean" || value === "" || Number.isNaN(numericValue)) throw new InvalidArgumentError("Invalid unit value " + value); + return numericValue; + } + function normalizeObject(obj, normalizer) { + var normalized = {}; + + for (var u in obj) { + if (hasOwnProperty(obj, u)) { + var v = obj[u]; + if (v === undefined || v === null) continue; + normalized[normalizer(u)] = asNumber(v); + } + } + + return normalized; + } + function formatOffset(offset, format) { + var hours = Math.trunc(Math.abs(offset / 60)), + minutes = Math.trunc(Math.abs(offset % 60)), + sign = offset >= 0 ? "+" : "-"; + + switch (format) { + case "short": + return "" + sign + padStart(hours, 2) + ":" + padStart(minutes, 2); + + case "narrow": + return "" + sign + hours + (minutes > 0 ? ":" + minutes : ""); + + case "techie": + return "" + sign + padStart(hours, 2) + padStart(minutes, 2); + + default: + throw new RangeError("Value format " + format + " is out of range for property format"); + } + } + function timeObject(obj) { + return pick(obj, ["hour", "minute", "second", "millisecond"]); + } + var ianaRegex = /[A-Za-z_+-]{1,256}(:?\/[A-Za-z0-9_+-]{1,256}(\/[A-Za-z0-9_+-]{1,256})?)?/; + + /** + * @private + */ + + + var monthsLong = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + var monthsShort = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; + var monthsNarrow = ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"]; + function months(length) { + switch (length) { + case "narrow": + return [].concat(monthsNarrow); + + case "short": + return [].concat(monthsShort); + + case "long": + return [].concat(monthsLong); + + case "numeric": + return ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]; + + case "2-digit": + return ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"]; + + default: + return null; + } + } + var weekdaysLong = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]; + var weekdaysShort = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]; + var weekdaysNarrow = ["M", "T", "W", "T", "F", "S", "S"]; + function weekdays(length) { + switch (length) { + case "narrow": + return [].concat(weekdaysNarrow); + + case "short": + return [].concat(weekdaysShort); + + case "long": + return [].concat(weekdaysLong); + + case "numeric": + return ["1", "2", "3", "4", "5", "6", "7"]; + + default: + return null; + } + } + var meridiems = ["AM", "PM"]; + var erasLong = ["Before Christ", "Anno Domini"]; + var erasShort = ["BC", "AD"]; + var erasNarrow = ["B", "A"]; + function eras(length) { + switch (length) { + case "narrow": + return [].concat(erasNarrow); + + case "short": + return [].concat(erasShort); + + case "long": + return [].concat(erasLong); + + default: + return null; + } + } + function meridiemForDateTime(dt) { + return meridiems[dt.hour < 12 ? 0 : 1]; + } + function weekdayForDateTime(dt, length) { + return weekdays(length)[dt.weekday - 1]; + } + function monthForDateTime(dt, length) { + return months(length)[dt.month - 1]; + } + function eraForDateTime(dt, length) { + return eras(length)[dt.year < 0 ? 0 : 1]; + } + function formatRelativeTime(unit, count, numeric, narrow) { + if (numeric === void 0) { + numeric = "always"; + } + + if (narrow === void 0) { + narrow = false; + } + + var units = { + years: ["year", "yr."], + quarters: ["quarter", "qtr."], + months: ["month", "mo."], + weeks: ["week", "wk."], + days: ["day", "day", "days"], + hours: ["hour", "hr."], + minutes: ["minute", "min."], + seconds: ["second", "sec."] + }; + var lastable = ["hours", "minutes", "seconds"].indexOf(unit) === -1; + + if (numeric === "auto" && lastable) { + var isDay = unit === "days"; + + switch (count) { + case 1: + return isDay ? "tomorrow" : "next " + units[unit][0]; + + case -1: + return isDay ? "yesterday" : "last " + units[unit][0]; + + case 0: + return isDay ? "today" : "this " + units[unit][0]; + + } + } + + var isInPast = Object.is(count, -0) || count < 0, + fmtValue = Math.abs(count), + singular = fmtValue === 1, + lilUnits = units[unit], + fmtUnit = narrow ? singular ? lilUnits[1] : lilUnits[2] || lilUnits[1] : singular ? units[unit][0] : unit; + return isInPast ? fmtValue + " " + fmtUnit + " ago" : "in " + fmtValue + " " + fmtUnit; + } + + function stringifyTokens(splits, tokenToString) { + var s = ""; + + for (var _iterator = _createForOfIteratorHelperLoose(splits), _step; !(_step = _iterator()).done;) { + var token = _step.value; + + if (token.literal) { + s += token.val; + } else { + s += tokenToString(token.val); + } + } + + return s; + } + + var _macroTokenToFormatOpts = { + D: DATE_SHORT, + DD: DATE_MED, + DDD: DATE_FULL, + DDDD: DATE_HUGE, + t: TIME_SIMPLE, + tt: TIME_WITH_SECONDS, + ttt: TIME_WITH_SHORT_OFFSET, + tttt: TIME_WITH_LONG_OFFSET, + T: TIME_24_SIMPLE, + TT: TIME_24_WITH_SECONDS, + TTT: TIME_24_WITH_SHORT_OFFSET, + TTTT: TIME_24_WITH_LONG_OFFSET, + f: DATETIME_SHORT, + ff: DATETIME_MED, + fff: DATETIME_FULL, + ffff: DATETIME_HUGE, + F: DATETIME_SHORT_WITH_SECONDS, + FF: DATETIME_MED_WITH_SECONDS, + FFF: DATETIME_FULL_WITH_SECONDS, + FFFF: DATETIME_HUGE_WITH_SECONDS + }; + /** + * @private + */ + + var Formatter = /*#__PURE__*/function () { + Formatter.create = function create(locale, opts) { + if (opts === void 0) { + opts = {}; + } + + return new Formatter(locale, opts); + }; + + Formatter.parseFormat = function parseFormat(fmt) { + var current = null, + currentFull = "", + bracketed = false; + var splits = []; + + for (var i = 0; i < fmt.length; i++) { + var c = fmt.charAt(i); + + if (c === "'") { + if (currentFull.length > 0) { + splits.push({ + literal: bracketed, + val: currentFull + }); + } + + current = null; + currentFull = ""; + bracketed = !bracketed; + } else if (bracketed) { + currentFull += c; + } else if (c === current) { + currentFull += c; + } else { + if (currentFull.length > 0) { + splits.push({ + literal: false, + val: currentFull + }); + } + + currentFull = c; + current = c; + } + } + + if (currentFull.length > 0) { + splits.push({ + literal: bracketed, + val: currentFull + }); + } + + return splits; + }; + + Formatter.macroTokenToFormatOpts = function macroTokenToFormatOpts(token) { + return _macroTokenToFormatOpts[token]; + }; + + function Formatter(locale, formatOpts) { + this.opts = formatOpts; + this.loc = locale; + this.systemLoc = null; + } + + var _proto = Formatter.prototype; + + _proto.formatWithSystemDefault = function formatWithSystemDefault(dt, opts) { + if (this.systemLoc === null) { + this.systemLoc = this.loc.redefaultToSystem(); + } + + var df = this.systemLoc.dtFormatter(dt, _extends({}, this.opts, opts)); + return df.format(); + }; + + _proto.formatDateTime = function formatDateTime(dt, opts) { + if (opts === void 0) { + opts = {}; + } + + var df = this.loc.dtFormatter(dt, _extends({}, this.opts, opts)); + return df.format(); + }; + + _proto.formatDateTimeParts = function formatDateTimeParts(dt, opts) { + if (opts === void 0) { + opts = {}; + } + + var df = this.loc.dtFormatter(dt, _extends({}, this.opts, opts)); + return df.formatToParts(); + }; + + _proto.resolvedOptions = function resolvedOptions(dt, opts) { + if (opts === void 0) { + opts = {}; + } + + var df = this.loc.dtFormatter(dt, _extends({}, this.opts, opts)); + return df.resolvedOptions(); + }; + + _proto.num = function num(n, p) { + if (p === void 0) { + p = 0; + } + + // we get some perf out of doing this here, annoyingly + if (this.opts.forceSimple) { + return padStart(n, p); + } + + var opts = _extends({}, this.opts); + + if (p > 0) { + opts.padTo = p; + } + + return this.loc.numberFormatter(opts).format(n); + }; + + _proto.formatDateTimeFromString = function formatDateTimeFromString(dt, fmt) { + var _this = this; + + var knownEnglish = this.loc.listingMode() === "en", + useDateTimeFormatter = this.loc.outputCalendar && this.loc.outputCalendar !== "gregory", + string = function string(opts, extract) { + return _this.loc.extract(dt, opts, extract); + }, + formatOffset = function formatOffset(opts) { + if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) { + return "Z"; + } + + return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : ""; + }, + meridiem = function meridiem() { + return knownEnglish ? meridiemForDateTime(dt) : string({ + hour: "numeric", + hourCycle: "h12" + }, "dayperiod"); + }, + month = function month(length, standalone) { + return knownEnglish ? monthForDateTime(dt, length) : string(standalone ? { + month: length + } : { + month: length, + day: "numeric" + }, "month"); + }, + weekday = function weekday(length, standalone) { + return knownEnglish ? weekdayForDateTime(dt, length) : string(standalone ? { + weekday: length + } : { + weekday: length, + month: "long", + day: "numeric" + }, "weekday"); + }, + maybeMacro = function maybeMacro(token) { + var formatOpts = Formatter.macroTokenToFormatOpts(token); + + if (formatOpts) { + return _this.formatWithSystemDefault(dt, formatOpts); + } else { + return token; + } + }, + era = function era(length) { + return knownEnglish ? eraForDateTime(dt, length) : string({ + era: length + }, "era"); + }, + tokenToString = function tokenToString(token) { + // Where possible: http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles + switch (token) { + // ms + case "S": + return _this.num(dt.millisecond); + + case "u": // falls through + + case "SSS": + return _this.num(dt.millisecond, 3); + // seconds + + case "s": + return _this.num(dt.second); + + case "ss": + return _this.num(dt.second, 2); + // fractional seconds + + case "uu": + return _this.num(Math.floor(dt.millisecond / 10), 2); + + case "uuu": + return _this.num(Math.floor(dt.millisecond / 100)); + // minutes + + case "m": + return _this.num(dt.minute); + + case "mm": + return _this.num(dt.minute, 2); + // hours + + case "h": + return _this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12); + + case "hh": + return _this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2); + + case "H": + return _this.num(dt.hour); + + case "HH": + return _this.num(dt.hour, 2); + // offset + + case "Z": + // like +6 + return formatOffset({ + format: "narrow", + allowZ: _this.opts.allowZ + }); + + case "ZZ": + // like +06:00 + return formatOffset({ + format: "short", + allowZ: _this.opts.allowZ + }); + + case "ZZZ": + // like +0600 + return formatOffset({ + format: "techie", + allowZ: _this.opts.allowZ + }); + + case "ZZZZ": + // like EST + return dt.zone.offsetName(dt.ts, { + format: "short", + locale: _this.loc.locale + }); + + case "ZZZZZ": + // like Eastern Standard Time + return dt.zone.offsetName(dt.ts, { + format: "long", + locale: _this.loc.locale + }); + // zone + + case "z": + // like America/New_York + return dt.zoneName; + // meridiems + + case "a": + return meridiem(); + // dates + + case "d": + return useDateTimeFormatter ? string({ + day: "numeric" + }, "day") : _this.num(dt.day); + + case "dd": + return useDateTimeFormatter ? string({ + day: "2-digit" + }, "day") : _this.num(dt.day, 2); + // weekdays - standalone + + case "c": + // like 1 + return _this.num(dt.weekday); + + case "ccc": + // like 'Tues' + return weekday("short", true); + + case "cccc": + // like 'Tuesday' + return weekday("long", true); + + case "ccccc": + // like 'T' + return weekday("narrow", true); + // weekdays - format + + case "E": + // like 1 + return _this.num(dt.weekday); + + case "EEE": + // like 'Tues' + return weekday("short", false); + + case "EEEE": + // like 'Tuesday' + return weekday("long", false); + + case "EEEEE": + // like 'T' + return weekday("narrow", false); + // months - standalone + + case "L": + // like 1 + return useDateTimeFormatter ? string({ + month: "numeric", + day: "numeric" + }, "month") : _this.num(dt.month); + + case "LL": + // like 01, doesn't seem to work + return useDateTimeFormatter ? string({ + month: "2-digit", + day: "numeric" + }, "month") : _this.num(dt.month, 2); + + case "LLL": + // like Jan + return month("short", true); + + case "LLLL": + // like January + return month("long", true); + + case "LLLLL": + // like J + return month("narrow", true); + // months - format + + case "M": + // like 1 + return useDateTimeFormatter ? string({ + month: "numeric" + }, "month") : _this.num(dt.month); + + case "MM": + // like 01 + return useDateTimeFormatter ? string({ + month: "2-digit" + }, "month") : _this.num(dt.month, 2); + + case "MMM": + // like Jan + return month("short", false); + + case "MMMM": + // like January + return month("long", false); + + case "MMMMM": + // like J + return month("narrow", false); + // years + + case "y": + // like 2014 + return useDateTimeFormatter ? string({ + year: "numeric" + }, "year") : _this.num(dt.year); + + case "yy": + // like 14 + return useDateTimeFormatter ? string({ + year: "2-digit" + }, "year") : _this.num(dt.year.toString().slice(-2), 2); + + case "yyyy": + // like 0012 + return useDateTimeFormatter ? string({ + year: "numeric" + }, "year") : _this.num(dt.year, 4); + + case "yyyyyy": + // like 000012 + return useDateTimeFormatter ? string({ + year: "numeric" + }, "year") : _this.num(dt.year, 6); + // eras + + case "G": + // like AD + return era("short"); + + case "GG": + // like Anno Domini + return era("long"); + + case "GGGGG": + return era("narrow"); + + case "kk": + return _this.num(dt.weekYear.toString().slice(-2), 2); + + case "kkkk": + return _this.num(dt.weekYear, 4); + + case "W": + return _this.num(dt.weekNumber); + + case "WW": + return _this.num(dt.weekNumber, 2); + + case "o": + return _this.num(dt.ordinal); + + case "ooo": + return _this.num(dt.ordinal, 3); + + case "q": + // like 1 + return _this.num(dt.quarter); + + case "qq": + // like 01 + return _this.num(dt.quarter, 2); + + case "X": + return _this.num(Math.floor(dt.ts / 1000)); + + case "x": + return _this.num(dt.ts); + + default: + return maybeMacro(token); + } + }; + + return stringifyTokens(Formatter.parseFormat(fmt), tokenToString); + }; + + _proto.formatDurationFromString = function formatDurationFromString(dur, fmt) { + var _this2 = this; + + var tokenToField = function tokenToField(token) { + switch (token[0]) { + case "S": + return "millisecond"; + + case "s": + return "second"; + + case "m": + return "minute"; + + case "h": + return "hour"; + + case "d": + return "day"; + + case "M": + return "month"; + + case "y": + return "year"; + + default: + return null; + } + }, + tokenToString = function tokenToString(lildur) { + return function (token) { + var mapped = tokenToField(token); + + if (mapped) { + return _this2.num(lildur.get(mapped), token.length); + } else { + return token; + } + }; + }, + tokens = Formatter.parseFormat(fmt), + realTokens = tokens.reduce(function (found, _ref) { + var literal = _ref.literal, + val = _ref.val; + return literal ? found : found.concat(val); + }, []), + collapsed = dur.shiftTo.apply(dur, realTokens.map(tokenToField).filter(function (t) { + return t; + })); + + return stringifyTokens(tokens, tokenToString(collapsed)); + }; + + return Formatter; + }(); + + var Invalid = /*#__PURE__*/function () { + function Invalid(reason, explanation) { + this.reason = reason; + this.explanation = explanation; + } + + var _proto = Invalid.prototype; + + _proto.toMessage = function toMessage() { + if (this.explanation) { + return this.reason + ": " + this.explanation; + } else { + return this.reason; + } + }; + + return Invalid; + }(); + + /** + * @interface + */ + + var Zone = /*#__PURE__*/function () { + function Zone() {} + + var _proto = Zone.prototype; + + /** + * Returns the offset's common name (such as EST) at the specified timestamp + * @abstract + * @param {number} ts - Epoch milliseconds for which to get the name + * @param {Object} opts - Options to affect the format + * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'. + * @param {string} opts.locale - What locale to return the offset name in. + * @return {string} + */ + _proto.offsetName = function offsetName(ts, opts) { + throw new ZoneIsAbstractError(); + } + /** + * Returns the offset's value as a string + * @abstract + * @param {number} ts - Epoch milliseconds for which to get the offset + * @param {string} format - What style of offset to return. + * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively + * @return {string} + */ + ; + + _proto.formatOffset = function formatOffset(ts, format) { + throw new ZoneIsAbstractError(); + } + /** + * Return the offset in minutes for this zone at the specified timestamp. + * @abstract + * @param {number} ts - Epoch milliseconds for which to compute the offset + * @return {number} + */ + ; + + _proto.offset = function offset(ts) { + throw new ZoneIsAbstractError(); + } + /** + * Return whether this Zone is equal to another zone + * @abstract + * @param {Zone} otherZone - the zone to compare + * @return {boolean} + */ + ; + + _proto.equals = function equals(otherZone) { + throw new ZoneIsAbstractError(); + } + /** + * Return whether this Zone is valid. + * @abstract + * @type {boolean} + */ + ; + + _createClass(Zone, [{ + key: "type", + get: + /** + * The type of zone + * @abstract + * @type {string} + */ + function get() { + throw new ZoneIsAbstractError(); + } + /** + * The name of this zone. + * @abstract + * @type {string} + */ + + }, { + key: "name", + get: function get() { + throw new ZoneIsAbstractError(); + } + /** + * Returns whether the offset is known to be fixed for the whole year. + * @abstract + * @type {boolean} + */ + + }, { + key: "isUniversal", + get: function get() { + throw new ZoneIsAbstractError(); + } + }, { + key: "isValid", + get: function get() { + throw new ZoneIsAbstractError(); + } + }]); + + return Zone; + }(); + + var singleton$1 = null; + /** + * Represents the local zone for this JavaScript environment. + * @implements {Zone} + */ + + var SystemZone = /*#__PURE__*/function (_Zone) { + _inheritsLoose(SystemZone, _Zone); + + function SystemZone() { + return _Zone.apply(this, arguments) || this; + } + + var _proto = SystemZone.prototype; + + /** @override **/ + _proto.offsetName = function offsetName(ts, _ref) { + var format = _ref.format, + locale = _ref.locale; + return parseZoneInfo(ts, format, locale); + } + /** @override **/ + ; + + _proto.formatOffset = function formatOffset$1(ts, format) { + return formatOffset(this.offset(ts), format); + } + /** @override **/ + ; + + _proto.offset = function offset(ts) { + return -new Date(ts).getTimezoneOffset(); + } + /** @override **/ + ; + + _proto.equals = function equals(otherZone) { + return otherZone.type === "system"; + } + /** @override **/ + ; + + _createClass(SystemZone, [{ + key: "type", + get: + /** @override **/ + function get() { + return "system"; + } + /** @override **/ + + }, { + key: "name", + get: function get() { + return new Intl.DateTimeFormat().resolvedOptions().timeZone; + } + /** @override **/ + + }, { + key: "isUniversal", + get: function get() { + return false; + } + }, { + key: "isValid", + get: function get() { + return true; + } + }], [{ + key: "instance", + get: + /** + * Get a singleton instance of the local zone + * @return {SystemZone} + */ + function get() { + if (singleton$1 === null) { + singleton$1 = new SystemZone(); + } + + return singleton$1; + } + }]); + + return SystemZone; + }(Zone); + + var matchingRegex = RegExp("^" + ianaRegex.source + "$"); + var dtfCache = {}; + + function makeDTF(zone) { + if (!dtfCache[zone]) { + dtfCache[zone] = new Intl.DateTimeFormat("en-US", { + hour12: false, + timeZone: zone, + year: "numeric", + month: "2-digit", + day: "2-digit", + hour: "2-digit", + minute: "2-digit", + second: "2-digit" + }); + } + + return dtfCache[zone]; + } + + var typeToPos = { + year: 0, + month: 1, + day: 2, + hour: 3, + minute: 4, + second: 5 + }; + + function hackyOffset(dtf, date) { + var formatted = dtf.format(date).replace(/\u200E/g, ""), + parsed = /(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(formatted), + fMonth = parsed[1], + fDay = parsed[2], + fYear = parsed[3], + fHour = parsed[4], + fMinute = parsed[5], + fSecond = parsed[6]; + return [fYear, fMonth, fDay, fHour, fMinute, fSecond]; + } + + function partsOffset(dtf, date) { + var formatted = dtf.formatToParts(date), + filled = []; + + for (var i = 0; i < formatted.length; i++) { + var _formatted$i = formatted[i], + type = _formatted$i.type, + value = _formatted$i.value, + pos = typeToPos[type]; + + if (!isUndefined(pos)) { + filled[pos] = parseInt(value, 10); + } + } + + return filled; + } + + var ianaZoneCache = {}; + /** + * A zone identified by an IANA identifier, like America/New_York + * @implements {Zone} + */ + + var IANAZone = /*#__PURE__*/function (_Zone) { + _inheritsLoose(IANAZone, _Zone); + + /** + * @param {string} name - Zone name + * @return {IANAZone} + */ + IANAZone.create = function create(name) { + if (!ianaZoneCache[name]) { + ianaZoneCache[name] = new IANAZone(name); + } + + return ianaZoneCache[name]; + } + /** + * Reset local caches. Should only be necessary in testing scenarios. + * @return {void} + */ + ; + + IANAZone.resetCache = function resetCache() { + ianaZoneCache = {}; + dtfCache = {}; + } + /** + * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that. + * @param {string} s - The string to check validity on + * @example IANAZone.isValidSpecifier("America/New_York") //=> true + * @example IANAZone.isValidSpecifier("Fantasia/Castle") //=> true + * @example IANAZone.isValidSpecifier("Sport~~blorp") //=> false + * @return {boolean} + */ + ; + + IANAZone.isValidSpecifier = function isValidSpecifier(s) { + return !!(s && s.match(matchingRegex)); + } + /** + * Returns whether the provided string identifies a real zone + * @param {string} zone - The string to check + * @example IANAZone.isValidZone("America/New_York") //=> true + * @example IANAZone.isValidZone("Fantasia/Castle") //=> false + * @example IANAZone.isValidZone("Sport~~blorp") //=> false + * @return {boolean} + */ + ; + + IANAZone.isValidZone = function isValidZone(zone) { + if (!zone) { + return false; + } + + try { + new Intl.DateTimeFormat("en-US", { + timeZone: zone + }).format(); + return true; + } catch (e) { + return false; + } + }; + + function IANAZone(name) { + var _this; + + _this = _Zone.call(this) || this; + /** @private **/ + + _this.zoneName = name; + /** @private **/ + + _this.valid = IANAZone.isValidZone(name); + return _this; + } + /** @override **/ + + + var _proto = IANAZone.prototype; + + /** @override **/ + _proto.offsetName = function offsetName(ts, _ref) { + var format = _ref.format, + locale = _ref.locale; + return parseZoneInfo(ts, format, locale, this.name); + } + /** @override **/ + ; + + _proto.formatOffset = function formatOffset$1(ts, format) { + return formatOffset(this.offset(ts), format); + } + /** @override **/ + ; + + _proto.offset = function offset(ts) { + var date = new Date(ts); + if (isNaN(date)) return NaN; + + var dtf = makeDTF(this.name), + _ref2 = dtf.formatToParts ? partsOffset(dtf, date) : hackyOffset(dtf, date), + year = _ref2[0], + month = _ref2[1], + day = _ref2[2], + hour = _ref2[3], + minute = _ref2[4], + second = _ref2[5]; // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat + + + var adjustedHour = hour === 24 ? 0 : hour; + var asUTC = objToLocalTS({ + year: year, + month: month, + day: day, + hour: adjustedHour, + minute: minute, + second: second, + millisecond: 0 + }); + var asTS = +date; + var over = asTS % 1000; + asTS -= over >= 0 ? over : 1000 + over; + return (asUTC - asTS) / (60 * 1000); + } + /** @override **/ + ; + + _proto.equals = function equals(otherZone) { + return otherZone.type === "iana" && otherZone.name === this.name; + } + /** @override **/ + ; + + _createClass(IANAZone, [{ + key: "type", + get: function get() { + return "iana"; + } + /** @override **/ + + }, { + key: "name", + get: function get() { + return this.zoneName; + } + /** @override **/ + + }, { + key: "isUniversal", + get: function get() { + return false; + } + }, { + key: "isValid", + get: function get() { + return this.valid; + } + }]); + + return IANAZone; + }(Zone); + + var singleton = null; + /** + * A zone with a fixed offset (meaning no DST) + * @implements {Zone} + */ + + var FixedOffsetZone = /*#__PURE__*/function (_Zone) { + _inheritsLoose(FixedOffsetZone, _Zone); + + /** + * Get an instance with a specified offset + * @param {number} offset - The offset in minutes + * @return {FixedOffsetZone} + */ + FixedOffsetZone.instance = function instance(offset) { + return offset === 0 ? FixedOffsetZone.utcInstance : new FixedOffsetZone(offset); + } + /** + * Get an instance of FixedOffsetZone from a UTC offset string, like "UTC+6" + * @param {string} s - The offset string to parse + * @example FixedOffsetZone.parseSpecifier("UTC+6") + * @example FixedOffsetZone.parseSpecifier("UTC+06") + * @example FixedOffsetZone.parseSpecifier("UTC-6:00") + * @return {FixedOffsetZone} + */ + ; + + FixedOffsetZone.parseSpecifier = function parseSpecifier(s) { + if (s) { + var r = s.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i); + + if (r) { + return new FixedOffsetZone(signedOffset(r[1], r[2])); + } + } + + return null; + }; + + function FixedOffsetZone(offset) { + var _this; + + _this = _Zone.call(this) || this; + /** @private **/ + + _this.fixed = offset; + return _this; + } + /** @override **/ + + + var _proto = FixedOffsetZone.prototype; + + /** @override **/ + _proto.offsetName = function offsetName() { + return this.name; + } + /** @override **/ + ; + + _proto.formatOffset = function formatOffset$1(ts, format) { + return formatOffset(this.fixed, format); + } + /** @override **/ + ; + + /** @override **/ + _proto.offset = function offset() { + return this.fixed; + } + /** @override **/ + ; + + _proto.equals = function equals(otherZone) { + return otherZone.type === "fixed" && otherZone.fixed === this.fixed; + } + /** @override **/ + ; + + _createClass(FixedOffsetZone, [{ + key: "type", + get: function get() { + return "fixed"; + } + /** @override **/ + + }, { + key: "name", + get: function get() { + return this.fixed === 0 ? "UTC" : "UTC" + formatOffset(this.fixed, "narrow"); + } + }, { + key: "isUniversal", + get: function get() { + return true; + } + }, { + key: "isValid", + get: function get() { + return true; + } + }], [{ + key: "utcInstance", + get: + /** + * Get a singleton instance of UTC + * @return {FixedOffsetZone} + */ + function get() { + if (singleton === null) { + singleton = new FixedOffsetZone(0); + } + + return singleton; + } + }]); + + return FixedOffsetZone; + }(Zone); + + /** + * A zone that failed to parse. You should never need to instantiate this. + * @implements {Zone} + */ + + var InvalidZone = /*#__PURE__*/function (_Zone) { + _inheritsLoose(InvalidZone, _Zone); + + function InvalidZone(zoneName) { + var _this; + + _this = _Zone.call(this) || this; + /** @private */ + + _this.zoneName = zoneName; + return _this; + } + /** @override **/ + + + var _proto = InvalidZone.prototype; + + /** @override **/ + _proto.offsetName = function offsetName() { + return null; + } + /** @override **/ + ; + + _proto.formatOffset = function formatOffset() { + return ""; + } + /** @override **/ + ; + + _proto.offset = function offset() { + return NaN; + } + /** @override **/ + ; + + _proto.equals = function equals() { + return false; + } + /** @override **/ + ; + + _createClass(InvalidZone, [{ + key: "type", + get: function get() { + return "invalid"; + } + /** @override **/ + + }, { + key: "name", + get: function get() { + return this.zoneName; + } + /** @override **/ + + }, { + key: "isUniversal", + get: function get() { + return false; + } + }, { + key: "isValid", + get: function get() { + return false; + } + }]); + + return InvalidZone; + }(Zone); + + /** + * @private + */ + function normalizeZone(input, defaultZone) { + + if (isUndefined(input) || input === null) { + return defaultZone; + } else if (input instanceof Zone) { + return input; + } else if (isString(input)) { + var lowered = input.toLowerCase(); + if (lowered === "local" || lowered === "system") return defaultZone;else if (lowered === "utc" || lowered === "gmt") return FixedOffsetZone.utcInstance;else if (IANAZone.isValidSpecifier(lowered)) return IANAZone.create(input);else return FixedOffsetZone.parseSpecifier(lowered) || new InvalidZone(input); + } else if (isNumber(input)) { + return FixedOffsetZone.instance(input); + } else if (typeof input === "object" && input.offset && typeof input.offset === "number") { + // This is dumb, but the instanceof check above doesn't seem to really work + // so we're duck checking it + return input; + } else { + return new InvalidZone(input); + } + } + + var now = function now() { + return Date.now(); + }, + defaultZone = "system", + defaultLocale = null, + defaultNumberingSystem = null, + defaultOutputCalendar = null, + throwOnInvalid; + /** + * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here. + */ + + + var Settings = /*#__PURE__*/function () { + function Settings() {} + + /** + * Reset Luxon's global caches. Should only be necessary in testing scenarios. + * @return {void} + */ + Settings.resetCaches = function resetCaches() { + Locale.resetCache(); + IANAZone.resetCache(); + }; + + _createClass(Settings, null, [{ + key: "now", + get: + /** + * Get the callback for returning the current timestamp. + * @type {function} + */ + function get() { + return now; + } + /** + * Set the callback for returning the current timestamp. + * The function should return a number, which will be interpreted as an Epoch millisecond count + * @type {function} + * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future + * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time + */ + , + set: function set(n) { + now = n; + } + /** + * Set the default time zone to create DateTimes in. Does not affect existing instances. + * Use the value "system" to reset this value to the system's time zone. + * @type {string} + */ + + }, { + key: "defaultZone", + get: + /** + * Get the default time zone object currently used to create DateTimes. Does not affect existing instances. + * The default value is the system's time zone (the one set on the machine that runs this code). + * @type {Zone} + */ + function get() { + return normalizeZone(defaultZone, SystemZone.instance); + } + /** + * Get the default locale to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + , + set: function set(zone) { + defaultZone = zone; + } + }, { + key: "defaultLocale", + get: function get() { + return defaultLocale; + } + /** + * Set the default locale to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + , + set: function set(locale) { + defaultLocale = locale; + } + /** + * Get the default numbering system to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + + }, { + key: "defaultNumberingSystem", + get: function get() { + return defaultNumberingSystem; + } + /** + * Set the default numbering system to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + , + set: function set(numberingSystem) { + defaultNumberingSystem = numberingSystem; + } + /** + * Get the default output calendar to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + + }, { + key: "defaultOutputCalendar", + get: function get() { + return defaultOutputCalendar; + } + /** + * Set the default output calendar to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + , + set: function set(outputCalendar) { + defaultOutputCalendar = outputCalendar; + } + /** + * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals + * @type {boolean} + */ + + }, { + key: "throwOnInvalid", + get: function get() { + return throwOnInvalid; + } + /** + * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals + * @type {boolean} + */ + , + set: function set(t) { + throwOnInvalid = t; + } + }]); + + return Settings; + }(); + + var _excluded = ["base"], + _excluded2 = ["padTo", "floor"]; + + var intlLFCache = {}; + + function getCachedLF(locString, opts) { + if (opts === void 0) { + opts = {}; + } + + var key = JSON.stringify([locString, opts]); + var dtf = intlLFCache[key]; + + if (!dtf) { + dtf = new Intl.ListFormat(locString, opts); + intlLFCache[key] = dtf; + } + + return dtf; + } + + var intlDTCache = {}; + + function getCachedDTF(locString, opts) { + if (opts === void 0) { + opts = {}; + } + + var key = JSON.stringify([locString, opts]); + var dtf = intlDTCache[key]; + + if (!dtf) { + dtf = new Intl.DateTimeFormat(locString, opts); + intlDTCache[key] = dtf; + } + + return dtf; + } + + var intlNumCache = {}; + + function getCachedINF(locString, opts) { + if (opts === void 0) { + opts = {}; + } + + var key = JSON.stringify([locString, opts]); + var inf = intlNumCache[key]; + + if (!inf) { + inf = new Intl.NumberFormat(locString, opts); + intlNumCache[key] = inf; + } + + return inf; + } + + var intlRelCache = {}; + + function getCachedRTF(locString, opts) { + if (opts === void 0) { + opts = {}; + } + + var _opts = opts; + _opts.base; + var cacheKeyOpts = _objectWithoutPropertiesLoose(_opts, _excluded); // exclude `base` from the options + + + var key = JSON.stringify([locString, cacheKeyOpts]); + var inf = intlRelCache[key]; + + if (!inf) { + inf = new Intl.RelativeTimeFormat(locString, opts); + intlRelCache[key] = inf; + } + + return inf; + } + + var sysLocaleCache = null; + + function systemLocale() { + if (sysLocaleCache) { + return sysLocaleCache; + } else { + sysLocaleCache = new Intl.DateTimeFormat().resolvedOptions().locale; + return sysLocaleCache; + } + } + + function parseLocaleString(localeStr) { + // I really want to avoid writing a BCP 47 parser + // see, e.g. https://github.com/wooorm/bcp-47 + // Instead, we'll do this: + // a) if the string has no -u extensions, just leave it alone + // b) if it does, use Intl to resolve everything + // c) if Intl fails, try again without the -u + var uIndex = localeStr.indexOf("-u-"); + + if (uIndex === -1) { + return [localeStr]; + } else { + var options; + var smaller = localeStr.substring(0, uIndex); + + try { + options = getCachedDTF(localeStr).resolvedOptions(); + } catch (e) { + options = getCachedDTF(smaller).resolvedOptions(); + } + + var _options = options, + numberingSystem = _options.numberingSystem, + calendar = _options.calendar; // return the smaller one so that we can append the calendar and numbering overrides to it + + return [smaller, numberingSystem, calendar]; + } + } + + function intlConfigString(localeStr, numberingSystem, outputCalendar) { + if (outputCalendar || numberingSystem) { + localeStr += "-u"; + + if (outputCalendar) { + localeStr += "-ca-" + outputCalendar; + } + + if (numberingSystem) { + localeStr += "-nu-" + numberingSystem; + } + + return localeStr; + } else { + return localeStr; + } + } + + function mapMonths(f) { + var ms = []; + + for (var i = 1; i <= 12; i++) { + var dt = DateTime.utc(2016, i, 1); + ms.push(f(dt)); + } + + return ms; + } + + function mapWeekdays(f) { + var ms = []; + + for (var i = 1; i <= 7; i++) { + var dt = DateTime.utc(2016, 11, 13 + i); + ms.push(f(dt)); + } + + return ms; + } + + function listStuff(loc, length, defaultOK, englishFn, intlFn) { + var mode = loc.listingMode(defaultOK); + + if (mode === "error") { + return null; + } else if (mode === "en") { + return englishFn(length); + } else { + return intlFn(length); + } + } + + function supportsFastNumbers(loc) { + if (loc.numberingSystem && loc.numberingSystem !== "latn") { + return false; + } else { + return loc.numberingSystem === "latn" || !loc.locale || loc.locale.startsWith("en") || new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem === "latn"; + } + } + /** + * @private + */ + + + var PolyNumberFormatter = /*#__PURE__*/function () { + function PolyNumberFormatter(intl, forceSimple, opts) { + this.padTo = opts.padTo || 0; + this.floor = opts.floor || false; + + opts.padTo; + opts.floor; + var otherOpts = _objectWithoutPropertiesLoose(opts, _excluded2); + + if (!forceSimple || Object.keys(otherOpts).length > 0) { + var intlOpts = _extends({ + useGrouping: false + }, opts); + + if (opts.padTo > 0) intlOpts.minimumIntegerDigits = opts.padTo; + this.inf = getCachedINF(intl, intlOpts); + } + } + + var _proto = PolyNumberFormatter.prototype; + + _proto.format = function format(i) { + if (this.inf) { + var fixed = this.floor ? Math.floor(i) : i; + return this.inf.format(fixed); + } else { + // to match the browser's numberformatter defaults + var _fixed = this.floor ? Math.floor(i) : roundTo(i, 3); + + return padStart(_fixed, this.padTo); + } + }; + + return PolyNumberFormatter; + }(); + /** + * @private + */ + + + var PolyDateFormatter = /*#__PURE__*/function () { + function PolyDateFormatter(dt, intl, opts) { + this.opts = opts; + var z; + + if (dt.zone.isUniversal) { + // UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like. + // That is why fixed-offset TZ is set to that unless it is: + // 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT. + // 2. Unsupported by the browser: + // - some do not support Etc/ + // - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata + var gmtOffset = -1 * (dt.offset / 60); + var offsetZ = gmtOffset >= 0 ? "Etc/GMT+" + gmtOffset : "Etc/GMT" + gmtOffset; + + if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) { + z = offsetZ; + this.dt = dt; + } else { + // Not all fixed-offset zones like Etc/+4:30 are present in tzdata. + // So we have to make do. Two cases: + // 1. The format options tell us to show the zone. We can't do that, so the best + // we can do is format the date in UTC. + // 2. The format options don't tell us to show the zone. Then we can adjust them + // the time and tell the formatter to show it to us in UTC, so that the time is right + // and the bad zone doesn't show up. + z = "UTC"; + + if (opts.timeZoneName) { + this.dt = dt; + } else { + this.dt = dt.offset === 0 ? dt : DateTime.fromMillis(dt.ts + dt.offset * 60 * 1000); + } + } + } else if (dt.zone.type === "system") { + this.dt = dt; + } else { + this.dt = dt; + z = dt.zone.name; + } + + var intlOpts = _extends({}, this.opts); + + if (z) { + intlOpts.timeZone = z; + } + + this.dtf = getCachedDTF(intl, intlOpts); + } + + var _proto2 = PolyDateFormatter.prototype; + + _proto2.format = function format() { + return this.dtf.format(this.dt.toJSDate()); + }; + + _proto2.formatToParts = function formatToParts() { + return this.dtf.formatToParts(this.dt.toJSDate()); + }; + + _proto2.resolvedOptions = function resolvedOptions() { + return this.dtf.resolvedOptions(); + }; + + return PolyDateFormatter; + }(); + /** + * @private + */ + + + var PolyRelFormatter = /*#__PURE__*/function () { + function PolyRelFormatter(intl, isEnglish, opts) { + this.opts = _extends({ + style: "long" + }, opts); + + if (!isEnglish && hasRelative()) { + this.rtf = getCachedRTF(intl, opts); + } + } + + var _proto3 = PolyRelFormatter.prototype; + + _proto3.format = function format(count, unit) { + if (this.rtf) { + return this.rtf.format(count, unit); + } else { + return formatRelativeTime(unit, count, this.opts.numeric, this.opts.style !== "long"); + } + }; + + _proto3.formatToParts = function formatToParts(count, unit) { + if (this.rtf) { + return this.rtf.formatToParts(count, unit); + } else { + return []; + } + }; + + return PolyRelFormatter; + }(); + /** + * @private + */ + + + var Locale = /*#__PURE__*/function () { + Locale.fromOpts = function fromOpts(opts) { + return Locale.create(opts.locale, opts.numberingSystem, opts.outputCalendar, opts.defaultToEN); + }; + + Locale.create = function create(locale, numberingSystem, outputCalendar, defaultToEN) { + if (defaultToEN === void 0) { + defaultToEN = false; + } + + var specifiedLocale = locale || Settings.defaultLocale; // the system locale is useful for human readable strings but annoying for parsing/formatting known formats + + var localeR = specifiedLocale || (defaultToEN ? "en-US" : systemLocale()); + var numberingSystemR = numberingSystem || Settings.defaultNumberingSystem; + var outputCalendarR = outputCalendar || Settings.defaultOutputCalendar; + return new Locale(localeR, numberingSystemR, outputCalendarR, specifiedLocale); + }; + + Locale.resetCache = function resetCache() { + sysLocaleCache = null; + intlDTCache = {}; + intlNumCache = {}; + intlRelCache = {}; + }; + + Locale.fromObject = function fromObject(_temp) { + var _ref = _temp === void 0 ? {} : _temp, + locale = _ref.locale, + numberingSystem = _ref.numberingSystem, + outputCalendar = _ref.outputCalendar; + + return Locale.create(locale, numberingSystem, outputCalendar); + }; + + function Locale(locale, numbering, outputCalendar, specifiedLocale) { + var _parseLocaleString = parseLocaleString(locale), + parsedLocale = _parseLocaleString[0], + parsedNumberingSystem = _parseLocaleString[1], + parsedOutputCalendar = _parseLocaleString[2]; + + this.locale = parsedLocale; + this.numberingSystem = numbering || parsedNumberingSystem || null; + this.outputCalendar = outputCalendar || parsedOutputCalendar || null; + this.intl = intlConfigString(this.locale, this.numberingSystem, this.outputCalendar); + this.weekdaysCache = { + format: {}, + standalone: {} + }; + this.monthsCache = { + format: {}, + standalone: {} + }; + this.meridiemCache = null; + this.eraCache = {}; + this.specifiedLocale = specifiedLocale; + this.fastNumbersCached = null; + } + + var _proto4 = Locale.prototype; + + _proto4.listingMode = function listingMode() { + var isActuallyEn = this.isEnglish(); + var hasNoWeirdness = (this.numberingSystem === null || this.numberingSystem === "latn") && (this.outputCalendar === null || this.outputCalendar === "gregory"); + return isActuallyEn && hasNoWeirdness ? "en" : "intl"; + }; + + _proto4.clone = function clone(alts) { + if (!alts || Object.getOwnPropertyNames(alts).length === 0) { + return this; + } else { + return Locale.create(alts.locale || this.specifiedLocale, alts.numberingSystem || this.numberingSystem, alts.outputCalendar || this.outputCalendar, alts.defaultToEN || false); + } + }; + + _proto4.redefaultToEN = function redefaultToEN(alts) { + if (alts === void 0) { + alts = {}; + } + + return this.clone(_extends({}, alts, { + defaultToEN: true + })); + }; + + _proto4.redefaultToSystem = function redefaultToSystem(alts) { + if (alts === void 0) { + alts = {}; + } + + return this.clone(_extends({}, alts, { + defaultToEN: false + })); + }; + + _proto4.months = function months$1(length, format, defaultOK) { + var _this = this; + + if (format === void 0) { + format = false; + } + + if (defaultOK === void 0) { + defaultOK = true; + } + + return listStuff(this, length, defaultOK, months, function () { + var intl = format ? { + month: length, + day: "numeric" + } : { + month: length + }, + formatStr = format ? "format" : "standalone"; + + if (!_this.monthsCache[formatStr][length]) { + _this.monthsCache[formatStr][length] = mapMonths(function (dt) { + return _this.extract(dt, intl, "month"); + }); + } + + return _this.monthsCache[formatStr][length]; + }); + }; + + _proto4.weekdays = function weekdays$1(length, format, defaultOK) { + var _this2 = this; + + if (format === void 0) { + format = false; + } + + if (defaultOK === void 0) { + defaultOK = true; + } + + return listStuff(this, length, defaultOK, weekdays, function () { + var intl = format ? { + weekday: length, + year: "numeric", + month: "long", + day: "numeric" + } : { + weekday: length + }, + formatStr = format ? "format" : "standalone"; + + if (!_this2.weekdaysCache[formatStr][length]) { + _this2.weekdaysCache[formatStr][length] = mapWeekdays(function (dt) { + return _this2.extract(dt, intl, "weekday"); + }); + } + + return _this2.weekdaysCache[formatStr][length]; + }); + }; + + _proto4.meridiems = function meridiems$1(defaultOK) { + var _this3 = this; + + if (defaultOK === void 0) { + defaultOK = true; + } + + return listStuff(this, undefined, defaultOK, function () { + return meridiems; + }, function () { + // In theory there could be aribitrary day periods. We're gonna assume there are exactly two + // for AM and PM. This is probably wrong, but it's makes parsing way easier. + if (!_this3.meridiemCache) { + var intl = { + hour: "numeric", + hourCycle: "h12" + }; + _this3.meridiemCache = [DateTime.utc(2016, 11, 13, 9), DateTime.utc(2016, 11, 13, 19)].map(function (dt) { + return _this3.extract(dt, intl, "dayperiod"); + }); + } + + return _this3.meridiemCache; + }); + }; + + _proto4.eras = function eras$1(length, defaultOK) { + var _this4 = this; + + if (defaultOK === void 0) { + defaultOK = true; + } + + return listStuff(this, length, defaultOK, eras, function () { + var intl = { + era: length + }; // This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates + // to definitely enumerate them. + + if (!_this4.eraCache[length]) { + _this4.eraCache[length] = [DateTime.utc(-40, 1, 1), DateTime.utc(2017, 1, 1)].map(function (dt) { + return _this4.extract(dt, intl, "era"); + }); + } + + return _this4.eraCache[length]; + }); + }; + + _proto4.extract = function extract(dt, intlOpts, field) { + var df = this.dtFormatter(dt, intlOpts), + results = df.formatToParts(), + matching = results.find(function (m) { + return m.type.toLowerCase() === field; + }); + return matching ? matching.value : null; + }; + + _proto4.numberFormatter = function numberFormatter(opts) { + if (opts === void 0) { + opts = {}; + } + + // this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave) + // (in contrast, the rest of the condition is used heavily) + return new PolyNumberFormatter(this.intl, opts.forceSimple || this.fastNumbers, opts); + }; + + _proto4.dtFormatter = function dtFormatter(dt, intlOpts) { + if (intlOpts === void 0) { + intlOpts = {}; + } + + return new PolyDateFormatter(dt, this.intl, intlOpts); + }; + + _proto4.relFormatter = function relFormatter(opts) { + if (opts === void 0) { + opts = {}; + } + + return new PolyRelFormatter(this.intl, this.isEnglish(), opts); + }; + + _proto4.listFormatter = function listFormatter(opts) { + if (opts === void 0) { + opts = {}; + } + + return getCachedLF(this.intl, opts); + }; + + _proto4.isEnglish = function isEnglish() { + return this.locale === "en" || this.locale.toLowerCase() === "en-us" || new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us"); + }; + + _proto4.equals = function equals(other) { + return this.locale === other.locale && this.numberingSystem === other.numberingSystem && this.outputCalendar === other.outputCalendar; + }; + + _createClass(Locale, [{ + key: "fastNumbers", + get: function get() { + if (this.fastNumbersCached == null) { + this.fastNumbersCached = supportsFastNumbers(this); + } + + return this.fastNumbersCached; + } + }]); + + return Locale; + }(); + + /* + * This file handles parsing for well-specified formats. Here's how it works: + * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match. + * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object + * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence. + * Extractors can take a "cursor" representing the offset in the match to look at. This makes it easy to combine extractors. + * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions. + * Some extractions are super dumb and simpleParse and fromStrings help DRY them. + */ + + function combineRegexes() { + for (var _len = arguments.length, regexes = new Array(_len), _key = 0; _key < _len; _key++) { + regexes[_key] = arguments[_key]; + } + + var full = regexes.reduce(function (f, r) { + return f + r.source; + }, ""); + return RegExp("^" + full + "$"); + } + + function combineExtractors() { + for (var _len2 = arguments.length, extractors = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + extractors[_key2] = arguments[_key2]; + } + + return function (m) { + return extractors.reduce(function (_ref, ex) { + var mergedVals = _ref[0], + mergedZone = _ref[1], + cursor = _ref[2]; + + var _ex = ex(m, cursor), + val = _ex[0], + zone = _ex[1], + next = _ex[2]; + + return [_extends({}, mergedVals, val), mergedZone || zone, next]; + }, [{}, null, 1]).slice(0, 2); + }; + } + + function parse(s) { + if (s == null) { + return [null, null]; + } + + for (var _len3 = arguments.length, patterns = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { + patterns[_key3 - 1] = arguments[_key3]; + } + + for (var _i = 0, _patterns = patterns; _i < _patterns.length; _i++) { + var _patterns$_i = _patterns[_i], + regex = _patterns$_i[0], + extractor = _patterns$_i[1]; + var m = regex.exec(s); + + if (m) { + return extractor(m); + } + } + + return [null, null]; + } + + function simpleParse() { + for (var _len4 = arguments.length, keys = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + keys[_key4] = arguments[_key4]; + } + + return function (match, cursor) { + var ret = {}; + var i; + + for (i = 0; i < keys.length; i++) { + ret[keys[i]] = parseInteger(match[cursor + i]); + } + + return [ret, null, cursor + i]; + }; + } // ISO and SQL parsing + + + var offsetRegex = /(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/, + isoTimeBaseRegex = /(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/, + isoTimeRegex = RegExp("" + isoTimeBaseRegex.source + offsetRegex.source + "?"), + isoTimeExtensionRegex = RegExp("(?:T" + isoTimeRegex.source + ")?"), + isoYmdRegex = /([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/, + isoWeekRegex = /(\d{4})-?W(\d\d)(?:-?(\d))?/, + isoOrdinalRegex = /(\d{4})-?(\d{3})/, + extractISOWeekData = simpleParse("weekYear", "weekNumber", "weekDay"), + extractISOOrdinalData = simpleParse("year", "ordinal"), + sqlYmdRegex = /(\d{4})-(\d\d)-(\d\d)/, + // dumbed-down version of the ISO one + sqlTimeRegex = RegExp(isoTimeBaseRegex.source + " ?(?:" + offsetRegex.source + "|(" + ianaRegex.source + "))?"), + sqlTimeExtensionRegex = RegExp("(?: " + sqlTimeRegex.source + ")?"); + + function int(match, pos, fallback) { + var m = match[pos]; + return isUndefined(m) ? fallback : parseInteger(m); + } + + function extractISOYmd(match, cursor) { + var item = { + year: int(match, cursor), + month: int(match, cursor + 1, 1), + day: int(match, cursor + 2, 1) + }; + return [item, null, cursor + 3]; + } + + function extractISOTime(match, cursor) { + var item = { + hours: int(match, cursor, 0), + minutes: int(match, cursor + 1, 0), + seconds: int(match, cursor + 2, 0), + milliseconds: parseMillis(match[cursor + 3]) + }; + return [item, null, cursor + 4]; + } + + function extractISOOffset(match, cursor) { + var local = !match[cursor] && !match[cursor + 1], + fullOffset = signedOffset(match[cursor + 1], match[cursor + 2]), + zone = local ? null : FixedOffsetZone.instance(fullOffset); + return [{}, zone, cursor + 3]; + } + + function extractIANAZone(match, cursor) { + var zone = match[cursor] ? IANAZone.create(match[cursor]) : null; + return [{}, zone, cursor + 1]; + } // ISO time parsing + + + var isoTimeOnly = RegExp("^T?" + isoTimeBaseRegex.source + "$"); // ISO duration parsing + + var isoDuration = /^-?P(?:(?:(-?\d{1,9}(?:\.\d{1,9})?)Y)?(?:(-?\d{1,9}(?:\.\d{1,9})?)M)?(?:(-?\d{1,9}(?:\.\d{1,9})?)W)?(?:(-?\d{1,9}(?:\.\d{1,9})?)D)?(?:T(?:(-?\d{1,9}(?:\.\d{1,9})?)H)?(?:(-?\d{1,9}(?:\.\d{1,9})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,9}))?S)?)?)$/; + + function extractISODuration(match) { + var s = match[0], + yearStr = match[1], + monthStr = match[2], + weekStr = match[3], + dayStr = match[4], + hourStr = match[5], + minuteStr = match[6], + secondStr = match[7], + millisecondsStr = match[8]; + var hasNegativePrefix = s[0] === "-"; + var negativeSeconds = secondStr && secondStr[0] === "-"; + + var maybeNegate = function maybeNegate(num, force) { + if (force === void 0) { + force = false; + } + + return num !== undefined && (force || num && hasNegativePrefix) ? -num : num; + }; + + return [{ + years: maybeNegate(parseFloating(yearStr)), + months: maybeNegate(parseFloating(monthStr)), + weeks: maybeNegate(parseFloating(weekStr)), + days: maybeNegate(parseFloating(dayStr)), + hours: maybeNegate(parseFloating(hourStr)), + minutes: maybeNegate(parseFloating(minuteStr)), + seconds: maybeNegate(parseFloating(secondStr), secondStr === "-0"), + milliseconds: maybeNegate(parseMillis(millisecondsStr), negativeSeconds) + }]; + } // These are a little braindead. EDT *should* tell us that we're in, say, America/New_York + // and not just that we're in -240 *right now*. But since I don't think these are used that often + // I'm just going to ignore that + + + var obsOffsets = { + GMT: 0, + EDT: -4 * 60, + EST: -5 * 60, + CDT: -5 * 60, + CST: -6 * 60, + MDT: -6 * 60, + MST: -7 * 60, + PDT: -7 * 60, + PST: -8 * 60 + }; + + function fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) { + var result = { + year: yearStr.length === 2 ? untruncateYear(parseInteger(yearStr)) : parseInteger(yearStr), + month: monthsShort.indexOf(monthStr) + 1, + day: parseInteger(dayStr), + hour: parseInteger(hourStr), + minute: parseInteger(minuteStr) + }; + if (secondStr) result.second = parseInteger(secondStr); + + if (weekdayStr) { + result.weekday = weekdayStr.length > 3 ? weekdaysLong.indexOf(weekdayStr) + 1 : weekdaysShort.indexOf(weekdayStr) + 1; + } + + return result; + } // RFC 2822/5322 + + + var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/; + + function extractRFC2822(match) { + var weekdayStr = match[1], + dayStr = match[2], + monthStr = match[3], + yearStr = match[4], + hourStr = match[5], + minuteStr = match[6], + secondStr = match[7], + obsOffset = match[8], + milOffset = match[9], + offHourStr = match[10], + offMinuteStr = match[11], + result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr); + var offset; + + if (obsOffset) { + offset = obsOffsets[obsOffset]; + } else if (milOffset) { + offset = 0; + } else { + offset = signedOffset(offHourStr, offMinuteStr); + } + + return [result, new FixedOffsetZone(offset)]; + } + + function preprocessRFC2822(s) { + // Remove comments and folding whitespace and replace multiple-spaces with a single space + return s.replace(/\([^)]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").trim(); + } // http date + + + var rfc1123 = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/, + rfc850 = /^(Monday|Tuesday|Wedsday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/, + ascii = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/; + + function extractRFC1123Or850(match) { + var weekdayStr = match[1], + dayStr = match[2], + monthStr = match[3], + yearStr = match[4], + hourStr = match[5], + minuteStr = match[6], + secondStr = match[7], + result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr); + return [result, FixedOffsetZone.utcInstance]; + } + + function extractASCII(match) { + var weekdayStr = match[1], + monthStr = match[2], + dayStr = match[3], + hourStr = match[4], + minuteStr = match[5], + secondStr = match[6], + yearStr = match[7], + result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr); + return [result, FixedOffsetZone.utcInstance]; + } + + var isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex); + var isoWeekWithTimeExtensionRegex = combineRegexes(isoWeekRegex, isoTimeExtensionRegex); + var isoOrdinalWithTimeExtensionRegex = combineRegexes(isoOrdinalRegex, isoTimeExtensionRegex); + var isoTimeCombinedRegex = combineRegexes(isoTimeRegex); + var extractISOYmdTimeAndOffset = combineExtractors(extractISOYmd, extractISOTime, extractISOOffset); + var extractISOWeekTimeAndOffset = combineExtractors(extractISOWeekData, extractISOTime, extractISOOffset); + var extractISOOrdinalDateAndTime = combineExtractors(extractISOOrdinalData, extractISOTime, extractISOOffset); + var extractISOTimeAndOffset = combineExtractors(extractISOTime, extractISOOffset); + /** + * @private + */ + + function parseISODate(s) { + return parse(s, [isoYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset], [isoWeekWithTimeExtensionRegex, extractISOWeekTimeAndOffset], [isoOrdinalWithTimeExtensionRegex, extractISOOrdinalDateAndTime], [isoTimeCombinedRegex, extractISOTimeAndOffset]); + } + function parseRFC2822Date(s) { + return parse(preprocessRFC2822(s), [rfc2822, extractRFC2822]); + } + function parseHTTPDate(s) { + return parse(s, [rfc1123, extractRFC1123Or850], [rfc850, extractRFC1123Or850], [ascii, extractASCII]); + } + function parseISODuration(s) { + return parse(s, [isoDuration, extractISODuration]); + } + var extractISOTimeOnly = combineExtractors(extractISOTime); + function parseISOTimeOnly(s) { + return parse(s, [isoTimeOnly, extractISOTimeOnly]); + } + var sqlYmdWithTimeExtensionRegex = combineRegexes(sqlYmdRegex, sqlTimeExtensionRegex); + var sqlTimeCombinedRegex = combineRegexes(sqlTimeRegex); + var extractISOYmdTimeOffsetAndIANAZone = combineExtractors(extractISOYmd, extractISOTime, extractISOOffset, extractIANAZone); + var extractISOTimeOffsetAndIANAZone = combineExtractors(extractISOTime, extractISOOffset, extractIANAZone); + function parseSQL(s) { + return parse(s, [sqlYmdWithTimeExtensionRegex, extractISOYmdTimeOffsetAndIANAZone], [sqlTimeCombinedRegex, extractISOTimeOffsetAndIANAZone]); + } + + var INVALID$2 = "Invalid Duration"; // unit conversion constants + + var lowOrderMatrix = { + weeks: { + days: 7, + hours: 7 * 24, + minutes: 7 * 24 * 60, + seconds: 7 * 24 * 60 * 60, + milliseconds: 7 * 24 * 60 * 60 * 1000 + }, + days: { + hours: 24, + minutes: 24 * 60, + seconds: 24 * 60 * 60, + milliseconds: 24 * 60 * 60 * 1000 + }, + hours: { + minutes: 60, + seconds: 60 * 60, + milliseconds: 60 * 60 * 1000 + }, + minutes: { + seconds: 60, + milliseconds: 60 * 1000 + }, + seconds: { + milliseconds: 1000 + } + }, + casualMatrix = _extends({ + years: { + quarters: 4, + months: 12, + weeks: 52, + days: 365, + hours: 365 * 24, + minutes: 365 * 24 * 60, + seconds: 365 * 24 * 60 * 60, + milliseconds: 365 * 24 * 60 * 60 * 1000 + }, + quarters: { + months: 3, + weeks: 13, + days: 91, + hours: 91 * 24, + minutes: 91 * 24 * 60, + seconds: 91 * 24 * 60 * 60, + milliseconds: 91 * 24 * 60 * 60 * 1000 + }, + months: { + weeks: 4, + days: 30, + hours: 30 * 24, + minutes: 30 * 24 * 60, + seconds: 30 * 24 * 60 * 60, + milliseconds: 30 * 24 * 60 * 60 * 1000 + } + }, lowOrderMatrix), + daysInYearAccurate = 146097.0 / 400, + daysInMonthAccurate = 146097.0 / 4800, + accurateMatrix = _extends({ + years: { + quarters: 4, + months: 12, + weeks: daysInYearAccurate / 7, + days: daysInYearAccurate, + hours: daysInYearAccurate * 24, + minutes: daysInYearAccurate * 24 * 60, + seconds: daysInYearAccurate * 24 * 60 * 60, + milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000 + }, + quarters: { + months: 3, + weeks: daysInYearAccurate / 28, + days: daysInYearAccurate / 4, + hours: daysInYearAccurate * 24 / 4, + minutes: daysInYearAccurate * 24 * 60 / 4, + seconds: daysInYearAccurate * 24 * 60 * 60 / 4, + milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000 / 4 + }, + months: { + weeks: daysInMonthAccurate / 7, + days: daysInMonthAccurate, + hours: daysInMonthAccurate * 24, + minutes: daysInMonthAccurate * 24 * 60, + seconds: daysInMonthAccurate * 24 * 60 * 60, + milliseconds: daysInMonthAccurate * 24 * 60 * 60 * 1000 + } + }, lowOrderMatrix); // units ordered by size + + var orderedUnits$1 = ["years", "quarters", "months", "weeks", "days", "hours", "minutes", "seconds", "milliseconds"]; + var reverseUnits = orderedUnits$1.slice(0).reverse(); // clone really means "create another instance just like this one, but with these changes" + + function clone$1(dur, alts, clear) { + if (clear === void 0) { + clear = false; + } + + // deep merge for vals + var conf = { + values: clear ? alts.values : _extends({}, dur.values, alts.values || {}), + loc: dur.loc.clone(alts.loc), + conversionAccuracy: alts.conversionAccuracy || dur.conversionAccuracy + }; + return new Duration(conf); + } + + function antiTrunc(n) { + return n < 0 ? Math.floor(n) : Math.ceil(n); + } // NB: mutates parameters + + + function convert(matrix, fromMap, fromUnit, toMap, toUnit) { + var conv = matrix[toUnit][fromUnit], + raw = fromMap[fromUnit] / conv, + sameSign = Math.sign(raw) === Math.sign(toMap[toUnit]), + // ok, so this is wild, but see the matrix in the tests + added = !sameSign && toMap[toUnit] !== 0 && Math.abs(raw) <= 1 ? antiTrunc(raw) : Math.trunc(raw); + toMap[toUnit] += added; + fromMap[fromUnit] -= added * conv; + } // NB: mutates parameters + + + function normalizeValues(matrix, vals) { + reverseUnits.reduce(function (previous, current) { + if (!isUndefined(vals[current])) { + if (previous) { + convert(matrix, vals, previous, vals, current); + } + + return current; + } else { + return previous; + } + }, null); + } + /** + * A Duration object represents a period of time, like "2 months" or "1 day, 1 hour". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime#plus} to add a Duration object to a DateTime, producing another DateTime. + * + * Here is a brief overview of commonly used methods and getters in Duration: + * + * * **Creation** To create a Duration, use {@link Duration#fromMillis}, {@link Duration#fromObject}, or {@link Duration#fromISO}. + * * **Unit values** See the {@link Duration#years}, {@link Duration.months}, {@link Duration#weeks}, {@link Duration#days}, {@link Duration#hours}, {@link Duration#minutes}, {@link Duration#seconds}, {@link Duration#milliseconds} accessors. + * * **Configuration** See {@link Duration#locale} and {@link Duration#numberingSystem} accessors. + * * **Transformation** To create new Durations out of old ones use {@link Duration#plus}, {@link Duration#minus}, {@link Duration#normalize}, {@link Duration#set}, {@link Duration#reconfigure}, {@link Duration#shiftTo}, and {@link Duration#negate}. + * * **Output** To convert the Duration into other representations, see {@link Duration#as}, {@link Duration#toISO}, {@link Duration#toFormat}, and {@link Duration#toJSON} + * + * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation. + */ + + + var Duration = /*#__PURE__*/function () { + /** + * @private + */ + function Duration(config) { + var accurate = config.conversionAccuracy === "longterm" || false; + /** + * @access private + */ + + this.values = config.values; + /** + * @access private + */ + + this.loc = config.loc || Locale.create(); + /** + * @access private + */ + + this.conversionAccuracy = accurate ? "longterm" : "casual"; + /** + * @access private + */ + + this.invalid = config.invalid || null; + /** + * @access private + */ + + this.matrix = accurate ? accurateMatrix : casualMatrix; + /** + * @access private + */ + + this.isLuxonDuration = true; + } + /** + * Create Duration from a number of milliseconds. + * @param {number} count of milliseconds + * @param {Object} opts - options for parsing + * @param {string} [opts.locale='en-US'] - the locale to use + * @param {string} opts.numberingSystem - the numbering system to use + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @return {Duration} + */ + + + Duration.fromMillis = function fromMillis(count, opts) { + return Duration.fromObject({ + milliseconds: count + }, opts); + } + /** + * Create a Duration from a JavaScript object with keys like 'years' and 'hours'. + * If this object is empty then a zero milliseconds duration is returned. + * @param {Object} obj - the object to create the DateTime from + * @param {number} obj.years + * @param {number} obj.quarters + * @param {number} obj.months + * @param {number} obj.weeks + * @param {number} obj.days + * @param {number} obj.hours + * @param {number} obj.minutes + * @param {number} obj.seconds + * @param {number} obj.milliseconds + * @param {Object} [opts=[]] - options for creating this Duration + * @param {string} [opts.locale='en-US'] - the locale to use + * @param {string} opts.numberingSystem - the numbering system to use + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @return {Duration} + */ + ; + + Duration.fromObject = function fromObject(obj, opts) { + if (opts === void 0) { + opts = {}; + } + + if (obj == null || typeof obj !== "object") { + throw new InvalidArgumentError("Duration.fromObject: argument expected to be an object, got " + (obj === null ? "null" : typeof obj)); + } + + return new Duration({ + values: normalizeObject(obj, Duration.normalizeUnit), + loc: Locale.fromObject(opts), + conversionAccuracy: opts.conversionAccuracy + }); + } + /** + * Create a Duration from DurationLike. + * + * @param {Object | number | Duration} durationLike + * One of: + * - object with keys like 'years' and 'hours'. + * - number representing milliseconds + * - Duration instance + * @return {Duration} + */ + ; + + Duration.fromDurationLike = function fromDurationLike(durationLike) { + if (isNumber(durationLike)) { + return Duration.fromMillis(durationLike); + } else if (Duration.isDuration(durationLike)) { + return durationLike; + } else if (typeof durationLike === "object") { + return Duration.fromObject(durationLike); + } else { + throw new InvalidArgumentError("Unknown duration argument " + durationLike + " of type " + typeof durationLike); + } + } + /** + * Create a Duration from an ISO 8601 duration string. + * @param {string} text - text to parse + * @param {Object} opts - options for parsing + * @param {string} [opts.locale='en-US'] - the locale to use + * @param {string} opts.numberingSystem - the numbering system to use + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @see https://en.wikipedia.org/wiki/ISO_8601#Durations + * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 } + * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 } + * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 } + * @return {Duration} + */ + ; + + Duration.fromISO = function fromISO(text, opts) { + var _parseISODuration = parseISODuration(text), + parsed = _parseISODuration[0]; + + if (parsed) { + return Duration.fromObject(parsed, opts); + } else { + return Duration.invalid("unparsable", "the input \"" + text + "\" can't be parsed as ISO 8601"); + } + } + /** + * Create a Duration from an ISO 8601 time string. + * @param {string} text - text to parse + * @param {Object} opts - options for parsing + * @param {string} [opts.locale='en-US'] - the locale to use + * @param {string} opts.numberingSystem - the numbering system to use + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @see https://en.wikipedia.org/wiki/ISO_8601#Times + * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 } + * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 } + * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 } + * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 } + * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 } + * @return {Duration} + */ + ; + + Duration.fromISOTime = function fromISOTime(text, opts) { + var _parseISOTimeOnly = parseISOTimeOnly(text), + parsed = _parseISOTimeOnly[0]; + + if (parsed) { + return Duration.fromObject(parsed, opts); + } else { + return Duration.invalid("unparsable", "the input \"" + text + "\" can't be parsed as ISO 8601"); + } + } + /** + * Create an invalid Duration. + * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent + * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information + * @return {Duration} + */ + ; + + Duration.invalid = function invalid(reason, explanation) { + if (explanation === void 0) { + explanation = null; + } + + if (!reason) { + throw new InvalidArgumentError("need to specify a reason the Duration is invalid"); + } + + var invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation); + + if (Settings.throwOnInvalid) { + throw new InvalidDurationError(invalid); + } else { + return new Duration({ + invalid: invalid + }); + } + } + /** + * @private + */ + ; + + Duration.normalizeUnit = function normalizeUnit(unit) { + var normalized = { + year: "years", + years: "years", + quarter: "quarters", + quarters: "quarters", + month: "months", + months: "months", + week: "weeks", + weeks: "weeks", + day: "days", + days: "days", + hour: "hours", + hours: "hours", + minute: "minutes", + minutes: "minutes", + second: "seconds", + seconds: "seconds", + millisecond: "milliseconds", + milliseconds: "milliseconds" + }[unit ? unit.toLowerCase() : unit]; + if (!normalized) throw new InvalidUnitError(unit); + return normalized; + } + /** + * Check if an object is a Duration. Works across context boundaries + * @param {object} o + * @return {boolean} + */ + ; + + Duration.isDuration = function isDuration(o) { + return o && o.isLuxonDuration || false; + } + /** + * Get the locale of a Duration, such 'en-GB' + * @type {string} + */ + ; + + var _proto = Duration.prototype; + + /** + * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens: + * * `S` for milliseconds + * * `s` for seconds + * * `m` for minutes + * * `h` for hours + * * `d` for days + * * `M` for months + * * `y` for years + * Notes: + * * Add padding by repeating the token, e.g. "yy" pads the years to two digits, "hhhh" pads the hours out to four digits + * * The duration will be converted to the set of units in the format string using {@link Duration#shiftTo} and the Durations's conversion accuracy setting. + * @param {string} fmt - the format string + * @param {Object} opts - options + * @param {boolean} [opts.floor=true] - floor numerical values + * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat("y d s") //=> "1 6 2" + * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat("yy dd sss") //=> "01 06 002" + * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat("M S") //=> "12 518402000" + * @return {string} + */ + _proto.toFormat = function toFormat(fmt, opts) { + if (opts === void 0) { + opts = {}; + } + + // reverse-compat since 1.2; we always round down now, never up, and we do it by default + var fmtOpts = _extends({}, opts, { + floor: opts.round !== false && opts.floor !== false + }); + + return this.isValid ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt) : INVALID$2; + } + /** + * Returns a string representation of a Duration with all units included + * To modify its behavior use the `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant. See {@link Intl.NumberFormat}. + * @param opts - On option object to override the formatting. Accepts the same keys as the options parameter of the native `Int.NumberFormat` constructor, as well as `listStyle`. + * @example + * ```js + * var dur = Duration.fromObject({ days: 1, hours: 5, minutes: 6 }) + * dur.toHuman() //=> '1 day, 5 hours, 6 minutes' + * dur.toHuman({ listStyle: "long" }) //=> '1 day, 5 hours, and 6 minutes' + * dur.toHuman({ unitDisplay: "short" }) //=> '1 day, 5 hr, 6 min' + * ``` + */ + ; + + _proto.toHuman = function toHuman(opts) { + var _this = this; + + if (opts === void 0) { + opts = {}; + } + + var l = orderedUnits$1.map(function (unit) { + var val = _this.values[unit]; + + if (isUndefined(val)) { + return null; + } + + return _this.loc.numberFormatter(_extends({ + style: "unit", + unitDisplay: "long" + }, opts, { + unit: unit.slice(0, -1) + })).format(val); + }).filter(function (n) { + return n; + }); + return this.loc.listFormatter(_extends({ + type: "conjunction", + style: opts.listStyle || "narrow" + }, opts)).format(l); + } + /** + * Returns a JavaScript object with this Duration's values. + * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 } + * @return {Object} + */ + ; + + _proto.toObject = function toObject() { + if (!this.isValid) return {}; + return _extends({}, this.values); + } + /** + * Returns an ISO 8601-compliant string representation of this Duration. + * @see https://en.wikipedia.org/wiki/ISO_8601#Durations + * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S' + * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S' + * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M' + * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M' + * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S' + * @return {string} + */ + ; + + _proto.toISO = function toISO() { + // we could use the formatter, but this is an easier way to get the minimum string + if (!this.isValid) return null; + var s = "P"; + if (this.years !== 0) s += this.years + "Y"; + if (this.months !== 0 || this.quarters !== 0) s += this.months + this.quarters * 3 + "M"; + if (this.weeks !== 0) s += this.weeks + "W"; + if (this.days !== 0) s += this.days + "D"; + if (this.hours !== 0 || this.minutes !== 0 || this.seconds !== 0 || this.milliseconds !== 0) s += "T"; + if (this.hours !== 0) s += this.hours + "H"; + if (this.minutes !== 0) s += this.minutes + "M"; + if (this.seconds !== 0 || this.milliseconds !== 0) // this will handle "floating point madness" by removing extra decimal places + // https://stackoverflow.com/questions/588004/is-floating-point-math-broken + s += roundTo(this.seconds + this.milliseconds / 1000, 3) + "S"; + if (s === "P") s += "T0S"; + return s; + } + /** + * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day. + * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours. + * @see https://en.wikipedia.org/wiki/ISO_8601#Times + * @param {Object} opts - options + * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0 + * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0 + * @param {boolean} [opts.includePrefix=false] - include the `T` prefix + * @param {string} [opts.format='extended'] - choose between the basic and extended format + * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000' + * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00' + * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00' + * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000' + * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000' + * @return {string} + */ + ; + + _proto.toISOTime = function toISOTime(opts) { + if (opts === void 0) { + opts = {}; + } + + if (!this.isValid) return null; + var millis = this.toMillis(); + if (millis < 0 || millis >= 86400000) return null; + opts = _extends({ + suppressMilliseconds: false, + suppressSeconds: false, + includePrefix: false, + format: "extended" + }, opts); + var value = this.shiftTo("hours", "minutes", "seconds", "milliseconds"); + var fmt = opts.format === "basic" ? "hhmm" : "hh:mm"; + + if (!opts.suppressSeconds || value.seconds !== 0 || value.milliseconds !== 0) { + fmt += opts.format === "basic" ? "ss" : ":ss"; + + if (!opts.suppressMilliseconds || value.milliseconds !== 0) { + fmt += ".SSS"; + } + } + + var str = value.toFormat(fmt); + + if (opts.includePrefix) { + str = "T" + str; + } + + return str; + } + /** + * Returns an ISO 8601 representation of this Duration appropriate for use in JSON. + * @return {string} + */ + ; + + _proto.toJSON = function toJSON() { + return this.toISO(); + } + /** + * Returns an ISO 8601 representation of this Duration appropriate for use in debugging. + * @return {string} + */ + ; + + _proto.toString = function toString() { + return this.toISO(); + } + /** + * Returns an milliseconds value of this Duration. + * @return {number} + */ + ; + + _proto.toMillis = function toMillis() { + return this.as("milliseconds"); + } + /** + * Returns an milliseconds value of this Duration. Alias of {@link toMillis} + * @return {number} + */ + ; + + _proto.valueOf = function valueOf() { + return this.toMillis(); + } + /** + * Make this Duration longer by the specified amount. Return a newly-constructed Duration. + * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject() + * @return {Duration} + */ + ; + + _proto.plus = function plus(duration) { + if (!this.isValid) return this; + var dur = Duration.fromDurationLike(duration), + result = {}; + + for (var _iterator = _createForOfIteratorHelperLoose(orderedUnits$1), _step; !(_step = _iterator()).done;) { + var k = _step.value; + + if (hasOwnProperty(dur.values, k) || hasOwnProperty(this.values, k)) { + result[k] = dur.get(k) + this.get(k); + } + } + + return clone$1(this, { + values: result + }, true); + } + /** + * Make this Duration shorter by the specified amount. Return a newly-constructed Duration. + * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject() + * @return {Duration} + */ + ; + + _proto.minus = function minus(duration) { + if (!this.isValid) return this; + var dur = Duration.fromDurationLike(duration); + return this.plus(dur.negate()); + } + /** + * Scale this Duration by the specified amount. Return a newly-constructed Duration. + * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number. + * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits(x => x * 2) //=> { hours: 2, minutes: 60 } + * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits((x, u) => u === "hour" ? x * 2 : x) //=> { hours: 2, minutes: 30 } + * @return {Duration} + */ + ; + + _proto.mapUnits = function mapUnits(fn) { + if (!this.isValid) return this; + var result = {}; + + for (var _i = 0, _Object$keys = Object.keys(this.values); _i < _Object$keys.length; _i++) { + var k = _Object$keys[_i]; + result[k] = asNumber(fn(this.values[k], k)); + } + + return clone$1(this, { + values: result + }, true); + } + /** + * Get the value of unit. + * @param {string} unit - a unit such as 'minute' or 'day' + * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2 + * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0 + * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3 + * @return {number} + */ + ; + + _proto.get = function get(unit) { + return this[Duration.normalizeUnit(unit)]; + } + /** + * "Set" the values of specified units. Return a newly-constructed Duration. + * @param {Object} values - a mapping of units to numbers + * @example dur.set({ years: 2017 }) + * @example dur.set({ hours: 8, minutes: 30 }) + * @return {Duration} + */ + ; + + _proto.set = function set(values) { + if (!this.isValid) return this; + + var mixed = _extends({}, this.values, normalizeObject(values, Duration.normalizeUnit)); + + return clone$1(this, { + values: mixed + }); + } + /** + * "Set" the locale and/or numberingSystem. Returns a newly-constructed Duration. + * @example dur.reconfigure({ locale: 'en-GB' }) + * @return {Duration} + */ + ; + + _proto.reconfigure = function reconfigure(_temp) { + var _ref = _temp === void 0 ? {} : _temp, + locale = _ref.locale, + numberingSystem = _ref.numberingSystem, + conversionAccuracy = _ref.conversionAccuracy; + + var loc = this.loc.clone({ + locale: locale, + numberingSystem: numberingSystem + }), + opts = { + loc: loc + }; + + if (conversionAccuracy) { + opts.conversionAccuracy = conversionAccuracy; + } + + return clone$1(this, opts); + } + /** + * Return the length of the duration in the specified unit. + * @param {string} unit - a unit such as 'minutes' or 'days' + * @example Duration.fromObject({years: 1}).as('days') //=> 365 + * @example Duration.fromObject({years: 1}).as('months') //=> 12 + * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5 + * @return {number} + */ + ; + + _proto.as = function as(unit) { + return this.isValid ? this.shiftTo(unit).get(unit) : NaN; + } + /** + * Reduce this Duration to its canonical representation in its current units. + * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 } + * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 } + * @return {Duration} + */ + ; + + _proto.normalize = function normalize() { + if (!this.isValid) return this; + var vals = this.toObject(); + normalizeValues(this.matrix, vals); + return clone$1(this, { + values: vals + }, true); + } + /** + * Convert this Duration into its representation in a different set of units. + * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 } + * @return {Duration} + */ + ; + + _proto.shiftTo = function shiftTo() { + for (var _len = arguments.length, units = new Array(_len), _key = 0; _key < _len; _key++) { + units[_key] = arguments[_key]; + } + + if (!this.isValid) return this; + + if (units.length === 0) { + return this; + } + + units = units.map(function (u) { + return Duration.normalizeUnit(u); + }); + var built = {}, + accumulated = {}, + vals = this.toObject(); + var lastUnit; + + for (var _iterator2 = _createForOfIteratorHelperLoose(orderedUnits$1), _step2; !(_step2 = _iterator2()).done;) { + var k = _step2.value; + + if (units.indexOf(k) >= 0) { + lastUnit = k; + var own = 0; // anything we haven't boiled down yet should get boiled to this unit + + for (var ak in accumulated) { + own += this.matrix[ak][k] * accumulated[ak]; + accumulated[ak] = 0; + } // plus anything that's already in this unit + + + if (isNumber(vals[k])) { + own += vals[k]; + } + + var i = Math.trunc(own); + built[k] = i; + accumulated[k] = (own * 1000 - i * 1000) / 1000; // plus anything further down the chain that should be rolled up in to this + + for (var down in vals) { + if (orderedUnits$1.indexOf(down) > orderedUnits$1.indexOf(k)) { + convert(this.matrix, vals, down, built, k); + } + } // otherwise, keep it in the wings to boil it later + + } else if (isNumber(vals[k])) { + accumulated[k] = vals[k]; + } + } // anything leftover becomes the decimal for the last unit + // lastUnit must be defined since units is not empty + + + for (var key in accumulated) { + if (accumulated[key] !== 0) { + built[lastUnit] += key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key]; + } + } + + return clone$1(this, { + values: built + }, true).normalize(); + } + /** + * Return the negative of this Duration. + * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 } + * @return {Duration} + */ + ; + + _proto.negate = function negate() { + if (!this.isValid) return this; + var negated = {}; + + for (var _i2 = 0, _Object$keys2 = Object.keys(this.values); _i2 < _Object$keys2.length; _i2++) { + var k = _Object$keys2[_i2]; + negated[k] = -this.values[k]; + } + + return clone$1(this, { + values: negated + }, true); + } + /** + * Get the years. + * @type {number} + */ + ; + + /** + * Equality check + * Two Durations are equal iff they have the same units and the same values for each unit. + * @param {Duration} other + * @return {boolean} + */ + _proto.equals = function equals(other) { + if (!this.isValid || !other.isValid) { + return false; + } + + if (!this.loc.equals(other.loc)) { + return false; + } + + function eq(v1, v2) { + // Consider 0 and undefined as equal + if (v1 === undefined || v1 === 0) return v2 === undefined || v2 === 0; + return v1 === v2; + } + + for (var _iterator3 = _createForOfIteratorHelperLoose(orderedUnits$1), _step3; !(_step3 = _iterator3()).done;) { + var u = _step3.value; + + if (!eq(this.values[u], other.values[u])) { + return false; + } + } + + return true; + }; + + _createClass(Duration, [{ + key: "locale", + get: function get() { + return this.isValid ? this.loc.locale : null; + } + /** + * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration + * + * @type {string} + */ + + }, { + key: "numberingSystem", + get: function get() { + return this.isValid ? this.loc.numberingSystem : null; + } + }, { + key: "years", + get: function get() { + return this.isValid ? this.values.years || 0 : NaN; + } + /** + * Get the quarters. + * @type {number} + */ + + }, { + key: "quarters", + get: function get() { + return this.isValid ? this.values.quarters || 0 : NaN; + } + /** + * Get the months. + * @type {number} + */ + + }, { + key: "months", + get: function get() { + return this.isValid ? this.values.months || 0 : NaN; + } + /** + * Get the weeks + * @type {number} + */ + + }, { + key: "weeks", + get: function get() { + return this.isValid ? this.values.weeks || 0 : NaN; + } + /** + * Get the days. + * @type {number} + */ + + }, { + key: "days", + get: function get() { + return this.isValid ? this.values.days || 0 : NaN; + } + /** + * Get the hours. + * @type {number} + */ + + }, { + key: "hours", + get: function get() { + return this.isValid ? this.values.hours || 0 : NaN; + } + /** + * Get the minutes. + * @type {number} + */ + + }, { + key: "minutes", + get: function get() { + return this.isValid ? this.values.minutes || 0 : NaN; + } + /** + * Get the seconds. + * @return {number} + */ + + }, { + key: "seconds", + get: function get() { + return this.isValid ? this.values.seconds || 0 : NaN; + } + /** + * Get the milliseconds. + * @return {number} + */ + + }, { + key: "milliseconds", + get: function get() { + return this.isValid ? this.values.milliseconds || 0 : NaN; + } + /** + * Returns whether the Duration is invalid. Invalid durations are returned by diff operations + * on invalid DateTimes or Intervals. + * @return {boolean} + */ + + }, { + key: "isValid", + get: function get() { + return this.invalid === null; + } + /** + * Returns an error code if this Duration became invalid, or null if the Duration is valid + * @return {string} + */ + + }, { + key: "invalidReason", + get: function get() { + return this.invalid ? this.invalid.reason : null; + } + /** + * Returns an explanation of why this Duration became invalid, or null if the Duration is valid + * @type {string} + */ + + }, { + key: "invalidExplanation", + get: function get() { + return this.invalid ? this.invalid.explanation : null; + } + }]); + + return Duration; + }(); + + var INVALID$1 = "Invalid Interval"; // checks if the start is equal to or before the end + + function validateStartEnd(start, end) { + if (!start || !start.isValid) { + return Interval.invalid("missing or invalid start"); + } else if (!end || !end.isValid) { + return Interval.invalid("missing or invalid end"); + } else if (end < start) { + return Interval.invalid("end before start", "The end of an interval must be after its start, but you had start=" + start.toISO() + " and end=" + end.toISO()); + } else { + return null; + } + } + /** + * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them. + * + * Here is a brief overview of the most commonly used methods and getters in Interval: + * + * * **Creation** To create an Interval, use {@link Interval#fromDateTimes}, {@link Interval#after}, {@link Interval#before}, or {@link Interval#fromISO}. + * * **Accessors** Use {@link Interval#start} and {@link Interval#end} to get the start and end. + * * **Interrogation** To analyze the Interval, use {@link Interval#count}, {@link Interval#length}, {@link Interval#hasSame}, {@link Interval#contains}, {@link Interval#isAfter}, or {@link Interval#isBefore}. + * * **Transformation** To create other Intervals out of this one, use {@link Interval#set}, {@link Interval#splitAt}, {@link Interval#splitBy}, {@link Interval#divideEqually}, {@link Interval#merge}, {@link Interval#xor}, {@link Interval#union}, {@link Interval#intersection}, or {@link Interval#difference}. + * * **Comparison** To compare this Interval to another one, use {@link Interval#equals}, {@link Interval#overlaps}, {@link Interval#abutsStart}, {@link Interval#abutsEnd}, {@link Interval#engulfs} + * * **Output** To convert the Interval into other representations, see {@link Interval#toString}, {@link Interval#toISO}, {@link Interval#toISODate}, {@link Interval#toISOTime}, {@link Interval#toFormat}, and {@link Interval#toDuration}. + */ + + + var Interval = /*#__PURE__*/function () { + /** + * @private + */ + function Interval(config) { + /** + * @access private + */ + this.s = config.start; + /** + * @access private + */ + + this.e = config.end; + /** + * @access private + */ + + this.invalid = config.invalid || null; + /** + * @access private + */ + + this.isLuxonInterval = true; + } + /** + * Create an invalid Interval. + * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent + * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information + * @return {Interval} + */ + + + Interval.invalid = function invalid(reason, explanation) { + if (explanation === void 0) { + explanation = null; + } + + if (!reason) { + throw new InvalidArgumentError("need to specify a reason the Interval is invalid"); + } + + var invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation); + + if (Settings.throwOnInvalid) { + throw new InvalidIntervalError(invalid); + } else { + return new Interval({ + invalid: invalid + }); + } + } + /** + * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end. + * @param {DateTime|Date|Object} start + * @param {DateTime|Date|Object} end + * @return {Interval} + */ + ; + + Interval.fromDateTimes = function fromDateTimes(start, end) { + var builtStart = friendlyDateTime(start), + builtEnd = friendlyDateTime(end); + var validateError = validateStartEnd(builtStart, builtEnd); + + if (validateError == null) { + return new Interval({ + start: builtStart, + end: builtEnd + }); + } else { + return validateError; + } + } + /** + * Create an Interval from a start DateTime and a Duration to extend to. + * @param {DateTime|Date|Object} start + * @param {Duration|Object|number} duration - the length of the Interval. + * @return {Interval} + */ + ; + + Interval.after = function after(start, duration) { + var dur = Duration.fromDurationLike(duration), + dt = friendlyDateTime(start); + return Interval.fromDateTimes(dt, dt.plus(dur)); + } + /** + * Create an Interval from an end DateTime and a Duration to extend backwards to. + * @param {DateTime|Date|Object} end + * @param {Duration|Object|number} duration - the length of the Interval. + * @return {Interval} + */ + ; + + Interval.before = function before(end, duration) { + var dur = Duration.fromDurationLike(duration), + dt = friendlyDateTime(end); + return Interval.fromDateTimes(dt.minus(dur), dt); + } + /** + * Create an Interval from an ISO 8601 string. + * Accepts `/`, `/`, and `/` formats. + * @param {string} text - the ISO string to parse + * @param {Object} [opts] - options to pass {@link DateTime#fromISO} and optionally {@link Duration#fromISO} + * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals + * @return {Interval} + */ + ; + + Interval.fromISO = function fromISO(text, opts) { + var _split = (text || "").split("/", 2), + s = _split[0], + e = _split[1]; + + if (s && e) { + var start, startIsValid; + + try { + start = DateTime.fromISO(s, opts); + startIsValid = start.isValid; + } catch (e) { + startIsValid = false; + } + + var end, endIsValid; + + try { + end = DateTime.fromISO(e, opts); + endIsValid = end.isValid; + } catch (e) { + endIsValid = false; + } + + if (startIsValid && endIsValid) { + return Interval.fromDateTimes(start, end); + } + + if (startIsValid) { + var dur = Duration.fromISO(e, opts); + + if (dur.isValid) { + return Interval.after(start, dur); + } + } else if (endIsValid) { + var _dur = Duration.fromISO(s, opts); + + if (_dur.isValid) { + return Interval.before(end, _dur); + } + } + } + + return Interval.invalid("unparsable", "the input \"" + text + "\" can't be parsed as ISO 8601"); + } + /** + * Check if an object is an Interval. Works across context boundaries + * @param {object} o + * @return {boolean} + */ + ; + + Interval.isInterval = function isInterval(o) { + return o && o.isLuxonInterval || false; + } + /** + * Returns the start of the Interval + * @type {DateTime} + */ + ; + + var _proto = Interval.prototype; + + /** + * Returns the length of the Interval in the specified unit. + * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in. + * @return {number} + */ + _proto.length = function length(unit) { + if (unit === void 0) { + unit = "milliseconds"; + } + + return this.isValid ? this.toDuration.apply(this, [unit]).get(unit) : NaN; + } + /** + * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part. + * Unlike {@link Interval#length} this counts sections of the calendar, not periods of time, e.g. specifying 'day' + * asks 'what dates are included in this interval?', not 'how many days long is this interval?' + * @param {string} [unit='milliseconds'] - the unit of time to count. + * @return {number} + */ + ; + + _proto.count = function count(unit) { + if (unit === void 0) { + unit = "milliseconds"; + } + + if (!this.isValid) return NaN; + var start = this.start.startOf(unit), + end = this.end.startOf(unit); + return Math.floor(end.diff(start, unit).get(unit)) + 1; + } + /** + * Returns whether this Interval's start and end are both in the same unit of time + * @param {string} unit - the unit of time to check sameness on + * @return {boolean} + */ + ; + + _proto.hasSame = function hasSame(unit) { + return this.isValid ? this.isEmpty() || this.e.minus(1).hasSame(this.s, unit) : false; + } + /** + * Return whether this Interval has the same start and end DateTimes. + * @return {boolean} + */ + ; + + _proto.isEmpty = function isEmpty() { + return this.s.valueOf() === this.e.valueOf(); + } + /** + * Return whether this Interval's start is after the specified DateTime. + * @param {DateTime} dateTime + * @return {boolean} + */ + ; + + _proto.isAfter = function isAfter(dateTime) { + if (!this.isValid) return false; + return this.s > dateTime; + } + /** + * Return whether this Interval's end is before the specified DateTime. + * @param {DateTime} dateTime + * @return {boolean} + */ + ; + + _proto.isBefore = function isBefore(dateTime) { + if (!this.isValid) return false; + return this.e <= dateTime; + } + /** + * Return whether this Interval contains the specified DateTime. + * @param {DateTime} dateTime + * @return {boolean} + */ + ; + + _proto.contains = function contains(dateTime) { + if (!this.isValid) return false; + return this.s <= dateTime && this.e > dateTime; + } + /** + * "Sets" the start and/or end dates. Returns a newly-constructed Interval. + * @param {Object} values - the values to set + * @param {DateTime} values.start - the starting DateTime + * @param {DateTime} values.end - the ending DateTime + * @return {Interval} + */ + ; + + _proto.set = function set(_temp) { + var _ref = _temp === void 0 ? {} : _temp, + start = _ref.start, + end = _ref.end; + + if (!this.isValid) return this; + return Interval.fromDateTimes(start || this.s, end || this.e); + } + /** + * Split this Interval at each of the specified DateTimes + * @param {...DateTime} dateTimes - the unit of time to count. + * @return {Array} + */ + ; + + _proto.splitAt = function splitAt() { + var _this = this; + + if (!this.isValid) return []; + + for (var _len = arguments.length, dateTimes = new Array(_len), _key = 0; _key < _len; _key++) { + dateTimes[_key] = arguments[_key]; + } + + var sorted = dateTimes.map(friendlyDateTime).filter(function (d) { + return _this.contains(d); + }).sort(), + results = []; + var s = this.s, + i = 0; + + while (s < this.e) { + var added = sorted[i] || this.e, + next = +added > +this.e ? this.e : added; + results.push(Interval.fromDateTimes(s, next)); + s = next; + i += 1; + } + + return results; + } + /** + * Split this Interval into smaller Intervals, each of the specified length. + * Left over time is grouped into a smaller interval + * @param {Duration|Object|number} duration - The length of each resulting interval. + * @return {Array} + */ + ; + + _proto.splitBy = function splitBy(duration) { + var dur = Duration.fromDurationLike(duration); + + if (!this.isValid || !dur.isValid || dur.as("milliseconds") === 0) { + return []; + } + + var s = this.s, + idx = 1, + next; + var results = []; + + while (s < this.e) { + var added = this.start.plus(dur.mapUnits(function (x) { + return x * idx; + })); + next = +added > +this.e ? this.e : added; + results.push(Interval.fromDateTimes(s, next)); + s = next; + idx += 1; + } + + return results; + } + /** + * Split this Interval into the specified number of smaller intervals. + * @param {number} numberOfParts - The number of Intervals to divide the Interval into. + * @return {Array} + */ + ; + + _proto.divideEqually = function divideEqually(numberOfParts) { + if (!this.isValid) return []; + return this.splitBy(this.length() / numberOfParts).slice(0, numberOfParts); + } + /** + * Return whether this Interval overlaps with the specified Interval + * @param {Interval} other + * @return {boolean} + */ + ; + + _proto.overlaps = function overlaps(other) { + return this.e > other.s && this.s < other.e; + } + /** + * Return whether this Interval's end is adjacent to the specified Interval's start. + * @param {Interval} other + * @return {boolean} + */ + ; + + _proto.abutsStart = function abutsStart(other) { + if (!this.isValid) return false; + return +this.e === +other.s; + } + /** + * Return whether this Interval's start is adjacent to the specified Interval's end. + * @param {Interval} other + * @return {boolean} + */ + ; + + _proto.abutsEnd = function abutsEnd(other) { + if (!this.isValid) return false; + return +other.e === +this.s; + } + /** + * Return whether this Interval engulfs the start and end of the specified Interval. + * @param {Interval} other + * @return {boolean} + */ + ; + + _proto.engulfs = function engulfs(other) { + if (!this.isValid) return false; + return this.s <= other.s && this.e >= other.e; + } + /** + * Return whether this Interval has the same start and end as the specified Interval. + * @param {Interval} other + * @return {boolean} + */ + ; + + _proto.equals = function equals(other) { + if (!this.isValid || !other.isValid) { + return false; + } + + return this.s.equals(other.s) && this.e.equals(other.e); + } + /** + * Return an Interval representing the intersection of this Interval and the specified Interval. + * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals. + * Returns null if the intersection is empty, meaning, the intervals don't intersect. + * @param {Interval} other + * @return {Interval} + */ + ; + + _proto.intersection = function intersection(other) { + if (!this.isValid) return this; + var s = this.s > other.s ? this.s : other.s, + e = this.e < other.e ? this.e : other.e; + + if (s >= e) { + return null; + } else { + return Interval.fromDateTimes(s, e); + } + } + /** + * Return an Interval representing the union of this Interval and the specified Interval. + * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals. + * @param {Interval} other + * @return {Interval} + */ + ; + + _proto.union = function union(other) { + if (!this.isValid) return this; + var s = this.s < other.s ? this.s : other.s, + e = this.e > other.e ? this.e : other.e; + return Interval.fromDateTimes(s, e); + } + /** + * Merge an array of Intervals into a equivalent minimal set of Intervals. + * Combines overlapping and adjacent Intervals. + * @param {Array} intervals + * @return {Array} + */ + ; + + Interval.merge = function merge(intervals) { + var _intervals$sort$reduc = intervals.sort(function (a, b) { + return a.s - b.s; + }).reduce(function (_ref2, item) { + var sofar = _ref2[0], + current = _ref2[1]; + + if (!current) { + return [sofar, item]; + } else if (current.overlaps(item) || current.abutsStart(item)) { + return [sofar, current.union(item)]; + } else { + return [sofar.concat([current]), item]; + } + }, [[], null]), + found = _intervals$sort$reduc[0], + final = _intervals$sort$reduc[1]; + + if (final) { + found.push(final); + } + + return found; + } + /** + * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals. + * @param {Array} intervals + * @return {Array} + */ + ; + + Interval.xor = function xor(intervals) { + var _Array$prototype; + + var start = null, + currentCount = 0; + + var results = [], + ends = intervals.map(function (i) { + return [{ + time: i.s, + type: "s" + }, { + time: i.e, + type: "e" + }]; + }), + flattened = (_Array$prototype = Array.prototype).concat.apply(_Array$prototype, ends), + arr = flattened.sort(function (a, b) { + return a.time - b.time; + }); + + for (var _iterator = _createForOfIteratorHelperLoose(arr), _step; !(_step = _iterator()).done;) { + var i = _step.value; + currentCount += i.type === "s" ? 1 : -1; + + if (currentCount === 1) { + start = i.time; + } else { + if (start && +start !== +i.time) { + results.push(Interval.fromDateTimes(start, i.time)); + } + + start = null; + } + } + + return Interval.merge(results); + } + /** + * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals. + * @param {...Interval} intervals + * @return {Array} + */ + ; + + _proto.difference = function difference() { + var _this2 = this; + + for (var _len2 = arguments.length, intervals = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + intervals[_key2] = arguments[_key2]; + } + + return Interval.xor([this].concat(intervals)).map(function (i) { + return _this2.intersection(i); + }).filter(function (i) { + return i && !i.isEmpty(); + }); + } + /** + * Returns a string representation of this Interval appropriate for debugging. + * @return {string} + */ + ; + + _proto.toString = function toString() { + if (!this.isValid) return INVALID$1; + return "[" + this.s.toISO() + " \u2013 " + this.e.toISO() + ")"; + } + /** + * Returns an ISO 8601-compliant string representation of this Interval. + * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals + * @param {Object} opts - The same options as {@link DateTime#toISO} + * @return {string} + */ + ; + + _proto.toISO = function toISO(opts) { + if (!this.isValid) return INVALID$1; + return this.s.toISO(opts) + "/" + this.e.toISO(opts); + } + /** + * Returns an ISO 8601-compliant string representation of date of this Interval. + * The time components are ignored. + * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals + * @return {string} + */ + ; + + _proto.toISODate = function toISODate() { + if (!this.isValid) return INVALID$1; + return this.s.toISODate() + "/" + this.e.toISODate(); + } + /** + * Returns an ISO 8601-compliant string representation of time of this Interval. + * The date components are ignored. + * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals + * @param {Object} opts - The same options as {@link DateTime#toISO} + * @return {string} + */ + ; + + _proto.toISOTime = function toISOTime(opts) { + if (!this.isValid) return INVALID$1; + return this.s.toISOTime(opts) + "/" + this.e.toISOTime(opts); + } + /** + * Returns a string representation of this Interval formatted according to the specified format string. + * @param {string} dateFormat - the format string. This string formats the start and end time. See {@link DateTime#toFormat} for details. + * @param {Object} opts - options + * @param {string} [opts.separator = ' – '] - a separator to place between the start and end representations + * @return {string} + */ + ; + + _proto.toFormat = function toFormat(dateFormat, _temp2) { + var _ref3 = _temp2 === void 0 ? {} : _temp2, + _ref3$separator = _ref3.separator, + separator = _ref3$separator === void 0 ? " – " : _ref3$separator; + + if (!this.isValid) return INVALID$1; + return "" + this.s.toFormat(dateFormat) + separator + this.e.toFormat(dateFormat); + } + /** + * Return a Duration representing the time spanned by this interval. + * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration. + * @param {Object} opts - options that affect the creation of the Duration + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 } + * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 } + * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 } + * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 } + * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 } + * @return {Duration} + */ + ; + + _proto.toDuration = function toDuration(unit, opts) { + if (!this.isValid) { + return Duration.invalid(this.invalidReason); + } + + return this.e.diff(this.s, unit, opts); + } + /** + * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes + * @param {function} mapFn + * @return {Interval} + * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC()) + * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 })) + */ + ; + + _proto.mapEndpoints = function mapEndpoints(mapFn) { + return Interval.fromDateTimes(mapFn(this.s), mapFn(this.e)); + }; + + _createClass(Interval, [{ + key: "start", + get: function get() { + return this.isValid ? this.s : null; + } + /** + * Returns the end of the Interval + * @type {DateTime} + */ + + }, { + key: "end", + get: function get() { + return this.isValid ? this.e : null; + } + /** + * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'. + * @type {boolean} + */ + + }, { + key: "isValid", + get: function get() { + return this.invalidReason === null; + } + /** + * Returns an error code if this Interval is invalid, or null if the Interval is valid + * @type {string} + */ + + }, { + key: "invalidReason", + get: function get() { + return this.invalid ? this.invalid.reason : null; + } + /** + * Returns an explanation of why this Interval became invalid, or null if the Interval is valid + * @type {string} + */ + + }, { + key: "invalidExplanation", + get: function get() { + return this.invalid ? this.invalid.explanation : null; + } + }]); + + return Interval; + }(); + + /** + * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment. + */ + + var Info = /*#__PURE__*/function () { + function Info() {} + + /** + * Return whether the specified zone contains a DST. + * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone. + * @return {boolean} + */ + Info.hasDST = function hasDST(zone) { + if (zone === void 0) { + zone = Settings.defaultZone; + } + + var proto = DateTime.now().setZone(zone).set({ + month: 12 + }); + return !zone.isUniversal && proto.offset !== proto.set({ + month: 6 + }).offset; + } + /** + * Return whether the specified zone is a valid IANA specifier. + * @param {string} zone - Zone to check + * @return {boolean} + */ + ; + + Info.isValidIANAZone = function isValidIANAZone(zone) { + return IANAZone.isValidSpecifier(zone) && IANAZone.isValidZone(zone); + } + /** + * Converts the input into a {@link Zone} instance. + * + * * If `input` is already a Zone instance, it is returned unchanged. + * * If `input` is a string containing a valid time zone name, a Zone instance + * with that name is returned. + * * If `input` is a string that doesn't refer to a known time zone, a Zone + * instance with {@link Zone#isValid} == false is returned. + * * If `input is a number, a Zone instance with the specified fixed offset + * in minutes is returned. + * * If `input` is `null` or `undefined`, the default zone is returned. + * @param {string|Zone|number} [input] - the value to be converted + * @return {Zone} + */ + ; + + Info.normalizeZone = function normalizeZone$1(input) { + return normalizeZone(input, Settings.defaultZone); + } + /** + * Return an array of standalone month names. + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat + * @param {string} [length='long'] - the length of the month representation, such as "numeric", "2-digit", "narrow", "short", "long" + * @param {Object} opts - options + * @param {string} [opts.locale] - the locale code + * @param {string} [opts.numberingSystem=null] - the numbering system + * @param {string} [opts.locObj=null] - an existing locale object to use + * @param {string} [opts.outputCalendar='gregory'] - the calendar + * @example Info.months()[0] //=> 'January' + * @example Info.months('short')[0] //=> 'Jan' + * @example Info.months('numeric')[0] //=> '1' + * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.' + * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١' + * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I' + * @return {Array} + */ + ; + + Info.months = function months(length, _temp) { + if (length === void 0) { + length = "long"; + } + + var _ref = _temp === void 0 ? {} : _temp, + _ref$locale = _ref.locale, + locale = _ref$locale === void 0 ? null : _ref$locale, + _ref$numberingSystem = _ref.numberingSystem, + numberingSystem = _ref$numberingSystem === void 0 ? null : _ref$numberingSystem, + _ref$locObj = _ref.locObj, + locObj = _ref$locObj === void 0 ? null : _ref$locObj, + _ref$outputCalendar = _ref.outputCalendar, + outputCalendar = _ref$outputCalendar === void 0 ? "gregory" : _ref$outputCalendar; + + return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length); + } + /** + * Return an array of format month names. + * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that + * changes the string. + * See {@link Info#months} + * @param {string} [length='long'] - the length of the month representation, such as "numeric", "2-digit", "narrow", "short", "long" + * @param {Object} opts - options + * @param {string} [opts.locale] - the locale code + * @param {string} [opts.numberingSystem=null] - the numbering system + * @param {string} [opts.locObj=null] - an existing locale object to use + * @param {string} [opts.outputCalendar='gregory'] - the calendar + * @return {Array} + */ + ; + + Info.monthsFormat = function monthsFormat(length, _temp2) { + if (length === void 0) { + length = "long"; + } + + var _ref2 = _temp2 === void 0 ? {} : _temp2, + _ref2$locale = _ref2.locale, + locale = _ref2$locale === void 0 ? null : _ref2$locale, + _ref2$numberingSystem = _ref2.numberingSystem, + numberingSystem = _ref2$numberingSystem === void 0 ? null : _ref2$numberingSystem, + _ref2$locObj = _ref2.locObj, + locObj = _ref2$locObj === void 0 ? null : _ref2$locObj, + _ref2$outputCalendar = _ref2.outputCalendar, + outputCalendar = _ref2$outputCalendar === void 0 ? "gregory" : _ref2$outputCalendar; + + return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length, true); + } + /** + * Return an array of standalone week names. + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat + * @param {string} [length='long'] - the length of the weekday representation, such as "narrow", "short", "long". + * @param {Object} opts - options + * @param {string} [opts.locale] - the locale code + * @param {string} [opts.numberingSystem=null] - the numbering system + * @param {string} [opts.locObj=null] - an existing locale object to use + * @example Info.weekdays()[0] //=> 'Monday' + * @example Info.weekdays('short')[0] //=> 'Mon' + * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.' + * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين' + * @return {Array} + */ + ; + + Info.weekdays = function weekdays(length, _temp3) { + if (length === void 0) { + length = "long"; + } + + var _ref3 = _temp3 === void 0 ? {} : _temp3, + _ref3$locale = _ref3.locale, + locale = _ref3$locale === void 0 ? null : _ref3$locale, + _ref3$numberingSystem = _ref3.numberingSystem, + numberingSystem = _ref3$numberingSystem === void 0 ? null : _ref3$numberingSystem, + _ref3$locObj = _ref3.locObj, + locObj = _ref3$locObj === void 0 ? null : _ref3$locObj; + + return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length); + } + /** + * Return an array of format week names. + * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that + * changes the string. + * See {@link Info#weekdays} + * @param {string} [length='long'] - the length of the month representation, such as "narrow", "short", "long". + * @param {Object} opts - options + * @param {string} [opts.locale=null] - the locale code + * @param {string} [opts.numberingSystem=null] - the numbering system + * @param {string} [opts.locObj=null] - an existing locale object to use + * @return {Array} + */ + ; + + Info.weekdaysFormat = function weekdaysFormat(length, _temp4) { + if (length === void 0) { + length = "long"; + } + + var _ref4 = _temp4 === void 0 ? {} : _temp4, + _ref4$locale = _ref4.locale, + locale = _ref4$locale === void 0 ? null : _ref4$locale, + _ref4$numberingSystem = _ref4.numberingSystem, + numberingSystem = _ref4$numberingSystem === void 0 ? null : _ref4$numberingSystem, + _ref4$locObj = _ref4.locObj, + locObj = _ref4$locObj === void 0 ? null : _ref4$locObj; + + return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length, true); + } + /** + * Return an array of meridiems. + * @param {Object} opts - options + * @param {string} [opts.locale] - the locale code + * @example Info.meridiems() //=> [ 'AM', 'PM' ] + * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ] + * @return {Array} + */ + ; + + Info.meridiems = function meridiems(_temp5) { + var _ref5 = _temp5 === void 0 ? {} : _temp5, + _ref5$locale = _ref5.locale, + locale = _ref5$locale === void 0 ? null : _ref5$locale; + + return Locale.create(locale).meridiems(); + } + /** + * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian. + * @param {string} [length='short'] - the length of the era representation, such as "short" or "long". + * @param {Object} opts - options + * @param {string} [opts.locale] - the locale code + * @example Info.eras() //=> [ 'BC', 'AD' ] + * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ] + * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ] + * @return {Array} + */ + ; + + Info.eras = function eras(length, _temp6) { + if (length === void 0) { + length = "short"; + } + + var _ref6 = _temp6 === void 0 ? {} : _temp6, + _ref6$locale = _ref6.locale, + locale = _ref6$locale === void 0 ? null : _ref6$locale; + + return Locale.create(locale, null, "gregory").eras(length); + } + /** + * Return the set of available features in this environment. + * Some features of Luxon are not available in all environments. For example, on older browsers, relative time formatting support is not available. Use this function to figure out if that's the case. + * Keys: + * * `relative`: whether this environment supports relative time formatting + * @example Info.features() //=> { relative: false } + * @return {Object} + */ + ; + + Info.features = function features() { + return { + relative: hasRelative() + }; + }; + + return Info; + }(); + + function dayDiff(earlier, later) { + var utcDayStart = function utcDayStart(dt) { + return dt.toUTC(0, { + keepLocalTime: true + }).startOf("day").valueOf(); + }, + ms = utcDayStart(later) - utcDayStart(earlier); + + return Math.floor(Duration.fromMillis(ms).as("days")); + } + + function highOrderDiffs(cursor, later, units) { + var differs = [["years", function (a, b) { + return b.year - a.year; + }], ["quarters", function (a, b) { + return b.quarter - a.quarter; + }], ["months", function (a, b) { + return b.month - a.month + (b.year - a.year) * 12; + }], ["weeks", function (a, b) { + var days = dayDiff(a, b); + return (days - days % 7) / 7; + }], ["days", dayDiff]]; + var results = {}; + var lowestOrder, highWater; + + for (var _i = 0, _differs = differs; _i < _differs.length; _i++) { + var _differs$_i = _differs[_i], + unit = _differs$_i[0], + differ = _differs$_i[1]; + + if (units.indexOf(unit) >= 0) { + var _cursor$plus; + + lowestOrder = unit; + var delta = differ(cursor, later); + highWater = cursor.plus((_cursor$plus = {}, _cursor$plus[unit] = delta, _cursor$plus)); + + if (highWater > later) { + var _cursor$plus2; + + cursor = cursor.plus((_cursor$plus2 = {}, _cursor$plus2[unit] = delta - 1, _cursor$plus2)); + delta -= 1; + } else { + cursor = highWater; + } + + results[unit] = delta; + } + } + + return [cursor, results, highWater, lowestOrder]; + } + + function _diff (earlier, later, units, opts) { + var _highOrderDiffs = highOrderDiffs(earlier, later, units), + cursor = _highOrderDiffs[0], + results = _highOrderDiffs[1], + highWater = _highOrderDiffs[2], + lowestOrder = _highOrderDiffs[3]; + + var remainingMillis = later - cursor; + var lowerOrderUnits = units.filter(function (u) { + return ["hours", "minutes", "seconds", "milliseconds"].indexOf(u) >= 0; + }); + + if (lowerOrderUnits.length === 0) { + if (highWater < later) { + var _cursor$plus3; + + highWater = cursor.plus((_cursor$plus3 = {}, _cursor$plus3[lowestOrder] = 1, _cursor$plus3)); + } + + if (highWater !== cursor) { + results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor); + } + } + + var duration = Duration.fromObject(results, opts); + + if (lowerOrderUnits.length > 0) { + var _Duration$fromMillis; + + return (_Duration$fromMillis = Duration.fromMillis(remainingMillis, opts)).shiftTo.apply(_Duration$fromMillis, lowerOrderUnits).plus(duration); + } else { + return duration; + } + } + + var numberingSystems = { + arab: "[\u0660-\u0669]", + arabext: "[\u06F0-\u06F9]", + bali: "[\u1B50-\u1B59]", + beng: "[\u09E6-\u09EF]", + deva: "[\u0966-\u096F]", + fullwide: "[\uFF10-\uFF19]", + gujr: "[\u0AE6-\u0AEF]", + hanidec: "[〇|一|二|三|四|五|六|七|八|九]", + khmr: "[\u17E0-\u17E9]", + knda: "[\u0CE6-\u0CEF]", + laoo: "[\u0ED0-\u0ED9]", + limb: "[\u1946-\u194F]", + mlym: "[\u0D66-\u0D6F]", + mong: "[\u1810-\u1819]", + mymr: "[\u1040-\u1049]", + orya: "[\u0B66-\u0B6F]", + tamldec: "[\u0BE6-\u0BEF]", + telu: "[\u0C66-\u0C6F]", + thai: "[\u0E50-\u0E59]", + tibt: "[\u0F20-\u0F29]", + latn: "\\d" + }; + var numberingSystemsUTF16 = { + arab: [1632, 1641], + arabext: [1776, 1785], + bali: [6992, 7001], + beng: [2534, 2543], + deva: [2406, 2415], + fullwide: [65296, 65303], + gujr: [2790, 2799], + khmr: [6112, 6121], + knda: [3302, 3311], + laoo: [3792, 3801], + limb: [6470, 6479], + mlym: [3430, 3439], + mong: [6160, 6169], + mymr: [4160, 4169], + orya: [2918, 2927], + tamldec: [3046, 3055], + telu: [3174, 3183], + thai: [3664, 3673], + tibt: [3872, 3881] + }; + var hanidecChars = numberingSystems.hanidec.replace(/[\[|\]]/g, "").split(""); + function parseDigits(str) { + var value = parseInt(str, 10); + + if (isNaN(value)) { + value = ""; + + for (var i = 0; i < str.length; i++) { + var code = str.charCodeAt(i); + + if (str[i].search(numberingSystems.hanidec) !== -1) { + value += hanidecChars.indexOf(str[i]); + } else { + for (var key in numberingSystemsUTF16) { + var _numberingSystemsUTF = numberingSystemsUTF16[key], + min = _numberingSystemsUTF[0], + max = _numberingSystemsUTF[1]; + + if (code >= min && code <= max) { + value += code - min; + } + } + } + } + + return parseInt(value, 10); + } else { + return value; + } + } + function digitRegex(_ref, append) { + var numberingSystem = _ref.numberingSystem; + + if (append === void 0) { + append = ""; + } + + return new RegExp("" + numberingSystems[numberingSystem || "latn"] + append); + } + + var MISSING_FTP = "missing Intl.DateTimeFormat.formatToParts support"; + + function intUnit(regex, post) { + if (post === void 0) { + post = function post(i) { + return i; + }; + } + + return { + regex: regex, + deser: function deser(_ref) { + var s = _ref[0]; + return post(parseDigits(s)); + } + }; + } + + var NBSP = String.fromCharCode(160); + var spaceOrNBSP = "( |" + NBSP + ")"; + var spaceOrNBSPRegExp = new RegExp(spaceOrNBSP, "g"); + + function fixListRegex(s) { + // make dots optional and also make them literal + // make space and non breakable space characters interchangeable + return s.replace(/\./g, "\\.?").replace(spaceOrNBSPRegExp, spaceOrNBSP); + } + + function stripInsensitivities(s) { + return s.replace(/\./g, "") // ignore dots that were made optional + .replace(spaceOrNBSPRegExp, " ") // interchange space and nbsp + .toLowerCase(); + } + + function oneOf(strings, startIndex) { + if (strings === null) { + return null; + } else { + return { + regex: RegExp(strings.map(fixListRegex).join("|")), + deser: function deser(_ref2) { + var s = _ref2[0]; + return strings.findIndex(function (i) { + return stripInsensitivities(s) === stripInsensitivities(i); + }) + startIndex; + } + }; + } + } + + function offset(regex, groups) { + return { + regex: regex, + deser: function deser(_ref3) { + var h = _ref3[1], + m = _ref3[2]; + return signedOffset(h, m); + }, + groups: groups + }; + } + + function simple(regex) { + return { + regex: regex, + deser: function deser(_ref4) { + var s = _ref4[0]; + return s; + } + }; + } + + function escapeToken(value) { + return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"); + } + + function unitForToken(token, loc) { + var one = digitRegex(loc), + two = digitRegex(loc, "{2}"), + three = digitRegex(loc, "{3}"), + four = digitRegex(loc, "{4}"), + six = digitRegex(loc, "{6}"), + oneOrTwo = digitRegex(loc, "{1,2}"), + oneToThree = digitRegex(loc, "{1,3}"), + oneToSix = digitRegex(loc, "{1,6}"), + oneToNine = digitRegex(loc, "{1,9}"), + twoToFour = digitRegex(loc, "{2,4}"), + fourToSix = digitRegex(loc, "{4,6}"), + literal = function literal(t) { + return { + regex: RegExp(escapeToken(t.val)), + deser: function deser(_ref5) { + var s = _ref5[0]; + return s; + }, + literal: true + }; + }, + unitate = function unitate(t) { + if (token.literal) { + return literal(t); + } + + switch (t.val) { + // era + case "G": + return oneOf(loc.eras("short", false), 0); + + case "GG": + return oneOf(loc.eras("long", false), 0); + // years + + case "y": + return intUnit(oneToSix); + + case "yy": + return intUnit(twoToFour, untruncateYear); + + case "yyyy": + return intUnit(four); + + case "yyyyy": + return intUnit(fourToSix); + + case "yyyyyy": + return intUnit(six); + // months + + case "M": + return intUnit(oneOrTwo); + + case "MM": + return intUnit(two); + + case "MMM": + return oneOf(loc.months("short", true, false), 1); + + case "MMMM": + return oneOf(loc.months("long", true, false), 1); + + case "L": + return intUnit(oneOrTwo); + + case "LL": + return intUnit(two); + + case "LLL": + return oneOf(loc.months("short", false, false), 1); + + case "LLLL": + return oneOf(loc.months("long", false, false), 1); + // dates + + case "d": + return intUnit(oneOrTwo); + + case "dd": + return intUnit(two); + // ordinals + + case "o": + return intUnit(oneToThree); + + case "ooo": + return intUnit(three); + // time + + case "HH": + return intUnit(two); + + case "H": + return intUnit(oneOrTwo); + + case "hh": + return intUnit(two); + + case "h": + return intUnit(oneOrTwo); + + case "mm": + return intUnit(two); + + case "m": + return intUnit(oneOrTwo); + + case "q": + return intUnit(oneOrTwo); + + case "qq": + return intUnit(two); + + case "s": + return intUnit(oneOrTwo); + + case "ss": + return intUnit(two); + + case "S": + return intUnit(oneToThree); + + case "SSS": + return intUnit(three); + + case "u": + return simple(oneToNine); + + case "uu": + return simple(oneOrTwo); + + case "uuu": + return intUnit(one); + // meridiem + + case "a": + return oneOf(loc.meridiems(), 0); + // weekYear (k) + + case "kkkk": + return intUnit(four); + + case "kk": + return intUnit(twoToFour, untruncateYear); + // weekNumber (W) + + case "W": + return intUnit(oneOrTwo); + + case "WW": + return intUnit(two); + // weekdays + + case "E": + case "c": + return intUnit(one); + + case "EEE": + return oneOf(loc.weekdays("short", false, false), 1); + + case "EEEE": + return oneOf(loc.weekdays("long", false, false), 1); + + case "ccc": + return oneOf(loc.weekdays("short", true, false), 1); + + case "cccc": + return oneOf(loc.weekdays("long", true, false), 1); + // offset/zone + + case "Z": + case "ZZ": + return offset(new RegExp("([+-]" + oneOrTwo.source + ")(?::(" + two.source + "))?"), 2); + + case "ZZZ": + return offset(new RegExp("([+-]" + oneOrTwo.source + ")(" + two.source + ")?"), 2); + // we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing + // because we don't have any way to figure out what they are + + case "z": + return simple(/[a-z_+-/]{1,256}?/i); + + default: + return literal(t); + } + }; + + var unit = unitate(token) || { + invalidReason: MISSING_FTP + }; + unit.token = token; + return unit; + } + + var partTypeStyleToTokenVal = { + year: { + "2-digit": "yy", + numeric: "yyyyy" + }, + month: { + numeric: "M", + "2-digit": "MM", + short: "MMM", + long: "MMMM" + }, + day: { + numeric: "d", + "2-digit": "dd" + }, + weekday: { + short: "EEE", + long: "EEEE" + }, + dayperiod: "a", + dayPeriod: "a", + hour: { + numeric: "h", + "2-digit": "hh" + }, + minute: { + numeric: "m", + "2-digit": "mm" + }, + second: { + numeric: "s", + "2-digit": "ss" + } + }; + + function tokenForPart(part, locale, formatOpts) { + var type = part.type, + value = part.value; + + if (type === "literal") { + return { + literal: true, + val: value + }; + } + + var style = formatOpts[type]; + var val = partTypeStyleToTokenVal[type]; + + if (typeof val === "object") { + val = val[style]; + } + + if (val) { + return { + literal: false, + val: val + }; + } + + return undefined; + } + + function buildRegex(units) { + var re = units.map(function (u) { + return u.regex; + }).reduce(function (f, r) { + return f + "(" + r.source + ")"; + }, ""); + return ["^" + re + "$", units]; + } + + function match(input, regex, handlers) { + var matches = input.match(regex); + + if (matches) { + var all = {}; + var matchIndex = 1; + + for (var i in handlers) { + if (hasOwnProperty(handlers, i)) { + var h = handlers[i], + groups = h.groups ? h.groups + 1 : 1; + + if (!h.literal && h.token) { + all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups)); + } + + matchIndex += groups; + } + } + + return [matches, all]; + } else { + return [matches, {}]; + } + } + + function dateTimeFromMatches(matches) { + var toField = function toField(token) { + switch (token) { + case "S": + return "millisecond"; + + case "s": + return "second"; + + case "m": + return "minute"; + + case "h": + case "H": + return "hour"; + + case "d": + return "day"; + + case "o": + return "ordinal"; + + case "L": + case "M": + return "month"; + + case "y": + return "year"; + + case "E": + case "c": + return "weekday"; + + case "W": + return "weekNumber"; + + case "k": + return "weekYear"; + + case "q": + return "quarter"; + + default: + return null; + } + }; + + var zone = null; + var specificOffset; + + if (!isUndefined(matches.z)) { + zone = IANAZone.create(matches.z); + } + + if (!isUndefined(matches.Z)) { + if (!zone) { + zone = new FixedOffsetZone(matches.Z); + } + + specificOffset = matches.Z; + } + + if (!isUndefined(matches.q)) { + matches.M = (matches.q - 1) * 3 + 1; + } + + if (!isUndefined(matches.h)) { + if (matches.h < 12 && matches.a === 1) { + matches.h += 12; + } else if (matches.h === 12 && matches.a === 0) { + matches.h = 0; + } + } + + if (matches.G === 0 && matches.y) { + matches.y = -matches.y; + } + + if (!isUndefined(matches.u)) { + matches.S = parseMillis(matches.u); + } + + var vals = Object.keys(matches).reduce(function (r, k) { + var f = toField(k); + + if (f) { + r[f] = matches[k]; + } + + return r; + }, {}); + return [vals, zone, specificOffset]; + } + + var dummyDateTimeCache = null; + + function getDummyDateTime() { + if (!dummyDateTimeCache) { + dummyDateTimeCache = DateTime.fromMillis(1555555555555); + } + + return dummyDateTimeCache; + } + + function maybeExpandMacroToken(token, locale) { + if (token.literal) { + return token; + } + + var formatOpts = Formatter.macroTokenToFormatOpts(token.val); + + if (!formatOpts) { + return token; + } + + var formatter = Formatter.create(locale, formatOpts); + var parts = formatter.formatDateTimeParts(getDummyDateTime()); + var tokens = parts.map(function (p) { + return tokenForPart(p, locale, formatOpts); + }); + + if (tokens.includes(undefined)) { + return token; + } + + return tokens; + } + + function expandMacroTokens(tokens, locale) { + var _Array$prototype; + + return (_Array$prototype = Array.prototype).concat.apply(_Array$prototype, tokens.map(function (t) { + return maybeExpandMacroToken(t, locale); + })); + } + /** + * @private + */ + + + function explainFromTokens(locale, input, format) { + var tokens = expandMacroTokens(Formatter.parseFormat(format), locale), + units = tokens.map(function (t) { + return unitForToken(t, locale); + }), + disqualifyingUnit = units.find(function (t) { + return t.invalidReason; + }); + + if (disqualifyingUnit) { + return { + input: input, + tokens: tokens, + invalidReason: disqualifyingUnit.invalidReason + }; + } else { + var _buildRegex = buildRegex(units), + regexString = _buildRegex[0], + handlers = _buildRegex[1], + regex = RegExp(regexString, "i"), + _match = match(input, regex, handlers), + rawMatches = _match[0], + matches = _match[1], + _ref6 = matches ? dateTimeFromMatches(matches) : [null, null, undefined], + result = _ref6[0], + zone = _ref6[1], + specificOffset = _ref6[2]; + + if (hasOwnProperty(matches, "a") && hasOwnProperty(matches, "H")) { + throw new ConflictingSpecificationError("Can't include meridiem when specifying 24-hour format"); + } + + return { + input: input, + tokens: tokens, + regex: regex, + rawMatches: rawMatches, + matches: matches, + result: result, + zone: zone, + specificOffset: specificOffset + }; + } + } + function parseFromTokens(locale, input, format) { + var _explainFromTokens = explainFromTokens(locale, input, format), + result = _explainFromTokens.result, + zone = _explainFromTokens.zone, + specificOffset = _explainFromTokens.specificOffset, + invalidReason = _explainFromTokens.invalidReason; + + return [result, zone, specificOffset, invalidReason]; + } + + var nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334], + leapLadder = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335]; + + function unitOutOfRange(unit, value) { + return new Invalid("unit out of range", "you specified " + value + " (of type " + typeof value + ") as a " + unit + ", which is invalid"); + } + + function dayOfWeek(year, month, day) { + var js = new Date(Date.UTC(year, month - 1, day)).getUTCDay(); + return js === 0 ? 7 : js; + } + + function computeOrdinal(year, month, day) { + return day + (isLeapYear(year) ? leapLadder : nonLeapLadder)[month - 1]; + } + + function uncomputeOrdinal(year, ordinal) { + var table = isLeapYear(year) ? leapLadder : nonLeapLadder, + month0 = table.findIndex(function (i) { + return i < ordinal; + }), + day = ordinal - table[month0]; + return { + month: month0 + 1, + day: day + }; + } + /** + * @private + */ + + + function gregorianToWeek(gregObj) { + var year = gregObj.year, + month = gregObj.month, + day = gregObj.day, + ordinal = computeOrdinal(year, month, day), + weekday = dayOfWeek(year, month, day); + var weekNumber = Math.floor((ordinal - weekday + 10) / 7), + weekYear; + + if (weekNumber < 1) { + weekYear = year - 1; + weekNumber = weeksInWeekYear(weekYear); + } else if (weekNumber > weeksInWeekYear(year)) { + weekYear = year + 1; + weekNumber = 1; + } else { + weekYear = year; + } + + return _extends({ + weekYear: weekYear, + weekNumber: weekNumber, + weekday: weekday + }, timeObject(gregObj)); + } + function weekToGregorian(weekData) { + var weekYear = weekData.weekYear, + weekNumber = weekData.weekNumber, + weekday = weekData.weekday, + weekdayOfJan4 = dayOfWeek(weekYear, 1, 4), + yearInDays = daysInYear(weekYear); + var ordinal = weekNumber * 7 + weekday - weekdayOfJan4 - 3, + year; + + if (ordinal < 1) { + year = weekYear - 1; + ordinal += daysInYear(year); + } else if (ordinal > yearInDays) { + year = weekYear + 1; + ordinal -= daysInYear(weekYear); + } else { + year = weekYear; + } + + var _uncomputeOrdinal = uncomputeOrdinal(year, ordinal), + month = _uncomputeOrdinal.month, + day = _uncomputeOrdinal.day; + + return _extends({ + year: year, + month: month, + day: day + }, timeObject(weekData)); + } + function gregorianToOrdinal(gregData) { + var year = gregData.year, + month = gregData.month, + day = gregData.day; + var ordinal = computeOrdinal(year, month, day); + return _extends({ + year: year, + ordinal: ordinal + }, timeObject(gregData)); + } + function ordinalToGregorian(ordinalData) { + var year = ordinalData.year, + ordinal = ordinalData.ordinal; + + var _uncomputeOrdinal2 = uncomputeOrdinal(year, ordinal), + month = _uncomputeOrdinal2.month, + day = _uncomputeOrdinal2.day; + + return _extends({ + year: year, + month: month, + day: day + }, timeObject(ordinalData)); + } + function hasInvalidWeekData(obj) { + var validYear = isInteger(obj.weekYear), + validWeek = integerBetween(obj.weekNumber, 1, weeksInWeekYear(obj.weekYear)), + validWeekday = integerBetween(obj.weekday, 1, 7); + + if (!validYear) { + return unitOutOfRange("weekYear", obj.weekYear); + } else if (!validWeek) { + return unitOutOfRange("week", obj.week); + } else if (!validWeekday) { + return unitOutOfRange("weekday", obj.weekday); + } else return false; + } + function hasInvalidOrdinalData(obj) { + var validYear = isInteger(obj.year), + validOrdinal = integerBetween(obj.ordinal, 1, daysInYear(obj.year)); + + if (!validYear) { + return unitOutOfRange("year", obj.year); + } else if (!validOrdinal) { + return unitOutOfRange("ordinal", obj.ordinal); + } else return false; + } + function hasInvalidGregorianData(obj) { + var validYear = isInteger(obj.year), + validMonth = integerBetween(obj.month, 1, 12), + validDay = integerBetween(obj.day, 1, daysInMonth(obj.year, obj.month)); + + if (!validYear) { + return unitOutOfRange("year", obj.year); + } else if (!validMonth) { + return unitOutOfRange("month", obj.month); + } else if (!validDay) { + return unitOutOfRange("day", obj.day); + } else return false; + } + function hasInvalidTimeData(obj) { + var hour = obj.hour, + minute = obj.minute, + second = obj.second, + millisecond = obj.millisecond; + var validHour = integerBetween(hour, 0, 23) || hour === 24 && minute === 0 && second === 0 && millisecond === 0, + validMinute = integerBetween(minute, 0, 59), + validSecond = integerBetween(second, 0, 59), + validMillisecond = integerBetween(millisecond, 0, 999); + + if (!validHour) { + return unitOutOfRange("hour", hour); + } else if (!validMinute) { + return unitOutOfRange("minute", minute); + } else if (!validSecond) { + return unitOutOfRange("second", second); + } else if (!validMillisecond) { + return unitOutOfRange("millisecond", millisecond); + } else return false; + } + + var INVALID = "Invalid DateTime"; + var MAX_DATE = 8.64e15; + + function unsupportedZone(zone) { + return new Invalid("unsupported zone", "the zone \"" + zone.name + "\" is not supported"); + } // we cache week data on the DT object and this intermediates the cache + + + function possiblyCachedWeekData(dt) { + if (dt.weekData === null) { + dt.weekData = gregorianToWeek(dt.c); + } + + return dt.weekData; + } // clone really means, "make a new object with these modifications". all "setters" really use this + // to create a new object while only changing some of the properties + + + function clone(inst, alts) { + var current = { + ts: inst.ts, + zone: inst.zone, + c: inst.c, + o: inst.o, + loc: inst.loc, + invalid: inst.invalid + }; + return new DateTime(_extends({}, current, alts, { + old: current + })); + } // find the right offset a given local time. The o input is our guess, which determines which + // offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST) + + + function fixOffset(localTS, o, tz) { + // Our UTC time is just a guess because our offset is just a guess + var utcGuess = localTS - o * 60 * 1000; // Test whether the zone matches the offset for this ts + + var o2 = tz.offset(utcGuess); // If so, offset didn't change and we're done + + if (o === o2) { + return [utcGuess, o]; + } // If not, change the ts by the difference in the offset + + + utcGuess -= (o2 - o) * 60 * 1000; // If that gives us the local time we want, we're done + + var o3 = tz.offset(utcGuess); + + if (o2 === o3) { + return [utcGuess, o2]; + } // If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time + + + return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)]; + } // convert an epoch timestamp into a calendar object with the given offset + + + function tsToObj(ts, offset) { + ts += offset * 60 * 1000; + var d = new Date(ts); + return { + year: d.getUTCFullYear(), + month: d.getUTCMonth() + 1, + day: d.getUTCDate(), + hour: d.getUTCHours(), + minute: d.getUTCMinutes(), + second: d.getUTCSeconds(), + millisecond: d.getUTCMilliseconds() + }; + } // convert a calendar object to a epoch timestamp + + + function objToTS(obj, offset, zone) { + return fixOffset(objToLocalTS(obj), offset, zone); + } // create a new DT instance by adding a duration, adjusting for DSTs + + + function adjustTime(inst, dur) { + var oPre = inst.o, + year = inst.c.year + Math.trunc(dur.years), + month = inst.c.month + Math.trunc(dur.months) + Math.trunc(dur.quarters) * 3, + c = _extends({}, inst.c, { + year: year, + month: month, + day: Math.min(inst.c.day, daysInMonth(year, month)) + Math.trunc(dur.days) + Math.trunc(dur.weeks) * 7 + }), + millisToAdd = Duration.fromObject({ + years: dur.years - Math.trunc(dur.years), + quarters: dur.quarters - Math.trunc(dur.quarters), + months: dur.months - Math.trunc(dur.months), + weeks: dur.weeks - Math.trunc(dur.weeks), + days: dur.days - Math.trunc(dur.days), + hours: dur.hours, + minutes: dur.minutes, + seconds: dur.seconds, + milliseconds: dur.milliseconds + }).as("milliseconds"), + localTS = objToLocalTS(c); + + var _fixOffset = fixOffset(localTS, oPre, inst.zone), + ts = _fixOffset[0], + o = _fixOffset[1]; + + if (millisToAdd !== 0) { + ts += millisToAdd; // that could have changed the offset by going over a DST, but we want to keep the ts the same + + o = inst.zone.offset(ts); + } + + return { + ts: ts, + o: o + }; + } // helper useful in turning the results of parsing into real dates + // by handling the zone options + + + function parseDataToDateTime(parsed, parsedZone, opts, format, text, specificOffset) { + var setZone = opts.setZone, + zone = opts.zone; + + if (parsed && Object.keys(parsed).length !== 0) { + var interpretationZone = parsedZone || zone, + inst = DateTime.fromObject(parsed, _extends({}, opts, { + zone: interpretationZone, + specificOffset: specificOffset + })); + return setZone ? inst : inst.setZone(zone); + } else { + return DateTime.invalid(new Invalid("unparsable", "the input \"" + text + "\" can't be parsed as " + format)); + } + } // if you want to output a technical format (e.g. RFC 2822), this helper + // helps handle the details + + + function toTechFormat(dt, format, allowZ) { + if (allowZ === void 0) { + allowZ = true; + } + + return dt.isValid ? Formatter.create(Locale.create("en-US"), { + allowZ: allowZ, + forceSimple: true + }).formatDateTimeFromString(dt, format) : null; + } + + function _toISODate(o, extended) { + var longFormat = o.c.year > 9999 || o.c.year < 0; + var c = ""; + if (longFormat && o.c.year >= 0) c += "+"; + c += padStart(o.c.year, longFormat ? 6 : 4); + + if (extended) { + c += "-"; + c += padStart(o.c.month); + c += "-"; + c += padStart(o.c.day); + } else { + c += padStart(o.c.month); + c += padStart(o.c.day); + } + + return c; + } + + function _toISOTime(o, extended, suppressSeconds, suppressMilliseconds, includeOffset) { + var c = padStart(o.c.hour); + + if (extended) { + c += ":"; + c += padStart(o.c.minute); + + if (o.c.second !== 0 || !suppressSeconds) { + c += ":"; + } + } else { + c += padStart(o.c.minute); + } + + if (o.c.second !== 0 || !suppressSeconds) { + c += padStart(o.c.second); + + if (o.c.millisecond !== 0 || !suppressMilliseconds) { + c += "."; + c += padStart(o.c.millisecond, 3); + } + } + + if (includeOffset) { + if (o.isOffsetFixed && o.offset === 0) { + c += "Z"; + } else if (o.o < 0) { + c += "-"; + c += padStart(Math.trunc(-o.o / 60)); + c += ":"; + c += padStart(Math.trunc(-o.o % 60)); + } else { + c += "+"; + c += padStart(Math.trunc(o.o / 60)); + c += ":"; + c += padStart(Math.trunc(o.o % 60)); + } + } + + return c; + } // defaults for unspecified units in the supported calendars + + + var defaultUnitValues = { + month: 1, + day: 1, + hour: 0, + minute: 0, + second: 0, + millisecond: 0 + }, + defaultWeekUnitValues = { + weekNumber: 1, + weekday: 1, + hour: 0, + minute: 0, + second: 0, + millisecond: 0 + }, + defaultOrdinalUnitValues = { + ordinal: 1, + hour: 0, + minute: 0, + second: 0, + millisecond: 0 + }; // Units in the supported calendars, sorted by bigness + + var orderedUnits = ["year", "month", "day", "hour", "minute", "second", "millisecond"], + orderedWeekUnits = ["weekYear", "weekNumber", "weekday", "hour", "minute", "second", "millisecond"], + orderedOrdinalUnits = ["year", "ordinal", "hour", "minute", "second", "millisecond"]; // standardize case and plurality in units + + function normalizeUnit(unit) { + var normalized = { + year: "year", + years: "year", + month: "month", + months: "month", + day: "day", + days: "day", + hour: "hour", + hours: "hour", + minute: "minute", + minutes: "minute", + quarter: "quarter", + quarters: "quarter", + second: "second", + seconds: "second", + millisecond: "millisecond", + milliseconds: "millisecond", + weekday: "weekday", + weekdays: "weekday", + weeknumber: "weekNumber", + weeksnumber: "weekNumber", + weeknumbers: "weekNumber", + weekyear: "weekYear", + weekyears: "weekYear", + ordinal: "ordinal" + }[unit.toLowerCase()]; + if (!normalized) throw new InvalidUnitError(unit); + return normalized; + } // this is a dumbed down version of fromObject() that runs about 60% faster + // but doesn't do any validation, makes a bunch of assumptions about what units + // are present, and so on. + // this is a dumbed down version of fromObject() that runs about 60% faster + // but doesn't do any validation, makes a bunch of assumptions about what units + // are present, and so on. + + + function quickDT(obj, opts) { + var zone = normalizeZone(opts.zone, Settings.defaultZone), + loc = Locale.fromObject(opts), + tsNow = Settings.now(); + var ts, o; // assume we have the higher-order units + + if (!isUndefined(obj.year)) { + for (var _iterator = _createForOfIteratorHelperLoose(orderedUnits), _step; !(_step = _iterator()).done;) { + var u = _step.value; + + if (isUndefined(obj[u])) { + obj[u] = defaultUnitValues[u]; + } + } + + var invalid = hasInvalidGregorianData(obj) || hasInvalidTimeData(obj); + + if (invalid) { + return DateTime.invalid(invalid); + } + + var offsetProvis = zone.offset(tsNow); + + var _objToTS = objToTS(obj, offsetProvis, zone); + + ts = _objToTS[0]; + o = _objToTS[1]; + } else { + ts = tsNow; + } + + return new DateTime({ + ts: ts, + zone: zone, + loc: loc, + o: o + }); + } + + function diffRelative(start, end, opts) { + var round = isUndefined(opts.round) ? true : opts.round, + format = function format(c, unit) { + c = roundTo(c, round || opts.calendary ? 0 : 2, true); + var formatter = end.loc.clone(opts).relFormatter(opts); + return formatter.format(c, unit); + }, + differ = function differ(unit) { + if (opts.calendary) { + if (!end.hasSame(start, unit)) { + return end.startOf(unit).diff(start.startOf(unit), unit).get(unit); + } else return 0; + } else { + return end.diff(start, unit).get(unit); + } + }; + + if (opts.unit) { + return format(differ(opts.unit), opts.unit); + } + + for (var _iterator2 = _createForOfIteratorHelperLoose(opts.units), _step2; !(_step2 = _iterator2()).done;) { + var unit = _step2.value; + var count = differ(unit); + + if (Math.abs(count) >= 1) { + return format(count, unit); + } + } + + return format(start > end ? -0 : 0, opts.units[opts.units.length - 1]); + } + + function lastOpts(argList) { + var opts = {}, + args; + + if (argList.length > 0 && typeof argList[argList.length - 1] === "object") { + opts = argList[argList.length - 1]; + args = Array.from(argList).slice(0, argList.length - 1); + } else { + args = Array.from(argList); + } + + return [opts, args]; + } + /** + * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them. + * + * A DateTime comprises of: + * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch. + * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone). + * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`. + * + * Here is a brief overview of the most commonly used functionality it provides: + * + * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link DateTime#local}, {@link DateTime#utc}, and (most flexibly) {@link DateTime#fromObject}. To create one from a standard string format, use {@link DateTime#fromISO}, {@link DateTime#fromHTTP}, and {@link DateTime#fromRFC2822}. To create one from a custom string format, use {@link DateTime#fromFormat}. To create one from a native JS date, use {@link DateTime#fromJSDate}. + * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link DateTime#toObject}), use the {@link DateTime#year}, {@link DateTime#month}, + * {@link DateTime#day}, {@link DateTime#hour}, {@link DateTime#minute}, {@link DateTime#second}, {@link DateTime#millisecond} accessors. + * * **Week calendar**: For ISO week calendar attributes, see the {@link DateTime#weekYear}, {@link DateTime#weekNumber}, and {@link DateTime#weekday} accessors. + * * **Configuration** See the {@link DateTime#locale} and {@link DateTime#numberingSystem} accessors. + * * **Transformation**: To transform the DateTime into other DateTimes, use {@link DateTime#set}, {@link DateTime#reconfigure}, {@link DateTime#setZone}, {@link DateTime#setLocale}, {@link DateTime.plus}, {@link DateTime#minus}, {@link DateTime#endOf}, {@link DateTime#startOf}, {@link DateTime#toUTC}, and {@link DateTime#toLocal}. + * * **Output**: To convert the DateTime to other representations, use the {@link DateTime#toRelative}, {@link DateTime#toRelativeCalendar}, {@link DateTime#toJSON}, {@link DateTime#toISO}, {@link DateTime#toHTTP}, {@link DateTime#toObject}, {@link DateTime#toRFC2822}, {@link DateTime#toString}, {@link DateTime#toLocaleString}, {@link DateTime#toFormat}, {@link DateTime#toMillis} and {@link DateTime#toJSDate}. + * + * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation. + */ + + + var DateTime = /*#__PURE__*/function () { + /** + * @access private + */ + function DateTime(config) { + var zone = config.zone || Settings.defaultZone; + var invalid = config.invalid || (Number.isNaN(config.ts) ? new Invalid("invalid input") : null) || (!zone.isValid ? unsupportedZone(zone) : null); + /** + * @access private + */ + + this.ts = isUndefined(config.ts) ? Settings.now() : config.ts; + var c = null, + o = null; + + if (!invalid) { + var unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone); + + if (unchanged) { + var _ref = [config.old.c, config.old.o]; + c = _ref[0]; + o = _ref[1]; + } else { + var ot = zone.offset(this.ts); + c = tsToObj(this.ts, ot); + invalid = Number.isNaN(c.year) ? new Invalid("invalid input") : null; + c = invalid ? null : c; + o = invalid ? null : ot; + } + } + /** + * @access private + */ + + + this._zone = zone; + /** + * @access private + */ + + this.loc = config.loc || Locale.create(); + /** + * @access private + */ + + this.invalid = invalid; + /** + * @access private + */ + + this.weekData = null; + /** + * @access private + */ + + this.c = c; + /** + * @access private + */ + + this.o = o; + /** + * @access private + */ + + this.isLuxonDateTime = true; + } // CONSTRUCT + + /** + * Create a DateTime for the current instant, in the system's time zone. + * + * Use Settings to override these default values if needed. + * @example DateTime.now().toISO() //~> now in the ISO format + * @return {DateTime} + */ + + + DateTime.now = function now() { + return new DateTime({}); + } + /** + * Create a local DateTime + * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used + * @param {number} [month=1] - The month, 1-indexed + * @param {number} [day=1] - The day of the month, 1-indexed + * @param {number} [hour=0] - The hour of the day, in 24-hour time + * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59 + * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59 + * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999 + * @example DateTime.local() //~> now + * @example DateTime.local({ zone: "America/New_York" }) //~> now, in US east coast time + * @example DateTime.local(2017) //~> 2017-01-01T00:00:00 + * @example DateTime.local(2017, 3) //~> 2017-03-01T00:00:00 + * @example DateTime.local(2017, 3, 12, { locale: "fr" }) //~> 2017-03-12T00:00:00, with a French locale + * @example DateTime.local(2017, 3, 12, 5) //~> 2017-03-12T05:00:00 + * @example DateTime.local(2017, 3, 12, 5, { zone: "utc" }) //~> 2017-03-12T05:00:00, in UTC + * @example DateTime.local(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00 + * @example DateTime.local(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10 + * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765) //~> 2017-03-12T05:45:10.765 + * @return {DateTime} + */ + ; + + DateTime.local = function local() { + var _lastOpts = lastOpts(arguments), + opts = _lastOpts[0], + args = _lastOpts[1], + year = args[0], + month = args[1], + day = args[2], + hour = args[3], + minute = args[4], + second = args[5], + millisecond = args[6]; + + return quickDT({ + year: year, + month: month, + day: day, + hour: hour, + minute: minute, + second: second, + millisecond: millisecond + }, opts); + } + /** + * Create a DateTime in UTC + * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used + * @param {number} [month=1] - The month, 1-indexed + * @param {number} [day=1] - The day of the month + * @param {number} [hour=0] - The hour of the day, in 24-hour time + * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59 + * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59 + * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999 + * @param {Object} options - configuration options for the DateTime + * @param {string} [options.locale] - a locale to set on the resulting DateTime instance + * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance + * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance + * @example DateTime.utc() //~> now + * @example DateTime.utc(2017) //~> 2017-01-01T00:00:00Z + * @example DateTime.utc(2017, 3) //~> 2017-03-01T00:00:00Z + * @example DateTime.utc(2017, 3, 12) //~> 2017-03-12T00:00:00Z + * @example DateTime.utc(2017, 3, 12, 5) //~> 2017-03-12T05:00:00Z + * @example DateTime.utc(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00Z + * @example DateTime.utc(2017, 3, 12, 5, 45, { locale: "fr" }) //~> 2017-03-12T05:45:00Z with a French locale + * @example DateTime.utc(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10Z + * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765, { locale: "fr" }) //~> 2017-03-12T05:45:10.765Z with a French locale + * @return {DateTime} + */ + ; + + DateTime.utc = function utc() { + var _lastOpts2 = lastOpts(arguments), + opts = _lastOpts2[0], + args = _lastOpts2[1], + year = args[0], + month = args[1], + day = args[2], + hour = args[3], + minute = args[4], + second = args[5], + millisecond = args[6]; + + opts.zone = FixedOffsetZone.utcInstance; + return quickDT({ + year: year, + month: month, + day: day, + hour: hour, + minute: minute, + second: second, + millisecond: millisecond + }, opts); + } + /** + * Create a DateTime from a JavaScript Date object. Uses the default zone. + * @param {Date} date - a JavaScript Date object + * @param {Object} options - configuration options for the DateTime + * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into + * @return {DateTime} + */ + ; + + DateTime.fromJSDate = function fromJSDate(date, options) { + if (options === void 0) { + options = {}; + } + + var ts = isDate(date) ? date.valueOf() : NaN; + + if (Number.isNaN(ts)) { + return DateTime.invalid("invalid input"); + } + + var zoneToUse = normalizeZone(options.zone, Settings.defaultZone); + + if (!zoneToUse.isValid) { + return DateTime.invalid(unsupportedZone(zoneToUse)); + } + + return new DateTime({ + ts: ts, + zone: zoneToUse, + loc: Locale.fromObject(options) + }); + } + /** + * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone. + * @param {number} milliseconds - a number of milliseconds since 1970 UTC + * @param {Object} options - configuration options for the DateTime + * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into + * @param {string} [options.locale] - a locale to set on the resulting DateTime instance + * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance + * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance + * @return {DateTime} + */ + ; + + DateTime.fromMillis = function fromMillis(milliseconds, options) { + if (options === void 0) { + options = {}; + } + + if (!isNumber(milliseconds)) { + throw new InvalidArgumentError("fromMillis requires a numerical input, but received a " + typeof milliseconds + " with value " + milliseconds); + } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) { + // this isn't perfect because because we can still end up out of range because of additional shifting, but it's a start + return DateTime.invalid("Timestamp out of range"); + } else { + return new DateTime({ + ts: milliseconds, + zone: normalizeZone(options.zone, Settings.defaultZone), + loc: Locale.fromObject(options) + }); + } + } + /** + * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone. + * @param {number} seconds - a number of seconds since 1970 UTC + * @param {Object} options - configuration options for the DateTime + * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into + * @param {string} [options.locale] - a locale to set on the resulting DateTime instance + * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance + * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance + * @return {DateTime} + */ + ; + + DateTime.fromSeconds = function fromSeconds(seconds, options) { + if (options === void 0) { + options = {}; + } + + if (!isNumber(seconds)) { + throw new InvalidArgumentError("fromSeconds requires a numerical input"); + } else { + return new DateTime({ + ts: seconds * 1000, + zone: normalizeZone(options.zone, Settings.defaultZone), + loc: Locale.fromObject(options) + }); + } + } + /** + * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults. + * @param {Object} obj - the object to create the DateTime from + * @param {number} obj.year - a year, such as 1987 + * @param {number} obj.month - a month, 1-12 + * @param {number} obj.day - a day of the month, 1-31, depending on the month + * @param {number} obj.ordinal - day of the year, 1-365 or 366 + * @param {number} obj.weekYear - an ISO week year + * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year + * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday + * @param {number} obj.hour - hour of the day, 0-23 + * @param {number} obj.minute - minute of the hour, 0-59 + * @param {number} obj.second - second of the minute, 0-59 + * @param {number} obj.millisecond - millisecond of the second, 0-999 + * @param {Object} opts - options for creating this DateTime + * @param {string|Zone} [opts.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone() + * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance + * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance + * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance + * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25' + * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01' + * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06 + * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'utc' }), + * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'local' }) + * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'America/New_York' }) + * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13' + * @return {DateTime} + */ + ; + + DateTime.fromObject = function fromObject(obj, opts) { + if (opts === void 0) { + opts = {}; + } + + obj = obj || {}; + var zoneToUse = normalizeZone(opts.zone, Settings.defaultZone); + + if (!zoneToUse.isValid) { + return DateTime.invalid(unsupportedZone(zoneToUse)); + } + + var tsNow = Settings.now(), + offsetProvis = !isUndefined(opts.specificOffset) ? opts.specificOffset : zoneToUse.offset(tsNow), + normalized = normalizeObject(obj, normalizeUnit), + containsOrdinal = !isUndefined(normalized.ordinal), + containsGregorYear = !isUndefined(normalized.year), + containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day), + containsGregor = containsGregorYear || containsGregorMD, + definiteWeekDef = normalized.weekYear || normalized.weekNumber, + loc = Locale.fromObject(opts); // cases: + // just a weekday -> this week's instance of that weekday, no worries + // (gregorian data or ordinal) + (weekYear or weekNumber) -> error + // (gregorian month or day) + ordinal -> error + // otherwise just use weeks or ordinals or gregorian, depending on what's specified + + if ((containsGregor || containsOrdinal) && definiteWeekDef) { + throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals"); + } + + if (containsGregorMD && containsOrdinal) { + throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day"); + } + + var useWeekData = definiteWeekDef || normalized.weekday && !containsGregor; // configure ourselves to deal with gregorian dates or week stuff + + var units, + defaultValues, + objNow = tsToObj(tsNow, offsetProvis); + + if (useWeekData) { + units = orderedWeekUnits; + defaultValues = defaultWeekUnitValues; + objNow = gregorianToWeek(objNow); + } else if (containsOrdinal) { + units = orderedOrdinalUnits; + defaultValues = defaultOrdinalUnitValues; + objNow = gregorianToOrdinal(objNow); + } else { + units = orderedUnits; + defaultValues = defaultUnitValues; + } // set default values for missing stuff + + + var foundFirst = false; + + for (var _iterator3 = _createForOfIteratorHelperLoose(units), _step3; !(_step3 = _iterator3()).done;) { + var u = _step3.value; + var v = normalized[u]; + + if (!isUndefined(v)) { + foundFirst = true; + } else if (foundFirst) { + normalized[u] = defaultValues[u]; + } else { + normalized[u] = objNow[u]; + } + } // make sure the values we have are in range + + + var higherOrderInvalid = useWeekData ? hasInvalidWeekData(normalized) : containsOrdinal ? hasInvalidOrdinalData(normalized) : hasInvalidGregorianData(normalized), + invalid = higherOrderInvalid || hasInvalidTimeData(normalized); + + if (invalid) { + return DateTime.invalid(invalid); + } // compute the actual time + + + var gregorian = useWeekData ? weekToGregorian(normalized) : containsOrdinal ? ordinalToGregorian(normalized) : normalized, + _objToTS2 = objToTS(gregorian, offsetProvis, zoneToUse), + tsFinal = _objToTS2[0], + offsetFinal = _objToTS2[1], + inst = new DateTime({ + ts: tsFinal, + zone: zoneToUse, + o: offsetFinal, + loc: loc + }); // gregorian data + weekday serves only to validate + + + if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) { + return DateTime.invalid("mismatched weekday", "you can't specify both a weekday of " + normalized.weekday + " and a date of " + inst.toISO()); + } + + return inst; + } + /** + * Create a DateTime from an ISO 8601 string + * @param {string} text - the ISO string + * @param {Object} opts - options to affect the creation + * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone + * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one + * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance + * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance + * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance + * @example DateTime.fromISO('2016-05-25T09:08:34.123') + * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00') + * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true}) + * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'}) + * @example DateTime.fromISO('2016-W05-4') + * @return {DateTime} + */ + ; + + DateTime.fromISO = function fromISO(text, opts) { + if (opts === void 0) { + opts = {}; + } + + var _parseISODate = parseISODate(text), + vals = _parseISODate[0], + parsedZone = _parseISODate[1]; + + return parseDataToDateTime(vals, parsedZone, opts, "ISO 8601", text); + } + /** + * Create a DateTime from an RFC 2822 string + * @param {string} text - the RFC 2822 string + * @param {Object} opts - options to affect the creation + * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in. + * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one + * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance + * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance + * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance + * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT') + * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600') + * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z') + * @return {DateTime} + */ + ; + + DateTime.fromRFC2822 = function fromRFC2822(text, opts) { + if (opts === void 0) { + opts = {}; + } + + var _parseRFC2822Date = parseRFC2822Date(text), + vals = _parseRFC2822Date[0], + parsedZone = _parseRFC2822Date[1]; + + return parseDataToDateTime(vals, parsedZone, opts, "RFC 2822", text); + } + /** + * Create a DateTime from an HTTP header date + * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1 + * @param {string} text - the HTTP header date + * @param {Object} opts - options to affect the creation + * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in. + * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods. + * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance + * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance + * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance + * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT') + * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT') + * @example DateTime.fromHTTP('Sun Nov 6 08:49:37 1994') + * @return {DateTime} + */ + ; + + DateTime.fromHTTP = function fromHTTP(text, opts) { + if (opts === void 0) { + opts = {}; + } + + var _parseHTTPDate = parseHTTPDate(text), + vals = _parseHTTPDate[0], + parsedZone = _parseHTTPDate[1]; + + return parseDataToDateTime(vals, parsedZone, opts, "HTTP", opts); + } + /** + * Create a DateTime from an input string and format string. + * Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens). + * @param {string} text - the string to parse + * @param {string} fmt - the format the string is expected to be in (see the link below for the formats) + * @param {Object} opts - options to affect the creation + * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone + * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one + * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale + * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system + * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance + * @return {DateTime} + */ + ; + + DateTime.fromFormat = function fromFormat(text, fmt, opts) { + if (opts === void 0) { + opts = {}; + } + + if (isUndefined(text) || isUndefined(fmt)) { + throw new InvalidArgumentError("fromFormat requires an input string and a format"); + } + + var _opts = opts, + _opts$locale = _opts.locale, + locale = _opts$locale === void 0 ? null : _opts$locale, + _opts$numberingSystem = _opts.numberingSystem, + numberingSystem = _opts$numberingSystem === void 0 ? null : _opts$numberingSystem, + localeToUse = Locale.fromOpts({ + locale: locale, + numberingSystem: numberingSystem, + defaultToEN: true + }), + _parseFromTokens = parseFromTokens(localeToUse, text, fmt), + vals = _parseFromTokens[0], + parsedZone = _parseFromTokens[1], + specificOffset = _parseFromTokens[2], + invalid = _parseFromTokens[3]; + + if (invalid) { + return DateTime.invalid(invalid); + } else { + return parseDataToDateTime(vals, parsedZone, opts, "format " + fmt, text, specificOffset); + } + } + /** + * @deprecated use fromFormat instead + */ + ; + + DateTime.fromString = function fromString(text, fmt, opts) { + if (opts === void 0) { + opts = {}; + } + + return DateTime.fromFormat(text, fmt, opts); + } + /** + * Create a DateTime from a SQL date, time, or datetime + * Defaults to en-US if no locale has been specified, regardless of the system's locale + * @param {string} text - the string to parse + * @param {Object} opts - options to affect the creation + * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone + * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one + * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale + * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system + * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance + * @example DateTime.fromSQL('2017-05-15') + * @example DateTime.fromSQL('2017-05-15 09:12:34') + * @example DateTime.fromSQL('2017-05-15 09:12:34.342') + * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00') + * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles') + * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true }) + * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' }) + * @example DateTime.fromSQL('09:12:34.342') + * @return {DateTime} + */ + ; + + DateTime.fromSQL = function fromSQL(text, opts) { + if (opts === void 0) { + opts = {}; + } + + var _parseSQL = parseSQL(text), + vals = _parseSQL[0], + parsedZone = _parseSQL[1]; + + return parseDataToDateTime(vals, parsedZone, opts, "SQL", text); + } + /** + * Create an invalid DateTime. + * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent + * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information + * @return {DateTime} + */ + ; + + DateTime.invalid = function invalid(reason, explanation) { + if (explanation === void 0) { + explanation = null; + } + + if (!reason) { + throw new InvalidArgumentError("need to specify a reason the DateTime is invalid"); + } + + var invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation); + + if (Settings.throwOnInvalid) { + throw new InvalidDateTimeError(invalid); + } else { + return new DateTime({ + invalid: invalid + }); + } + } + /** + * Check if an object is a DateTime. Works across context boundaries + * @param {object} o + * @return {boolean} + */ + ; + + DateTime.isDateTime = function isDateTime(o) { + return o && o.isLuxonDateTime || false; + } // INFO + + /** + * Get the value of unit. + * @param {string} unit - a unit such as 'minute' or 'day' + * @example DateTime.local(2017, 7, 4).get('month'); //=> 7 + * @example DateTime.local(2017, 7, 4).get('day'); //=> 4 + * @return {number} + */ + ; + + var _proto = DateTime.prototype; + + _proto.get = function get(unit) { + return this[unit]; + } + /** + * Returns whether the DateTime is valid. Invalid DateTimes occur when: + * * The DateTime was created from invalid calendar information, such as the 13th month or February 30 + * * The DateTime was created by an operation on another invalid date + * @type {boolean} + */ + ; + + /** + * Returns the resolved Intl options for this DateTime. + * This is useful in understanding the behavior of formatting methods + * @param {Object} opts - the same options as toLocaleString + * @return {Object} + */ + _proto.resolvedLocaleOptions = function resolvedLocaleOptions(opts) { + if (opts === void 0) { + opts = {}; + } + + var _Formatter$create$res = Formatter.create(this.loc.clone(opts), opts).resolvedOptions(this), + locale = _Formatter$create$res.locale, + numberingSystem = _Formatter$create$res.numberingSystem, + calendar = _Formatter$create$res.calendar; + + return { + locale: locale, + numberingSystem: numberingSystem, + outputCalendar: calendar + }; + } // TRANSFORM + + /** + * "Set" the DateTime's zone to UTC. Returns a newly-constructed DateTime. + * + * Equivalent to {@link DateTime#setZone}('utc') + * @param {number} [offset=0] - optionally, an offset from UTC in minutes + * @param {Object} [opts={}] - options to pass to `setZone()` + * @return {DateTime} + */ + ; + + _proto.toUTC = function toUTC(offset, opts) { + if (offset === void 0) { + offset = 0; + } + + if (opts === void 0) { + opts = {}; + } + + return this.setZone(FixedOffsetZone.instance(offset), opts); + } + /** + * "Set" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime. + * + * Equivalent to `setZone('local')` + * @return {DateTime} + */ + ; + + _proto.toLocal = function toLocal() { + return this.setZone(Settings.defaultZone); + } + /** + * "Set" the DateTime's zone to specified zone. Returns a newly-constructed DateTime. + * + * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link DateTime#plus}. You may wish to use {@link DateTime#toLocal} and {@link DateTime#toUTC} which provide simple convenience wrappers for commonly used zones. + * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link DateTime#Zone} class. + * @param {Object} opts - options + * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this. + * @return {DateTime} + */ + ; + + _proto.setZone = function setZone(zone, _temp) { + var _ref2 = _temp === void 0 ? {} : _temp, + _ref2$keepLocalTime = _ref2.keepLocalTime, + keepLocalTime = _ref2$keepLocalTime === void 0 ? false : _ref2$keepLocalTime, + _ref2$keepCalendarTim = _ref2.keepCalendarTime, + keepCalendarTime = _ref2$keepCalendarTim === void 0 ? false : _ref2$keepCalendarTim; + + zone = normalizeZone(zone, Settings.defaultZone); + + if (zone.equals(this.zone)) { + return this; + } else if (!zone.isValid) { + return DateTime.invalid(unsupportedZone(zone)); + } else { + var newTS = this.ts; + + if (keepLocalTime || keepCalendarTime) { + var offsetGuess = zone.offset(this.ts); + var asObj = this.toObject(); + + var _objToTS3 = objToTS(asObj, offsetGuess, zone); + + newTS = _objToTS3[0]; + } + + return clone(this, { + ts: newTS, + zone: zone + }); + } + } + /** + * "Set" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime. + * @param {Object} properties - the properties to set + * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' }) + * @return {DateTime} + */ + ; + + _proto.reconfigure = function reconfigure(_temp2) { + var _ref3 = _temp2 === void 0 ? {} : _temp2, + locale = _ref3.locale, + numberingSystem = _ref3.numberingSystem, + outputCalendar = _ref3.outputCalendar; + + var loc = this.loc.clone({ + locale: locale, + numberingSystem: numberingSystem, + outputCalendar: outputCalendar + }); + return clone(this, { + loc: loc + }); + } + /** + * "Set" the locale. Returns a newly-constructed DateTime. + * Just a convenient alias for reconfigure({ locale }) + * @example DateTime.local(2017, 5, 25).setLocale('en-GB') + * @return {DateTime} + */ + ; + + _proto.setLocale = function setLocale(locale) { + return this.reconfigure({ + locale: locale + }); + } + /** + * "Set" the values of specified units. Returns a newly-constructed DateTime. + * You can only set units with this method; for "setting" metadata, see {@link DateTime#reconfigure} and {@link DateTime#setZone}. + * @param {Object} values - a mapping of units to numbers + * @example dt.set({ year: 2017 }) + * @example dt.set({ hour: 8, minute: 30 }) + * @example dt.set({ weekday: 5 }) + * @example dt.set({ year: 2005, ordinal: 234 }) + * @return {DateTime} + */ + ; + + _proto.set = function set(values) { + if (!this.isValid) return this; + var normalized = normalizeObject(values, normalizeUnit), + settingWeekStuff = !isUndefined(normalized.weekYear) || !isUndefined(normalized.weekNumber) || !isUndefined(normalized.weekday), + containsOrdinal = !isUndefined(normalized.ordinal), + containsGregorYear = !isUndefined(normalized.year), + containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day), + containsGregor = containsGregorYear || containsGregorMD, + definiteWeekDef = normalized.weekYear || normalized.weekNumber; + + if ((containsGregor || containsOrdinal) && definiteWeekDef) { + throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals"); + } + + if (containsGregorMD && containsOrdinal) { + throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day"); + } + + var mixed; + + if (settingWeekStuff) { + mixed = weekToGregorian(_extends({}, gregorianToWeek(this.c), normalized)); + } else if (!isUndefined(normalized.ordinal)) { + mixed = ordinalToGregorian(_extends({}, gregorianToOrdinal(this.c), normalized)); + } else { + mixed = _extends({}, this.toObject(), normalized); // if we didn't set the day but we ended up on an overflow date, + // use the last day of the right month + + if (isUndefined(normalized.day)) { + mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day); + } + } + + var _objToTS4 = objToTS(mixed, this.o, this.zone), + ts = _objToTS4[0], + o = _objToTS4[1]; + + return clone(this, { + ts: ts, + o: o + }); + } + /** + * Add a period of time to this DateTime and return the resulting DateTime + * + * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between. + * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject() + * @example DateTime.now().plus(123) //~> in 123 milliseconds + * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes + * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow + * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday + * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min + * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min + * @return {DateTime} + */ + ; + + _proto.plus = function plus(duration) { + if (!this.isValid) return this; + var dur = Duration.fromDurationLike(duration); + return clone(this, adjustTime(this, dur)); + } + /** + * Subtract a period of time to this DateTime and return the resulting DateTime + * See {@link DateTime#plus} + * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject() + @return {DateTime} + */ + ; + + _proto.minus = function minus(duration) { + if (!this.isValid) return this; + var dur = Duration.fromDurationLike(duration).negate(); + return clone(this, adjustTime(this, dur)); + } + /** + * "Set" this DateTime to the beginning of a unit of time. + * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'. + * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01' + * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01' + * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays + * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00' + * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00' + * @return {DateTime} + */ + ; + + _proto.startOf = function startOf(unit) { + if (!this.isValid) return this; + var o = {}, + normalizedUnit = Duration.normalizeUnit(unit); + + switch (normalizedUnit) { + case "years": + o.month = 1; + // falls through + + case "quarters": + case "months": + o.day = 1; + // falls through + + case "weeks": + case "days": + o.hour = 0; + // falls through + + case "hours": + o.minute = 0; + // falls through + + case "minutes": + o.second = 0; + // falls through + + case "seconds": + o.millisecond = 0; + break; + // no default, invalid units throw in normalizeUnit() + } + + if (normalizedUnit === "weeks") { + o.weekday = 1; + } + + if (normalizedUnit === "quarters") { + var q = Math.ceil(this.month / 3); + o.month = (q - 1) * 3 + 1; + } + + return this.set(o); + } + /** + * "Set" this DateTime to the end (meaning the last millisecond) of a unit of time + * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'. + * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00' + * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00' + * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays + * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00' + * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00' + * @return {DateTime} + */ + ; + + _proto.endOf = function endOf(unit) { + var _this$plus; + + return this.isValid ? this.plus((_this$plus = {}, _this$plus[unit] = 1, _this$plus)).startOf(unit).minus(1) : this; + } // OUTPUT + + /** + * Returns a string representation of this DateTime formatted according to the specified format string. + * **You may not want this.** See {@link DateTime#toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/formatting?id=table-of-tokens). + * Defaults to en-US if no locale has been specified, regardless of the system's locale. + * @param {string} fmt - the format string + * @param {Object} opts - opts to override the configuration options on this DateTime + * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22' + * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22' + * @example DateTime.now().toFormat('yyyy LLL dd', { locale: "fr" }) //=> '2017 avr. 22' + * @example DateTime.now().toFormat("HH 'hours and' mm 'minutes'") //=> '20 hours and 55 minutes' + * @return {string} + */ + ; + + _proto.toFormat = function toFormat(fmt, opts) { + if (opts === void 0) { + opts = {}; + } + + return this.isValid ? Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this, fmt) : INVALID; + } + /** + * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`. + * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation + * of the DateTime in the assigned locale. + * Defaults to the system's locale if no locale has been specified + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat + * @param formatOpts {Object} - Intl.DateTimeFormat constructor options and configuration options + * @param {Object} opts - opts to override the configuration options on this DateTime + * @example DateTime.now().toLocaleString(); //=> 4/20/2017 + * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017' + * @example DateTime.now().toLocaleString({ locale: 'en-gb' }); //=> '20/04/2017' + * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017' + * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM' + * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM' + * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20' + * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM' + * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }); //=> '11:32' + * @return {string} + */ + ; + + _proto.toLocaleString = function toLocaleString(formatOpts, opts) { + if (formatOpts === void 0) { + formatOpts = DATE_SHORT; + } + + if (opts === void 0) { + opts = {}; + } + + return this.isValid ? Formatter.create(this.loc.clone(opts), formatOpts).formatDateTime(this) : INVALID; + } + /** + * Returns an array of format "parts", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output. + * Defaults to the system's locale if no locale has been specified + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts + * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`. + * @example DateTime.now().toLocaleParts(); //=> [ + * //=> { type: 'day', value: '25' }, + * //=> { type: 'literal', value: '/' }, + * //=> { type: 'month', value: '05' }, + * //=> { type: 'literal', value: '/' }, + * //=> { type: 'year', value: '1982' } + * //=> ] + */ + ; + + _proto.toLocaleParts = function toLocaleParts(opts) { + if (opts === void 0) { + opts = {}; + } + + return this.isValid ? Formatter.create(this.loc.clone(opts), opts).formatDateTimeParts(this) : []; + } + /** + * Returns an ISO 8601-compliant string representation of this DateTime + * @param {Object} opts - options + * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0 + * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0 + * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00' + * @param {string} [opts.format='extended'] - choose between the basic and extended format + * @example DateTime.utc(1983, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z' + * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00' + * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335' + * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400' + * @return {string} + */ + ; + + _proto.toISO = function toISO(_temp3) { + var _ref4 = _temp3 === void 0 ? {} : _temp3, + _ref4$format = _ref4.format, + format = _ref4$format === void 0 ? "extended" : _ref4$format, + _ref4$suppressSeconds = _ref4.suppressSeconds, + suppressSeconds = _ref4$suppressSeconds === void 0 ? false : _ref4$suppressSeconds, + _ref4$suppressMillise = _ref4.suppressMilliseconds, + suppressMilliseconds = _ref4$suppressMillise === void 0 ? false : _ref4$suppressMillise, + _ref4$includeOffset = _ref4.includeOffset, + includeOffset = _ref4$includeOffset === void 0 ? true : _ref4$includeOffset; + + if (!this.isValid) { + return null; + } + + var ext = format === "extended"; + + var c = _toISODate(this, ext); + + c += "T"; + c += _toISOTime(this, ext, suppressSeconds, suppressMilliseconds, includeOffset); + return c; + } + /** + * Returns an ISO 8601-compliant string representation of this DateTime's date component + * @param {Object} opts - options + * @param {string} [opts.format='extended'] - choose between the basic and extended format + * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25' + * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525' + * @return {string} + */ + ; + + _proto.toISODate = function toISODate(_temp4) { + var _ref5 = _temp4 === void 0 ? {} : _temp4, + _ref5$format = _ref5.format, + format = _ref5$format === void 0 ? "extended" : _ref5$format; + + if (!this.isValid) { + return null; + } + + return _toISODate(this, format === "extended"); + } + /** + * Returns an ISO 8601-compliant string representation of this DateTime's week date + * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2' + * @return {string} + */ + ; + + _proto.toISOWeekDate = function toISOWeekDate() { + return toTechFormat(this, "kkkk-'W'WW-c"); + } + /** + * Returns an ISO 8601-compliant string representation of this DateTime's time component + * @param {Object} opts - options + * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0 + * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0 + * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00' + * @param {boolean} [opts.includePrefix=false] - include the `T` prefix + * @param {string} [opts.format='extended'] - choose between the basic and extended format + * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z' + * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z' + * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z' + * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z' + * @return {string} + */ + ; + + _proto.toISOTime = function toISOTime(_temp5) { + var _ref6 = _temp5 === void 0 ? {} : _temp5, + _ref6$suppressMillise = _ref6.suppressMilliseconds, + suppressMilliseconds = _ref6$suppressMillise === void 0 ? false : _ref6$suppressMillise, + _ref6$suppressSeconds = _ref6.suppressSeconds, + suppressSeconds = _ref6$suppressSeconds === void 0 ? false : _ref6$suppressSeconds, + _ref6$includeOffset = _ref6.includeOffset, + includeOffset = _ref6$includeOffset === void 0 ? true : _ref6$includeOffset, + _ref6$includePrefix = _ref6.includePrefix, + includePrefix = _ref6$includePrefix === void 0 ? false : _ref6$includePrefix, + _ref6$format = _ref6.format, + format = _ref6$format === void 0 ? "extended" : _ref6$format; + + if (!this.isValid) { + return null; + } + + var c = includePrefix ? "T" : ""; + return c + _toISOTime(this, format === "extended", suppressSeconds, suppressMilliseconds, includeOffset); + } + /** + * Returns an RFC 2822-compatible string representation of this DateTime + * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000' + * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400' + * @return {string} + */ + ; + + _proto.toRFC2822 = function toRFC2822() { + return toTechFormat(this, "EEE, dd LLL yyyy HH:mm:ss ZZZ", false); + } + /** + * Returns a string representation of this DateTime appropriate for use in HTTP headers. The output is always expressed in GMT. + * Specifically, the string conforms to RFC 1123. + * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1 + * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT' + * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT' + * @return {string} + */ + ; + + _proto.toHTTP = function toHTTP() { + return toTechFormat(this.toUTC(), "EEE, dd LLL yyyy HH:mm:ss 'GMT'"); + } + /** + * Returns a string representation of this DateTime appropriate for use in SQL Date + * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13' + * @return {string} + */ + ; + + _proto.toSQLDate = function toSQLDate() { + if (!this.isValid) { + return null; + } + + return _toISODate(this, true); + } + /** + * Returns a string representation of this DateTime appropriate for use in SQL Time + * @param {Object} opts - options + * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset. + * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00' + * @example DateTime.utc().toSQL() //=> '05:15:16.345' + * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00' + * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345' + * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York' + * @return {string} + */ + ; + + _proto.toSQLTime = function toSQLTime(_temp6) { + var _ref7 = _temp6 === void 0 ? {} : _temp6, + _ref7$includeOffset = _ref7.includeOffset, + includeOffset = _ref7$includeOffset === void 0 ? true : _ref7$includeOffset, + _ref7$includeZone = _ref7.includeZone, + includeZone = _ref7$includeZone === void 0 ? false : _ref7$includeZone; + + var fmt = "HH:mm:ss.SSS"; + + if (includeZone || includeOffset) { + fmt += " "; + + if (includeZone) { + fmt += "z"; + } else if (includeOffset) { + fmt += "ZZ"; + } + } + + return toTechFormat(this, fmt, true); + } + /** + * Returns a string representation of this DateTime appropriate for use in SQL DateTime + * @param {Object} opts - options + * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset. + * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00' + * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z' + * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00' + * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000' + * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York' + * @return {string} + */ + ; + + _proto.toSQL = function toSQL(opts) { + if (opts === void 0) { + opts = {}; + } + + if (!this.isValid) { + return null; + } + + return this.toSQLDate() + " " + this.toSQLTime(opts); + } + /** + * Returns a string representation of this DateTime appropriate for debugging + * @return {string} + */ + ; + + _proto.toString = function toString() { + return this.isValid ? this.toISO() : INVALID; + } + /** + * Returns the epoch milliseconds of this DateTime. Alias of {@link DateTime#toMillis} + * @return {number} + */ + ; + + _proto.valueOf = function valueOf() { + return this.toMillis(); + } + /** + * Returns the epoch milliseconds of this DateTime. + * @return {number} + */ + ; + + _proto.toMillis = function toMillis() { + return this.isValid ? this.ts : NaN; + } + /** + * Returns the epoch seconds of this DateTime. + * @return {number} + */ + ; + + _proto.toSeconds = function toSeconds() { + return this.isValid ? this.ts / 1000 : NaN; + } + /** + * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON. + * @return {string} + */ + ; + + _proto.toJSON = function toJSON() { + return this.toISO(); + } + /** + * Returns a BSON serializable equivalent to this DateTime. + * @return {Date} + */ + ; + + _proto.toBSON = function toBSON() { + return this.toJSDate(); + } + /** + * Returns a JavaScript object with this DateTime's year, month, day, and so on. + * @param opts - options for generating the object + * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output + * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 } + * @return {Object} + */ + ; + + _proto.toObject = function toObject(opts) { + if (opts === void 0) { + opts = {}; + } + + if (!this.isValid) return {}; + + var base = _extends({}, this.c); + + if (opts.includeConfig) { + base.outputCalendar = this.outputCalendar; + base.numberingSystem = this.loc.numberingSystem; + base.locale = this.loc.locale; + } + + return base; + } + /** + * Returns a JavaScript Date equivalent to this DateTime. + * @return {Date} + */ + ; + + _proto.toJSDate = function toJSDate() { + return new Date(this.isValid ? this.ts : NaN); + } // COMPARE + + /** + * Return the difference between two DateTimes as a Duration. + * @param {DateTime} otherDateTime - the DateTime to compare this one to + * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration. + * @param {Object} opts - options that affect the creation of the Duration + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @example + * var i1 = DateTime.fromISO('1982-05-25T09:45'), + * i2 = DateTime.fromISO('1983-10-14T10:30'); + * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 } + * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 } + * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 } + * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 } + * @return {Duration} + */ + ; + + _proto.diff = function diff(otherDateTime, unit, opts) { + if (unit === void 0) { + unit = "milliseconds"; + } + + if (opts === void 0) { + opts = {}; + } + + if (!this.isValid || !otherDateTime.isValid) { + return Duration.invalid("created by diffing an invalid DateTime"); + } + + var durOpts = _extends({ + locale: this.locale, + numberingSystem: this.numberingSystem + }, opts); + + var units = maybeArray(unit).map(Duration.normalizeUnit), + otherIsLater = otherDateTime.valueOf() > this.valueOf(), + earlier = otherIsLater ? this : otherDateTime, + later = otherIsLater ? otherDateTime : this, + diffed = _diff(earlier, later, units, durOpts); + + return otherIsLater ? diffed.negate() : diffed; + } + /** + * Return the difference between this DateTime and right now. + * See {@link DateTime#diff} + * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration + * @param {Object} opts - options that affect the creation of the Duration + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @return {Duration} + */ + ; + + _proto.diffNow = function diffNow(unit, opts) { + if (unit === void 0) { + unit = "milliseconds"; + } + + if (opts === void 0) { + opts = {}; + } + + return this.diff(DateTime.now(), unit, opts); + } + /** + * Return an Interval spanning between this DateTime and another DateTime + * @param {DateTime} otherDateTime - the other end point of the Interval + * @return {Interval} + */ + ; + + _proto.until = function until(otherDateTime) { + return this.isValid ? Interval.fromDateTimes(this, otherDateTime) : this; + } + /** + * Return whether this DateTime is in the same unit of time as another DateTime. + * Higher-order units must also be identical for this function to return `true`. + * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link DateTime#setZone} to convert one of the dates if needed. + * @param {DateTime} otherDateTime - the other DateTime + * @param {string} unit - the unit of time to check sameness on + * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day + * @return {boolean} + */ + ; + + _proto.hasSame = function hasSame(otherDateTime, unit) { + if (!this.isValid) return false; + var inputMs = otherDateTime.valueOf(); + var adjustedToZone = this.setZone(otherDateTime.zone, { + keepLocalTime: true + }); + return adjustedToZone.startOf(unit) <= inputMs && inputMs <= adjustedToZone.endOf(unit); + } + /** + * Equality check + * Two DateTimes are equal iff they represent the same millisecond, have the same zone and location, and are both valid. + * To compare just the millisecond values, use `+dt1 === +dt2`. + * @param {DateTime} other - the other DateTime + * @return {boolean} + */ + ; + + _proto.equals = function equals(other) { + return this.isValid && other.isValid && this.valueOf() === other.valueOf() && this.zone.equals(other.zone) && this.loc.equals(other.loc); + } + /** + * Returns a string representation of a this time relative to now, such as "in two days". Can only internationalize if your + * platform supports Intl.RelativeTimeFormat. Rounds down by default. + * @param {Object} options - options that affect the output + * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now. + * @param {string} [options.style="long"] - the style of units, must be "long", "short", or "narrow" + * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of "years", "quarters", "months", "weeks", "days", "hours", "minutes", or "seconds" + * @param {boolean} [options.round=true] - whether to round the numbers in the output. + * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding. + * @param {string} options.locale - override the locale of this DateTime + * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this + * @example DateTime.now().plus({ days: 1 }).toRelative() //=> "in 1 day" + * @example DateTime.now().setLocale("es").toRelative({ days: 1 }) //=> "dentro de 1 día" + * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: "fr" }) //=> "dans 23 heures" + * @example DateTime.now().minus({ days: 2 }).toRelative() //=> "2 days ago" + * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: "hours" }) //=> "48 hours ago" + * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> "1.5 days ago" + */ + ; + + _proto.toRelative = function toRelative(options) { + if (options === void 0) { + options = {}; + } + + if (!this.isValid) return null; + var base = options.base || DateTime.fromObject({}, { + zone: this.zone + }), + padding = options.padding ? this < base ? -options.padding : options.padding : 0; + var units = ["years", "months", "days", "hours", "minutes", "seconds"]; + var unit = options.unit; + + if (Array.isArray(options.unit)) { + units = options.unit; + unit = undefined; + } + + return diffRelative(base, this.plus(padding), _extends({}, options, { + numeric: "always", + units: units, + unit: unit + })); + } + /** + * Returns a string representation of this date relative to today, such as "yesterday" or "next month". + * Only internationalizes on platforms that supports Intl.RelativeTimeFormat. + * @param {Object} options - options that affect the output + * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now. + * @param {string} options.locale - override the locale of this DateTime + * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of "years", "quarters", "months", "weeks", or "days" + * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this + * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> "tomorrow" + * @example DateTime.now().setLocale("es").plus({ days: 1 }).toRelative() //=> ""mañana" + * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: "fr" }) //=> "demain" + * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> "2 days ago" + */ + ; + + _proto.toRelativeCalendar = function toRelativeCalendar(options) { + if (options === void 0) { + options = {}; + } + + if (!this.isValid) return null; + return diffRelative(options.base || DateTime.fromObject({}, { + zone: this.zone + }), this, _extends({}, options, { + numeric: "auto", + units: ["years", "months", "days"], + calendary: true + })); + } + /** + * Return the min of several date times + * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum + * @return {DateTime} the min DateTime, or undefined if called with no argument + */ + ; + + DateTime.min = function min() { + for (var _len = arguments.length, dateTimes = new Array(_len), _key = 0; _key < _len; _key++) { + dateTimes[_key] = arguments[_key]; + } + + if (!dateTimes.every(DateTime.isDateTime)) { + throw new InvalidArgumentError("min requires all arguments be DateTimes"); + } + + return bestBy(dateTimes, function (i) { + return i.valueOf(); + }, Math.min); + } + /** + * Return the max of several date times + * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum + * @return {DateTime} the max DateTime, or undefined if called with no argument + */ + ; + + DateTime.max = function max() { + for (var _len2 = arguments.length, dateTimes = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + dateTimes[_key2] = arguments[_key2]; + } + + if (!dateTimes.every(DateTime.isDateTime)) { + throw new InvalidArgumentError("max requires all arguments be DateTimes"); + } + + return bestBy(dateTimes, function (i) { + return i.valueOf(); + }, Math.max); + } // MISC + + /** + * Explain how a string would be parsed by fromFormat() + * @param {string} text - the string to parse + * @param {string} fmt - the format the string is expected to be in (see description) + * @param {Object} options - options taken by fromFormat() + * @return {Object} + */ + ; + + DateTime.fromFormatExplain = function fromFormatExplain(text, fmt, options) { + if (options === void 0) { + options = {}; + } + + var _options = options, + _options$locale = _options.locale, + locale = _options$locale === void 0 ? null : _options$locale, + _options$numberingSys = _options.numberingSystem, + numberingSystem = _options$numberingSys === void 0 ? null : _options$numberingSys, + localeToUse = Locale.fromOpts({ + locale: locale, + numberingSystem: numberingSystem, + defaultToEN: true + }); + return explainFromTokens(localeToUse, text, fmt); + } + /** + * @deprecated use fromFormatExplain instead + */ + ; + + DateTime.fromStringExplain = function fromStringExplain(text, fmt, options) { + if (options === void 0) { + options = {}; + } + + return DateTime.fromFormatExplain(text, fmt, options); + } // FORMAT PRESETS + + /** + * {@link DateTime#toLocaleString} format like 10/14/1983 + * @type {Object} + */ + ; + + _createClass(DateTime, [{ + key: "isValid", + get: function get() { + return this.invalid === null; + } + /** + * Returns an error code if this DateTime is invalid, or null if the DateTime is valid + * @type {string} + */ + + }, { + key: "invalidReason", + get: function get() { + return this.invalid ? this.invalid.reason : null; + } + /** + * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid + * @type {string} + */ + + }, { + key: "invalidExplanation", + get: function get() { + return this.invalid ? this.invalid.explanation : null; + } + /** + * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime + * + * @type {string} + */ + + }, { + key: "locale", + get: function get() { + return this.isValid ? this.loc.locale : null; + } + /** + * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime + * + * @type {string} + */ + + }, { + key: "numberingSystem", + get: function get() { + return this.isValid ? this.loc.numberingSystem : null; + } + /** + * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime + * + * @type {string} + */ + + }, { + key: "outputCalendar", + get: function get() { + return this.isValid ? this.loc.outputCalendar : null; + } + /** + * Get the time zone associated with this DateTime. + * @type {Zone} + */ + + }, { + key: "zone", + get: function get() { + return this._zone; + } + /** + * Get the name of the time zone. + * @type {string} + */ + + }, { + key: "zoneName", + get: function get() { + return this.isValid ? this.zone.name : null; + } + /** + * Get the year + * @example DateTime.local(2017, 5, 25).year //=> 2017 + * @type {number} + */ + + }, { + key: "year", + get: function get() { + return this.isValid ? this.c.year : NaN; + } + /** + * Get the quarter + * @example DateTime.local(2017, 5, 25).quarter //=> 2 + * @type {number} + */ + + }, { + key: "quarter", + get: function get() { + return this.isValid ? Math.ceil(this.c.month / 3) : NaN; + } + /** + * Get the month (1-12). + * @example DateTime.local(2017, 5, 25).month //=> 5 + * @type {number} + */ + + }, { + key: "month", + get: function get() { + return this.isValid ? this.c.month : NaN; + } + /** + * Get the day of the month (1-30ish). + * @example DateTime.local(2017, 5, 25).day //=> 25 + * @type {number} + */ + + }, { + key: "day", + get: function get() { + return this.isValid ? this.c.day : NaN; + } + /** + * Get the hour of the day (0-23). + * @example DateTime.local(2017, 5, 25, 9).hour //=> 9 + * @type {number} + */ + + }, { + key: "hour", + get: function get() { + return this.isValid ? this.c.hour : NaN; + } + /** + * Get the minute of the hour (0-59). + * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30 + * @type {number} + */ + + }, { + key: "minute", + get: function get() { + return this.isValid ? this.c.minute : NaN; + } + /** + * Get the second of the minute (0-59). + * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52 + * @type {number} + */ + + }, { + key: "second", + get: function get() { + return this.isValid ? this.c.second : NaN; + } + /** + * Get the millisecond of the second (0-999). + * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654 + * @type {number} + */ + + }, { + key: "millisecond", + get: function get() { + return this.isValid ? this.c.millisecond : NaN; + } + /** + * Get the week year + * @see https://en.wikipedia.org/wiki/ISO_week_date + * @example DateTime.local(2014, 12, 31).weekYear //=> 2015 + * @type {number} + */ + + }, { + key: "weekYear", + get: function get() { + return this.isValid ? possiblyCachedWeekData(this).weekYear : NaN; + } + /** + * Get the week number of the week year (1-52ish). + * @see https://en.wikipedia.org/wiki/ISO_week_date + * @example DateTime.local(2017, 5, 25).weekNumber //=> 21 + * @type {number} + */ + + }, { + key: "weekNumber", + get: function get() { + return this.isValid ? possiblyCachedWeekData(this).weekNumber : NaN; + } + /** + * Get the day of the week. + * 1 is Monday and 7 is Sunday + * @see https://en.wikipedia.org/wiki/ISO_week_date + * @example DateTime.local(2014, 11, 31).weekday //=> 4 + * @type {number} + */ + + }, { + key: "weekday", + get: function get() { + return this.isValid ? possiblyCachedWeekData(this).weekday : NaN; + } + /** + * Get the ordinal (meaning the day of the year) + * @example DateTime.local(2017, 5, 25).ordinal //=> 145 + * @type {number|DateTime} + */ + + }, { + key: "ordinal", + get: function get() { + return this.isValid ? gregorianToOrdinal(this.c).ordinal : NaN; + } + /** + * Get the human readable short month name, such as 'Oct'. + * Defaults to the system's locale if no locale has been specified + * @example DateTime.local(2017, 10, 30).monthShort //=> Oct + * @type {string} + */ + + }, { + key: "monthShort", + get: function get() { + return this.isValid ? Info.months("short", { + locObj: this.loc + })[this.month - 1] : null; + } + /** + * Get the human readable long month name, such as 'October'. + * Defaults to the system's locale if no locale has been specified + * @example DateTime.local(2017, 10, 30).monthLong //=> October + * @type {string} + */ + + }, { + key: "monthLong", + get: function get() { + return this.isValid ? Info.months("long", { + locObj: this.loc + })[this.month - 1] : null; + } + /** + * Get the human readable short weekday, such as 'Mon'. + * Defaults to the system's locale if no locale has been specified + * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon + * @type {string} + */ + + }, { + key: "weekdayShort", + get: function get() { + return this.isValid ? Info.weekdays("short", { + locObj: this.loc + })[this.weekday - 1] : null; + } + /** + * Get the human readable long weekday, such as 'Monday'. + * Defaults to the system's locale if no locale has been specified + * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday + * @type {string} + */ + + }, { + key: "weekdayLong", + get: function get() { + return this.isValid ? Info.weekdays("long", { + locObj: this.loc + })[this.weekday - 1] : null; + } + /** + * Get the UTC offset of this DateTime in minutes + * @example DateTime.now().offset //=> -240 + * @example DateTime.utc().offset //=> 0 + * @type {number} + */ + + }, { + key: "offset", + get: function get() { + return this.isValid ? +this.o : NaN; + } + /** + * Get the short human name for the zone's current offset, for example "EST" or "EDT". + * Defaults to the system's locale if no locale has been specified + * @type {string} + */ + + }, { + key: "offsetNameShort", + get: function get() { + if (this.isValid) { + return this.zone.offsetName(this.ts, { + format: "short", + locale: this.locale + }); + } else { + return null; + } + } + /** + * Get the long human name for the zone's current offset, for example "Eastern Standard Time" or "Eastern Daylight Time". + * Defaults to the system's locale if no locale has been specified + * @type {string} + */ + + }, { + key: "offsetNameLong", + get: function get() { + if (this.isValid) { + return this.zone.offsetName(this.ts, { + format: "long", + locale: this.locale + }); + } else { + return null; + } + } + /** + * Get whether this zone's offset ever changes, as in a DST. + * @type {boolean} + */ + + }, { + key: "isOffsetFixed", + get: function get() { + return this.isValid ? this.zone.isUniversal : null; + } + /** + * Get whether the DateTime is in a DST. + * @type {boolean} + */ + + }, { + key: "isInDST", + get: function get() { + if (this.isOffsetFixed) { + return false; + } else { + return this.offset > this.set({ + month: 1 + }).offset || this.offset > this.set({ + month: 5 + }).offset; + } + } + /** + * Returns true if this DateTime is in a leap year, false otherwise + * @example DateTime.local(2016).isInLeapYear //=> true + * @example DateTime.local(2013).isInLeapYear //=> false + * @type {boolean} + */ + + }, { + key: "isInLeapYear", + get: function get() { + return isLeapYear(this.year); + } + /** + * Returns the number of days in this DateTime's month + * @example DateTime.local(2016, 2).daysInMonth //=> 29 + * @example DateTime.local(2016, 3).daysInMonth //=> 31 + * @type {number} + */ + + }, { + key: "daysInMonth", + get: function get() { + return daysInMonth(this.year, this.month); + } + /** + * Returns the number of days in this DateTime's year + * @example DateTime.local(2016).daysInYear //=> 366 + * @example DateTime.local(2013).daysInYear //=> 365 + * @type {number} + */ + + }, { + key: "daysInYear", + get: function get() { + return this.isValid ? daysInYear(this.year) : NaN; + } + /** + * Returns the number of weeks in this DateTime's year + * @see https://en.wikipedia.org/wiki/ISO_week_date + * @example DateTime.local(2004).weeksInWeekYear //=> 53 + * @example DateTime.local(2013).weeksInWeekYear //=> 52 + * @type {number} + */ + + }, { + key: "weeksInWeekYear", + get: function get() { + return this.isValid ? weeksInWeekYear(this.weekYear) : NaN; + } + }], [{ + key: "DATE_SHORT", + get: function get() { + return DATE_SHORT; + } + /** + * {@link DateTime#toLocaleString} format like 'Oct 14, 1983' + * @type {Object} + */ + + }, { + key: "DATE_MED", + get: function get() { + return DATE_MED; + } + /** + * {@link DateTime#toLocaleString} format like 'Fri, Oct 14, 1983' + * @type {Object} + */ + + }, { + key: "DATE_MED_WITH_WEEKDAY", + get: function get() { + return DATE_MED_WITH_WEEKDAY; + } + /** + * {@link DateTime#toLocaleString} format like 'October 14, 1983' + * @type {Object} + */ + + }, { + key: "DATE_FULL", + get: function get() { + return DATE_FULL; + } + /** + * {@link DateTime#toLocaleString} format like 'Tuesday, October 14, 1983' + * @type {Object} + */ + + }, { + key: "DATE_HUGE", + get: function get() { + return DATE_HUGE; + } + /** + * {@link DateTime#toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + + }, { + key: "TIME_SIMPLE", + get: function get() { + return TIME_SIMPLE; + } + /** + * {@link DateTime#toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + + }, { + key: "TIME_WITH_SECONDS", + get: function get() { + return TIME_WITH_SECONDS; + } + /** + * {@link DateTime#toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is. + * @type {Object} + */ + + }, { + key: "TIME_WITH_SHORT_OFFSET", + get: function get() { + return TIME_WITH_SHORT_OFFSET; + } + /** + * {@link DateTime#toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is. + * @type {Object} + */ + + }, { + key: "TIME_WITH_LONG_OFFSET", + get: function get() { + return TIME_WITH_LONG_OFFSET; + } + /** + * {@link DateTime#toLocaleString} format like '09:30', always 24-hour. + * @type {Object} + */ + + }, { + key: "TIME_24_SIMPLE", + get: function get() { + return TIME_24_SIMPLE; + } + /** + * {@link DateTime#toLocaleString} format like '09:30:23', always 24-hour. + * @type {Object} + */ + + }, { + key: "TIME_24_WITH_SECONDS", + get: function get() { + return TIME_24_WITH_SECONDS; + } + /** + * {@link DateTime#toLocaleString} format like '09:30:23 EDT', always 24-hour. + * @type {Object} + */ + + }, { + key: "TIME_24_WITH_SHORT_OFFSET", + get: function get() { + return TIME_24_WITH_SHORT_OFFSET; + } + /** + * {@link DateTime#toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour. + * @type {Object} + */ + + }, { + key: "TIME_24_WITH_LONG_OFFSET", + get: function get() { + return TIME_24_WITH_LONG_OFFSET; + } + /** + * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + + }, { + key: "DATETIME_SHORT", + get: function get() { + return DATETIME_SHORT; + } + /** + * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + + }, { + key: "DATETIME_SHORT_WITH_SECONDS", + get: function get() { + return DATETIME_SHORT_WITH_SECONDS; + } + /** + * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + + }, { + key: "DATETIME_MED", + get: function get() { + return DATETIME_MED; + } + /** + * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + + }, { + key: "DATETIME_MED_WITH_SECONDS", + get: function get() { + return DATETIME_MED_WITH_SECONDS; + } + /** + * {@link DateTime#toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + + }, { + key: "DATETIME_MED_WITH_WEEKDAY", + get: function get() { + return DATETIME_MED_WITH_WEEKDAY; + } + /** + * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is. + * @type {Object} + */ + + }, { + key: "DATETIME_FULL", + get: function get() { + return DATETIME_FULL; + } + /** + * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is. + * @type {Object} + */ + + }, { + key: "DATETIME_FULL_WITH_SECONDS", + get: function get() { + return DATETIME_FULL_WITH_SECONDS; + } + /** + * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is. + * @type {Object} + */ + + }, { + key: "DATETIME_HUGE", + get: function get() { + return DATETIME_HUGE; + } + /** + * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is. + * @type {Object} + */ + + }, { + key: "DATETIME_HUGE_WITH_SECONDS", + get: function get() { + return DATETIME_HUGE_WITH_SECONDS; + } + }]); + + return DateTime; + }(); + function friendlyDateTime(dateTimeish) { + if (DateTime.isDateTime(dateTimeish)) { + return dateTimeish; + } else if (dateTimeish && dateTimeish.valueOf && isNumber(dateTimeish.valueOf())) { + return DateTime.fromJSDate(dateTimeish); + } else if (dateTimeish && typeof dateTimeish === "object") { + return DateTime.fromObject(dateTimeish); + } else { + throw new InvalidArgumentError("Unknown datetime argument: " + dateTimeish + ", of type " + typeof dateTimeish); + } + } + + var VERSION = "2.3.0"; + + exports.DateTime = DateTime; + exports.Duration = Duration; + exports.FixedOffsetZone = FixedOffsetZone; + exports.IANAZone = IANAZone; + exports.Info = Info; + exports.Interval = Interval; + exports.InvalidZone = InvalidZone; + exports.Settings = Settings; + exports.SystemZone = SystemZone; + exports.VERSION = VERSION; + exports.Zone = Zone; + + Object.defineProperty(exports, '__esModule', { value: true }); + + return exports; + +})({}); +//# sourceMappingURL=luxon.js.map diff --git a/assets/js/luxon/luxon.min.js b/assets/js/luxon/luxon.min.js new file mode 100644 index 0000000..c9a4611 --- /dev/null +++ b/assets/js/luxon/luxon.min.js @@ -0,0 +1 @@ +var luxon=function(e){"use strict";function r(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n=function(e){function t(){return e.apply(this,arguments)||this}return i(t,e),t}(t(Error)),d=function(t){function e(e){return t.call(this,"Invalid DateTime: "+e.toMessage())||this}return i(e,t),e}(n),h=function(t){function e(e){return t.call(this,"Invalid Interval: "+e.toMessage())||this}return i(e,t),e}(n),y=function(t){function e(e){return t.call(this,"Invalid Duration: "+e.toMessage())||this}return i(e,t),e}(n),S=function(e){function t(){return e.apply(this,arguments)||this}return i(t,e),t}(n),v=function(t){function e(e){return t.call(this,"Invalid unit "+e)||this}return i(e,t),e}(n),p=function(e){function t(){return e.apply(this,arguments)||this}return i(t,e),t}(n),m=function(e){function t(){return e.call(this,"Zone is an abstract class")||this}return i(t,e),t}(n),g="numeric",w="short",T="long",b={year:g,month:g,day:g},O={year:g,month:w,day:g},M={year:g,month:w,day:g,weekday:w},N={year:g,month:T,day:g},D={year:g,month:T,day:g,weekday:T},E={hour:g,minute:g},V={hour:g,minute:g,second:g},I={hour:g,minute:g,second:g,timeZoneName:w},x={hour:g,minute:g,second:g,timeZoneName:T},C={hour:g,minute:g,hourCycle:"h23"},F={hour:g,minute:g,second:g,hourCycle:"h23"},L={hour:g,minute:g,second:g,hourCycle:"h23",timeZoneName:w},Z={hour:g,minute:g,second:g,hourCycle:"h23",timeZoneName:T},A={year:g,month:g,day:g,hour:g,minute:g},z={year:g,month:g,day:g,hour:g,minute:g,second:g},j={year:g,month:w,day:g,hour:g,minute:g},q={year:g,month:w,day:g,hour:g,minute:g,second:g},_={year:g,month:w,day:g,weekday:w,hour:g,minute:g},U={year:g,month:T,day:g,hour:g,minute:g,timeZoneName:w},R={year:g,month:T,day:g,hour:g,minute:g,second:g,timeZoneName:w},H={year:g,month:T,day:g,weekday:T,hour:g,minute:g,timeZoneName:T},P={year:g,month:T,day:g,weekday:T,hour:g,minute:g,second:g,timeZoneName:T};function W(e){return void 0===e}function J(e){return"number"==typeof e}function Y(e){return"number"==typeof e&&e%1==0}function G(){try{return"undefined"!=typeof Intl&&!!Intl.RelativeTimeFormat}catch(e){return!1}}function $(e,n,r){if(0!==e.length)return e.reduce(function(e,t){t=[n(t),t];return e&&r(e[0],t[0])===e[0]?e:t},null)[1]}function B(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Q(e,t,n){return Y(e)&&t<=e&&e<=n}function K(e,t){void 0===t&&(t=2);t=e<0?"-"+(""+-e).padStart(t,"0"):(""+e).padStart(t,"0");return t}function X(e){if(!W(e)&&null!==e&&""!==e)return parseInt(e,10)}function ee(e){if(!W(e)&&null!==e&&""!==e)return parseFloat(e)}function te(e){if(!W(e)&&null!==e&&""!==e){e=1e3*parseFloat("0."+e);return Math.floor(e)}}function ne(e,t,n){void 0===n&&(n=!1);t=Math.pow(10,t);return(n?Math.trunc:Math.round)(e*t)/t}function re(e){return e%4==0&&(e%100!=0||e%400==0)}function ie(e){return re(e)?366:365}function oe(e,t){var n,r=(n=t-1)-(r=12)*Math.floor(n/r)+1;return 2==r?re(e+(t-r)/12)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][r-1]}function ue(e){var t=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond);return e.year<100&&0<=e.year&&(t=new Date(t)).setUTCFullYear(t.getUTCFullYear()-1900),+t}function ae(e){var t=(e+Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400))%7,e=e-1,e=(e+Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400))%7;return 4==t||3==e?53:52}function se(e){return 99$t.indexOf(s)&&Kt(this.matrix,u,d,i,s)}else J(u[s])&&(o[s]=u[s])}for(r in o)0!==o[r]&&(i[l]+=r===l?o[r]:o[r]/this.matrix[l][r]);return Qt(this,{values:i},!0).normalize()},e.negate=function(){if(!this.isValid)return this;for(var e={},t=0,n=Object.keys(this.values);te},e.isBefore=function(e){return!!this.isValid&&this.e<=e},e.contains=function(e){return!!this.isValid&&(this.s<=e&&this.e>e)},e.set=function(e){var t=void 0===e?{}:e,e=t.start,t=t.end;return this.isValid?c.fromDateTimes(e||this.s,t||this.e):this},e.splitAt=function(){var t=this;if(!this.isValid)return[];for(var e=arguments.length,n=new Array(e),r=0;r+this.e?this.e:s;o.push(c.fromDateTimes(u,s)),u=s,a+=1}return o},e.splitBy=function(e){var t=Xt.fromDurationLike(e);if(!this.isValid||!t.isValid||0===t.as("milliseconds"))return[];for(var n=this.s,r=1,i=[];n+this.e?this.e:o;i.push(c.fromDateTimes(n,o)),n=o,r+=1}return i},e.divideEqually=function(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]},e.overlaps=function(e){return this.e>e.s&&this.s=e.e)},e.equals=function(e){return!(!this.isValid||!e.isValid)&&(this.s.equals(e.s)&&this.e.equals(e.e))},e.intersection=function(e){if(!this.isValid)return this;var t=(this.s>e.s?this:e).s,e=(this.ee.e?this:e).e;return c.fromDateTimes(t,e)},c.merge=function(e){var t=e.sort(function(e,t){return e.s-t.s}).reduce(function(e,t){var n=e[0],e=e[1];return e?e.overlaps(t)||e.abutsStart(t)?[n,e.union(t)]:[n.concat([e]),t]:[n,t]},[[],null]),e=t[0],t=t[1];return t&&e.push(t),e},c.xor=function(e){for(var t=null,n=0,r=[],i=e.map(function(e){return[{time:e.s,type:"s"},{time:e.e,type:"e"}]}),o=k((e=Array.prototype).concat.apply(e,i).sort(function(e,t){return e.time-t.time}));!(u=o()).done;)var u=u.value,t=1===(n+="s"===u.type?1:-1)?u.time:(t&&+t!=+u.time&&r.push(c.fromDateTimes(t,u.time)),null);return c.merge(r)},e.difference=function(){for(var t=this,e=arguments.length,n=new Array(e),r=0;rae(n)?(t=n+1,o=1):t=n,s({weekYear:t,weekNumber:o,weekday:i},me(e))}function xn(e){var t,n=e.weekYear,r=e.weekNumber,i=e.weekday,o=Dn(n,1,4),u=ie(n),o=7*r+i-o-3;o<1?o+=ie(t=n-1):uthis.valueOf(),r=on(n?this:e,n?e:this,t,r);return n?r.negate():r},e.diffNow=function(e,t){return void 0===e&&(e="milliseconds"),void 0===t&&(t={}),this.diff(w.now(),e,t)},e.until=function(e){return this.isValid?tn.fromDateTimes(this,e):this},e.hasSame=function(e,t){if(!this.isValid)return!1;var n=e.valueOf(),e=this.setZone(e.zone,{keepLocalTime:!0});return e.startOf(t)<=n&&n<=e.endOf(t)},e.equals=function(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)},e.toRelative=function(e){if(!this.isValid)return null;var t=(e=void 0===e?{}:e).base||w.fromObject({},{zone:this.zone}),n=e.padding?thisthis.set({month:1}).offset||this.offset>this.set({month:5}).offset)}},{key:"isInLeapYear",get:function(){return re(this.year)}},{key:"daysInMonth",get:function(){return oe(this.year,this.month)}},{key:"daysInYear",get:function(){return this.isValid?ie(this.year):NaN}},{key:"weeksInWeekYear",get:function(){return this.isValid?ae(this.weekYear):NaN}}],[{key:"DATE_SHORT",get:function(){return b}},{key:"DATE_MED",get:function(){return O}},{key:"DATE_MED_WITH_WEEKDAY",get:function(){return M}},{key:"DATE_FULL",get:function(){return N}},{key:"DATE_HUGE",get:function(){return D}},{key:"TIME_SIMPLE",get:function(){return E}},{key:"TIME_WITH_SECONDS",get:function(){return V}},{key:"TIME_WITH_SHORT_OFFSET",get:function(){return I}},{key:"TIME_WITH_LONG_OFFSET",get:function(){return x}},{key:"TIME_24_SIMPLE",get:function(){return C}},{key:"TIME_24_WITH_SECONDS",get:function(){return F}},{key:"TIME_24_WITH_SHORT_OFFSET",get:function(){return L}},{key:"TIME_24_WITH_LONG_OFFSET",get:function(){return Z}},{key:"DATETIME_SHORT",get:function(){return A}},{key:"DATETIME_SHORT_WITH_SECONDS",get:function(){return z}},{key:"DATETIME_MED",get:function(){return j}},{key:"DATETIME_MED_WITH_SECONDS",get:function(){return q}},{key:"DATETIME_MED_WITH_WEEKDAY",get:function(){return _}},{key:"DATETIME_FULL",get:function(){return U}},{key:"DATETIME_FULL_WITH_SECONDS",get:function(){return R}},{key:"DATETIME_HUGE",get:function(){return H}},{key:"DATETIME_HUGE_WITH_SECONDS",get:function(){return P}}]),w}();function or(e){if(ir.isDateTime(e))return e;if(e&&e.valueOf&&J(e.valueOf()))return ir.fromJSDate(e);if(e&&"object"==typeof e)return ir.fromObject(e);throw new p("Unknown datetime argument: "+e+", of type "+typeof e)}return e.DateTime=ir,e.Duration=Xt,e.FixedOffsetZone=Re,e.IANAZone=_e,e.Info=nn,e.Interval=tn,e.InvalidZone=He,e.Settings=Qe,e.SystemZone=Ze,e.VERSION="2.3.0",e.Zone=Fe,Object.defineProperty(e,"__esModule",{value:!0}),e}({}); \ No newline at end of file diff --git a/assets/js/preact/preact.min.js b/assets/js/preact/preact.min.js new file mode 100644 index 0000000..9b0c8dd --- /dev/null +++ b/assets/js/preact/preact.min.js @@ -0,0 +1,2 @@ +!function(){var n,l,u,t,i,o,r,f,e,c={},a=[],s=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function h(n,l){for(var u in l)n[u]=l[u];return n}function v(n){var l=n.parentNode;l&&l.removeChild(n)}function y(l,u,t){var i,o,r,f={};for(r in u)"key"==r?i=u[r]:"ref"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),"function"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return d(l,f,i,o,null)}function d(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null!=l.vnode&&l.vnode(f),f}function p(n){return n.children}function _(n,l){this.props=n,this.context=l}function m(n,l){if(null==l)return n.__?m(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l0?d(_.type,_.props,_.key,null,_.__v):_)){if(_.__=u,_.__b=u.__b+1,null===(y=w[h])||y&&_.key==y.key&&_.type===y.type)w[h]=void 0;else for(v=0;v2&&(f.children=arguments.length>3?n.call(arguments,2):t),d(l.type,f,i||l.key,o||l.ref,null)},createContext:function(n,l){var u={__c:l="__cC"+f++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(b)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u},toChildArray:function n(l,u){return u=u||[],null==l||"boolean"==typeof l||(Array.isArray(l)?l.some(function(l){n(l,u)}):u.push(l)),u},options:l},typeof module<"u"?module.exports=e:self.preact=e}(); +//# sourceMappingURL=preact.min.js.map diff --git a/assets/js/preact/preact.min.js.map b/assets/js/preact/preact.min.js.map new file mode 100644 index 0000000..7a5a1fc --- /dev/null +++ b/assets/js/preact/preact.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"preact.min.js","sources":["../src/util.js","../src/options.js","../src/create-element.js","../src/component.js","../src/create-context.js","../src/constants.js","../src/diff/children.js","../src/diff/props.js","../src/diff/index.js","../src/render.js","../src/diff/catch-error.js","../src/clone-element.js","../src/cjs.js"],"sourcesContent":["import { EMPTY_ARR } from \"./constants\";\n\n/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\t// @ts-ignore We change the type of `obj` to be `O & P`\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\n/**\n * Remove a child node from its parent if attached. This is a workaround for\n * IE11 which doesn't support `Element.prototype.remove()`. Using this function\n * is smaller than including a dedicated polyfill.\n * @param {Node} node The node to remove\n */\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n\nexport const slice = EMPTY_ARR.slice;\n","import { _catchError } from './diff/catch-error';\n\n/**\n * The `option` object can potentially contain callback functions\n * that are called during various stages of our renderer. This is the\n * foundation on which all our addons like `preact/debug`, `preact/compat`,\n * and `preact/hooks` are based on. See the `Options` type in `internal.d.ts`\n * for a full list of available option hooks (most editors/IDEs allow you to\n * ctrl+click or cmd+click on mac the type definition below).\n * @type {import('./internal').Options}\n */\nconst options = {\n\t_catchError\n};\n\nexport default options;\n","import { slice } from './util';\nimport options from './options';\n\nlet vnodeId = 0;\n\n/**\n * Create an virtual node (used for JSX)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * constructor for this virtual node\n * @param {object | null | undefined} [props] The properties of the virtual node\n * @param {Array} [children] The children of the virtual node\n * @returns {import('./internal').VNode}\n */\nexport function createElement(type, props, children) {\n\tlet normalizedProps = {},\n\t\tkey,\n\t\tref,\n\t\ti;\n\tfor (i in props) {\n\t\tif (i == 'key') key = props[i];\n\t\telse if (i == 'ref') ref = props[i];\n\t\telse normalizedProps[i] = props[i];\n\t}\n\n\tif (arguments.length > 2) {\n\t\tnormalizedProps.children =\n\t\t\targuments.length > 3 ? slice.call(arguments, 2) : children;\n\t}\n\n\t// If a Component VNode, check for and apply defaultProps\n\t// Note: type may be undefined in development, must never error here.\n\tif (typeof type == 'function' && type.defaultProps != null) {\n\t\tfor (i in type.defaultProps) {\n\t\t\tif (normalizedProps[i] === undefined) {\n\t\t\t\tnormalizedProps[i] = type.defaultProps[i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createVNode(type, normalizedProps, key, ref, null);\n}\n\n/**\n * Create a VNode (used internally by Preact)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * Constructor for this virtual node\n * @param {object | string | number | null} props The properties of this virtual node.\n * If this virtual node represents a text node, this is the text of the node (string or number).\n * @param {string | number | null} key The key for this virtual node, used when\n * diffing it against its children\n * @param {import('./internal').VNode[\"ref\"]} ref The ref property that will\n * receive a reference to its created child\n * @returns {import('./internal').VNode}\n */\nexport function createVNode(type, props, key, ref, original) {\n\t// V8 seems to be better at detecting type shapes if the object is allocated from the same call site\n\t// Do not inline into createElement and coerceToVNode!\n\tconst vnode = {\n\t\ttype,\n\t\tprops,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: null,\n\t\t_depth: 0,\n\t\t_dom: null,\n\t\t// _nextDom must be initialized to undefined b/c it will eventually\n\t\t// be set to dom.nextSibling which can return `null` and it is important\n\t\t// to be able to distinguish between an uninitialized _nextDom and\n\t\t// a _nextDom that has been set to `null`\n\t\t_nextDom: undefined,\n\t\t_component: null,\n\t\t_hydrating: null,\n\t\tconstructor: undefined,\n\t\t_original: original == null ? ++vnodeId : original\n\t};\n\n\tif (options.vnode != null) options.vnode(vnode);\n\n\treturn vnode;\n}\n\nexport function createRef() {\n\treturn { current: null };\n}\n\nexport function Fragment(props) {\n\treturn props.children;\n}\n\n/**\n * Check if a the argument is a valid Preact VNode.\n * @param {*} vnode\n * @returns {vnode is import('./internal').VNode}\n */\nexport const isValidElement = vnode =>\n\tvnode != null && vnode.constructor === undefined;\n","import { assign } from './util';\nimport { diff, commitRoot } from './diff/index';\nimport options from './options';\nimport { Fragment } from './create-element';\n\n/**\n * Base Component class. Provides `setState()` and `forceUpdate()`, which\n * trigger rendering\n * @param {object} props The initial component props\n * @param {object} context The initial context from parent components'\n * getChildContext\n */\nexport function Component(props, context) {\n\tthis.props = props;\n\tthis.context = context;\n}\n\n/**\n * Update component state and schedule a re-render.\n * @this {import('./internal').Component}\n * @param {object | ((s: object, p: object) => object)} update A hash of state\n * properties to update with new values or a function that given the current\n * state and props returns a new partial state\n * @param {() => void} [callback] A function to be called once component state is\n * updated\n */\nComponent.prototype.setState = function(update, callback) {\n\t// only clone state when copying to nextState the first time.\n\tlet s;\n\tif (this._nextState != null && this._nextState !== this.state) {\n\t\ts = this._nextState;\n\t} else {\n\t\ts = this._nextState = assign({}, this.state);\n\t}\n\n\tif (typeof update == 'function') {\n\t\t// Some libraries like `immer` mark the current state as readonly,\n\t\t// preventing us from mutating it, so we need to clone it. See #2716\n\t\tupdate = update(assign({}, s), this.props);\n\t}\n\n\tif (update) {\n\t\tassign(s, update);\n\t}\n\n\t// Skip update if updater function returned null\n\tif (update == null) return;\n\n\tif (this._vnode) {\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Immediately perform a synchronous re-render of the component\n * @this {import('./internal').Component}\n * @param {() => void} [callback] A function to be called after component is\n * re-rendered\n */\nComponent.prototype.forceUpdate = function(callback) {\n\tif (this._vnode) {\n\t\t// Set render mode so that we can differentiate where the render request\n\t\t// is coming from. We need this because forceUpdate should never call\n\t\t// shouldComponentUpdate\n\t\tthis._force = true;\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.\n * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).\n * @param {object} props Props (eg: JSX attributes) received from parent\n * element/component\n * @param {object} state The component's current state\n * @param {object} context Context object, as returned by the nearest\n * ancestor's `getChildContext()`\n * @returns {import('./index').ComponentChildren | void}\n */\nComponent.prototype.render = Fragment;\n\n/**\n * @param {import('./internal').VNode} vnode\n * @param {number | null} [childIndex]\n */\nexport function getDomSibling(vnode, childIndex) {\n\tif (childIndex == null) {\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\n\t\treturn vnode._parent\n\t\t\t? getDomSibling(vnode._parent, vnode._parent._children.indexOf(vnode) + 1)\n\t\t\t: null;\n\t}\n\n\tlet sibling;\n\tfor (; childIndex < vnode._children.length; childIndex++) {\n\t\tsibling = vnode._children[childIndex];\n\n\t\tif (sibling != null && sibling._dom != null) {\n\t\t\t// Since updateParentDomPointers keeps _dom pointer correct,\n\t\t\t// we can rely on _dom to tell us if this subtree contains a\n\t\t\t// rendered DOM node, and what the first rendered DOM node is\n\t\t\treturn sibling._dom;\n\t\t}\n\t}\n\n\t// If we get here, we have not found a DOM node in this vnode's children.\n\t// We must resume from this vnode's sibling (in it's parent _children array)\n\t// Only climb up and search the parent if we aren't searching through a DOM\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\n\t// the search)\n\treturn typeof vnode.type == 'function' ? getDomSibling(vnode) : null;\n}\n\n/**\n * Trigger in-place re-rendering of a component.\n * @param {import('./internal').Component} component The component to rerender\n */\nfunction renderComponent(component) {\n\tlet vnode = component._vnode,\n\t\toldDom = vnode._dom,\n\t\tparentDom = component._parentDom;\n\n\tif (parentDom) {\n\t\tlet commitQueue = [];\n\t\tconst oldVNode = assign({}, vnode);\n\t\toldVNode._original = vnode._original + 1;\n\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tvnode,\n\t\t\toldVNode,\n\t\t\tcomponent._globalContext,\n\t\t\tparentDom.ownerSVGElement !== undefined,\n\t\t\tvnode._hydrating != null ? [oldDom] : null,\n\t\t\tcommitQueue,\n\t\t\toldDom == null ? getDomSibling(vnode) : oldDom,\n\t\t\tvnode._hydrating\n\t\t);\n\t\tcommitRoot(commitQueue, vnode);\n\n\t\tif (vnode._dom != oldDom) {\n\t\t\tupdateParentDomPointers(vnode);\n\t\t}\n\t}\n}\n\n/**\n * @param {import('./internal').VNode} vnode\n */\nfunction updateParentDomPointers(vnode) {\n\tif ((vnode = vnode._parent) != null && vnode._component != null) {\n\t\tvnode._dom = vnode._component.base = null;\n\t\tfor (let i = 0; i < vnode._children.length; i++) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child != null && child._dom != null) {\n\t\t\t\tvnode._dom = vnode._component.base = child._dom;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn updateParentDomPointers(vnode);\n\t}\n}\n\n/**\n * The render queue\n * @type {Array}\n */\nlet rerenderQueue = [];\n\n/**\n * Asynchronously schedule a callback\n * @type {(cb: () => void) => void}\n */\n/* istanbul ignore next */\n// Note the following line isn't tree-shaken by rollup cuz of rollup/rollup#2566\nconst defer =\n\ttypeof Promise == 'function'\n\t\t? Promise.prototype.then.bind(Promise.resolve())\n\t\t: setTimeout;\n\n/*\n * The value of `Component.debounce` must asynchronously invoke the passed in callback. It is\n * important that contributors to Preact can consistently reason about what calls to `setState`, etc.\n * do, and when their effects will be applied. See the links below for some further reading on designing\n * asynchronous APIs.\n * * [Designing APIs for Asynchrony](https://blog.izs.me/2013/08/designing-apis-for-asynchrony)\n * * [Callbacks synchronous and asynchronous](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)\n */\n\nlet prevDebounce;\n\n/**\n * Enqueue a rerender of a component\n * @param {import('./internal').Component} c The component to rerender\n */\nexport function enqueueRender(c) {\n\tif (\n\t\t(!c._dirty &&\n\t\t\t(c._dirty = true) &&\n\t\t\trerenderQueue.push(c) &&\n\t\t\t!process._rerenderCount++) ||\n\t\tprevDebounce !== options.debounceRendering\n\t) {\n\t\tprevDebounce = options.debounceRendering;\n\t\t(prevDebounce || defer)(process);\n\t}\n}\n\n/** Flush the render queue by rerendering all queued components */\nfunction process() {\n\tlet queue;\n\twhile ((process._rerenderCount = rerenderQueue.length)) {\n\t\tqueue = rerenderQueue.sort((a, b) => a._vnode._depth - b._vnode._depth);\n\t\trerenderQueue = [];\n\t\t// Don't update `renderCount` yet. Keep its value non-zero to prevent unnecessary\n\t\t// process() calls from getting scheduled while `queue` is still being consumed.\n\t\tqueue.some(c => {\n\t\t\tif (c._dirty) renderComponent(c);\n\t\t});\n\t}\n}\nprocess._rerenderCount = 0;\n","import { enqueueRender } from './component';\n\nexport let i = 0;\n\nexport function createContext(defaultValue, contextId) {\n\tcontextId = '__cC' + i++;\n\n\tconst context = {\n\t\t_id: contextId,\n\t\t_defaultValue: defaultValue,\n\t\t/** @type {import('./internal').FunctionComponent} */\n\t\tConsumer(props, contextValue) {\n\t\t\t// return props.children(\n\t\t\t// \tcontext[contextId] ? context[contextId].props.value : defaultValue\n\t\t\t// );\n\t\t\treturn props.children(contextValue);\n\t\t},\n\t\t/** @type {import('./internal').FunctionComponent} */\n\t\tProvider(props) {\n\t\t\tif (!this.getChildContext) {\n\t\t\t\tlet subs = [];\n\t\t\t\tlet ctx = {};\n\t\t\t\tctx[contextId] = this;\n\n\t\t\t\tthis.getChildContext = () => ctx;\n\n\t\t\t\tthis.shouldComponentUpdate = function(_props) {\n\t\t\t\t\tif (this.props.value !== _props.value) {\n\t\t\t\t\t\t// I think the forced value propagation here was only needed when `options.debounceRendering` was being bypassed:\n\t\t\t\t\t\t// https://github.com/preactjs/preact/commit/4d339fb803bea09e9f198abf38ca1bf8ea4b7771#diff-54682ce380935a717e41b8bfc54737f6R358\n\t\t\t\t\t\t// In those cases though, even with the value corrected, we're double-rendering all nodes.\n\t\t\t\t\t\t// It might be better to just tell folks not to use force-sync mode.\n\t\t\t\t\t\t// Currently, using `useContext()` in a class component will overwrite its `this.context` value.\n\t\t\t\t\t\t// subs.some(c => {\n\t\t\t\t\t\t// \tc.context = _props.value;\n\t\t\t\t\t\t// \tenqueueRender(c);\n\t\t\t\t\t\t// });\n\n\t\t\t\t\t\t// subs.some(c => {\n\t\t\t\t\t\t// \tc.context[contextId] = _props.value;\n\t\t\t\t\t\t// \tenqueueRender(c);\n\t\t\t\t\t\t// });\n\t\t\t\t\t\tsubs.some(enqueueRender);\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tthis.sub = c => {\n\t\t\t\t\tsubs.push(c);\n\t\t\t\t\tlet old = c.componentWillUnmount;\n\t\t\t\t\tc.componentWillUnmount = () => {\n\t\t\t\t\t\tsubs.splice(subs.indexOf(c), 1);\n\t\t\t\t\t\tif (old) old.call(c);\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn props.children;\n\t\t}\n\t};\n\n\t// Devtools needs access to the context object when it\n\t// encounters a Provider. This is necessary to support\n\t// setting `displayName` on the context object instead\n\t// of on the component itself. See:\n\t// https://reactjs.org/docs/context.html#contextdisplayname\n\n\treturn (context.Provider._contextRef = context.Consumer.contextType = context);\n}\n","export const EMPTY_OBJ = {};\nexport const EMPTY_ARR = [];\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;\n","import { diff, unmount, applyRef } from './index';\nimport { createVNode, Fragment } from '../create-element';\nimport { EMPTY_OBJ, EMPTY_ARR } from '../constants';\nimport { getDomSibling } from '../component';\n\n/**\n * Diff the children of a virtual node\n * @param {import('../internal').PreactElement} parentDom The DOM element whose\n * children are being diffed\n * @param {import('../internal').ComponentChildren[]} renderResult\n * @param {import('../internal').VNode} newParentVNode The new virtual\n * node whose children should be diff'ed against oldParentVNode\n * @param {import('../internal').VNode} oldParentVNode The old virtual\n * node whose children should be diff'ed against newParentVNode\n * @param {object} globalContext The current context object - modified by getChildContext\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n */\nexport function diffChildren(\n\tparentDom,\n\trenderResult,\n\tnewParentVNode,\n\toldParentVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet i, j, oldVNode, childVNode, newDom, firstChildDom, refs;\n\n\t// This is a compression of oldParentVNode!=null && oldParentVNode != EMPTY_OBJ && oldParentVNode._children || EMPTY_ARR\n\t// as EMPTY_OBJ._children should be `undefined`.\n\tlet oldChildren = (oldParentVNode && oldParentVNode._children) || EMPTY_ARR;\n\n\tlet oldChildrenLength = oldChildren.length;\n\n\tnewParentVNode._children = [];\n\tfor (i = 0; i < renderResult.length; i++) {\n\t\tchildVNode = renderResult[i];\n\n\t\tif (childVNode == null || typeof childVNode == 'boolean') {\n\t\t\tchildVNode = newParentVNode._children[i] = null;\n\t\t}\n\t\t// If this newVNode is being reused (e.g.
{reuse}{reuse}
) in the same diff,\n\t\t// or we are rendering a component (e.g. setState) copy the oldVNodes so it can have\n\t\t// it's own DOM & etc. pointers\n\t\telse if (\n\t\t\ttypeof childVNode == 'string' ||\n\t\t\ttypeof childVNode == 'number' ||\n\t\t\t// eslint-disable-next-line valid-typeof\n\t\t\ttypeof childVNode == 'bigint'\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tnull,\n\t\t\t\tchildVNode,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tchildVNode\n\t\t\t);\n\t\t} else if (Array.isArray(childVNode)) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tFragment,\n\t\t\t\t{ children: childVNode },\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if (childVNode._depth > 0) {\n\t\t\t// VNode is already in use, clone it. This can happen in the following\n\t\t\t// scenario:\n\t\t\t// const reuse =
\n\t\t\t//
{reuse}{reuse}
\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tchildVNode.type,\n\t\t\t\tchildVNode.props,\n\t\t\t\tchildVNode.key,\n\t\t\t\tnull,\n\t\t\t\tchildVNode._original\n\t\t\t);\n\t\t} else {\n\t\t\tchildVNode = newParentVNode._children[i] = childVNode;\n\t\t}\n\n\t\t// Terser removes the `continue` here and wraps the loop body\n\t\t// in a `if (childVNode) { ... } condition\n\t\tif (childVNode == null) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tchildVNode._parent = newParentVNode;\n\t\tchildVNode._depth = newParentVNode._depth + 1;\n\n\t\t// Check if we find a corresponding element in oldChildren.\n\t\t// If found, delete the array item by setting to `undefined`.\n\t\t// We use `undefined`, as `null` is reserved for empty placeholders\n\t\t// (holes).\n\t\toldVNode = oldChildren[i];\n\n\t\tif (\n\t\t\toldVNode === null ||\n\t\t\t(oldVNode &&\n\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\tchildVNode.type === oldVNode.type)\n\t\t) {\n\t\t\toldChildren[i] = undefined;\n\t\t} else {\n\t\t\t// Either oldVNode === undefined or oldChildrenLength > 0,\n\t\t\t// so after this loop oldVNode == null or oldVNode is a valid value.\n\t\t\tfor (j = 0; j < oldChildrenLength; j++) {\n\t\t\t\toldVNode = oldChildren[j];\n\t\t\t\t// If childVNode is unkeyed, we only match similarly unkeyed nodes, otherwise we match by key.\n\t\t\t\t// We always match by type (in either case).\n\t\t\t\tif (\n\t\t\t\t\toldVNode &&\n\t\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\t\tchildVNode.type === oldVNode.type\n\t\t\t\t) {\n\t\t\t\t\toldChildren[j] = undefined;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\toldVNode = null;\n\t\t\t}\n\t\t}\n\n\t\toldVNode = oldVNode || EMPTY_OBJ;\n\n\t\t// Morph the old element into the new one, but don't append it to the dom yet\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tchildVNode,\n\t\t\toldVNode,\n\t\t\tglobalContext,\n\t\t\tisSvg,\n\t\t\texcessDomChildren,\n\t\t\tcommitQueue,\n\t\t\toldDom,\n\t\t\tisHydrating\n\t\t);\n\n\t\tnewDom = childVNode._dom;\n\n\t\tif ((j = childVNode.ref) && oldVNode.ref != j) {\n\t\t\tif (!refs) refs = [];\n\t\t\tif (oldVNode.ref) refs.push(oldVNode.ref, null, childVNode);\n\t\t\trefs.push(j, childVNode._component || newDom, childVNode);\n\t\t}\n\n\t\tif (newDom != null) {\n\t\t\tif (firstChildDom == null) {\n\t\t\t\tfirstChildDom = newDom;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\ttypeof childVNode.type == 'function' &&\n\t\t\t\tchildVNode._children != null && // Can be null if childVNode suspended\n\t\t\t\tchildVNode._children === oldVNode._children\n\t\t\t) {\n\t\t\t\tchildVNode._nextDom = oldDom = reorderChildren(\n\t\t\t\t\tchildVNode,\n\t\t\t\t\toldDom,\n\t\t\t\t\tparentDom\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\toldDom = placeChild(\n\t\t\t\t\tparentDom,\n\t\t\t\t\tchildVNode,\n\t\t\t\t\toldVNode,\n\t\t\t\t\toldChildren,\n\t\t\t\t\tnewDom,\n\t\t\t\t\toldDom\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Browsers will infer an option's `value` from `textContent` when\n\t\t\t// no value is present. This essentially bypasses our code to set it\n\t\t\t// later in `diff()`. It works fine in all browsers except for IE11\n\t\t\t// where it breaks setting `select.value`. There it will be always set\n\t\t\t// to an empty string. Re-applying an options value will fix that, so\n\t\t\t// there are probably some internal data structures that aren't\n\t\t\t// updated properly.\n\t\t\t//\n\t\t\t// To fix it we make sure to reset the inferred value, so that our own\n\t\t\t// value check in `diff()` won't be skipped.\n\t\t\tif (!isHydrating && newParentVNode.type === 'option') {\n\t\t\t\t// @ts-ignore We have validated that the type of parentDOM is 'option'\n\t\t\t\t// in the above check\n\t\t\t\tparentDom.value = '';\n\t\t\t} else if (typeof newParentVNode.type == 'function') {\n\t\t\t\t// Because the newParentVNode is Fragment-like, we need to set it's\n\t\t\t\t// _nextDom property to the nextSibling of its last child DOM node.\n\t\t\t\t//\n\t\t\t\t// `oldDom` contains the correct value here because if the last child\n\t\t\t\t// is a Fragment-like, then oldDom has already been set to that child's _nextDom.\n\t\t\t\t// If the last child is a DOM VNode, then oldDom will be set to that DOM\n\t\t\t\t// node's nextSibling.\n\t\t\t\tnewParentVNode._nextDom = oldDom;\n\t\t\t}\n\t\t} else if (\n\t\t\toldDom &&\n\t\t\toldVNode._dom == oldDom &&\n\t\t\toldDom.parentNode != parentDom\n\t\t) {\n\t\t\t// The above condition is to handle null placeholders. See test in placeholder.test.js:\n\t\t\t// `efficiently replace null placeholders in parent rerenders`\n\t\t\toldDom = getDomSibling(oldVNode);\n\t\t}\n\t}\n\n\tnewParentVNode._dom = firstChildDom;\n\n\t// Remove remaining oldChildren if there are any.\n\tfor (i = oldChildrenLength; i--; ) {\n\t\tif (oldChildren[i] != null) {\n\t\t\tif (\n\t\t\t\ttypeof newParentVNode.type == 'function' &&\n\t\t\t\toldChildren[i]._dom != null &&\n\t\t\t\toldChildren[i]._dom == newParentVNode._nextDom\n\t\t\t) {\n\t\t\t\t// If the newParentVNode.__nextDom points to a dom node that is about to\n\t\t\t\t// be unmounted, then get the next sibling of that vnode and set\n\t\t\t\t// _nextDom to it\n\t\t\t\tnewParentVNode._nextDom = getDomSibling(oldParentVNode, i + 1);\n\t\t\t}\n\n\t\t\tunmount(oldChildren[i], oldChildren[i]);\n\t\t}\n\t}\n\n\t// Set refs only after unmount\n\tif (refs) {\n\t\tfor (i = 0; i < refs.length; i++) {\n\t\t\tapplyRef(refs[i], refs[++i], refs[++i]);\n\t\t}\n\t}\n}\n\nfunction reorderChildren(childVNode, oldDom, parentDom) {\n\tfor (let tmp = 0; tmp < childVNode._children.length; tmp++) {\n\t\tlet vnode = childVNode._children[tmp];\n\t\tif (vnode) {\n\t\t\t// We typically enter this code path on sCU bailout, where we copy\n\t\t\t// oldVNode._children to newVNode._children. If that is the case, we need\n\t\t\t// to update the old children's _parent pointer to point to the newVNode\n\t\t\t// (childVNode here).\n\t\t\tvnode._parent = childVNode;\n\n\t\t\tif (typeof vnode.type == 'function') {\n\t\t\t\toldDom = reorderChildren(vnode, oldDom, parentDom);\n\t\t\t} else {\n\t\t\t\toldDom = placeChild(\n\t\t\t\t\tparentDom,\n\t\t\t\t\tvnode,\n\t\t\t\t\tvnode,\n\t\t\t\t\tchildVNode._children,\n\t\t\t\t\tvnode._dom,\n\t\t\t\t\toldDom\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn oldDom;\n}\n\n/**\n * Flatten and loop through the children of a virtual node\n * @param {import('../index').ComponentChildren} children The unflattened\n * children of a virtual node\n * @returns {import('../internal').VNode[]}\n */\nexport function toChildArray(children, out) {\n\tout = out || [];\n\tif (children == null || typeof children == 'boolean') {\n\t} else if (Array.isArray(children)) {\n\t\tchildren.some(child => {\n\t\t\ttoChildArray(child, out);\n\t\t});\n\t} else {\n\t\tout.push(children);\n\t}\n\treturn out;\n}\n\nfunction placeChild(\n\tparentDom,\n\tchildVNode,\n\toldVNode,\n\toldChildren,\n\tnewDom,\n\toldDom\n) {\n\tlet nextDom;\n\tif (childVNode._nextDom !== undefined) {\n\t\t// Only Fragments or components that return Fragment like VNodes will\n\t\t// have a non-undefined _nextDom. Continue the diff from the sibling\n\t\t// of last DOM child of this child VNode\n\t\tnextDom = childVNode._nextDom;\n\n\t\t// Eagerly cleanup _nextDom. We don't need to persist the value because\n\t\t// it is only used by `diffChildren` to determine where to resume the diff after\n\t\t// diffing Components and Fragments. Once we store it the nextDOM local var, we\n\t\t// can clean up the property\n\t\tchildVNode._nextDom = undefined;\n\t} else if (\n\t\toldVNode == null ||\n\t\tnewDom != oldDom ||\n\t\tnewDom.parentNode == null\n\t) {\n\t\touter: if (oldDom == null || oldDom.parentNode !== parentDom) {\n\t\t\tparentDom.appendChild(newDom);\n\t\t\tnextDom = null;\n\t\t} else {\n\t\t\t// `j href (xlink:href was removed from SVG and isn't needed)\n\t\t\t// - className --> class\n\t\t\tname = name.replace(/xlink[H:h]/, 'h').replace(/sName$/, 's');\n\t\t} else if (\n\t\t\tname !== 'href' &&\n\t\t\tname !== 'list' &&\n\t\t\tname !== 'form' &&\n\t\t\t// Default value in browsers is `-1` and an empty string is\n\t\t\t// cast to `0` instead\n\t\t\tname !== 'tabIndex' &&\n\t\t\tname !== 'download' &&\n\t\t\tname in dom\n\t\t) {\n\t\t\ttry {\n\t\t\t\tdom[name] = value == null ? '' : value;\n\t\t\t\t// labelled break is 1b smaller here than a return statement (sorry)\n\t\t\t\tbreak o;\n\t\t\t} catch (e) {}\n\t\t}\n\n\t\t// ARIA-attributes have a different notion of boolean values.\n\t\t// The value `false` is different from the attribute not\n\t\t// existing on the DOM, so we can't remove it. For non-boolean\n\t\t// ARIA-attributes we could treat false as a removal, but the\n\t\t// amount of exceptions would cost us too many bytes. On top of\n\t\t// that other VDOM frameworks also always stringify `false`.\n\n\t\tif (typeof value === 'function') {\n\t\t\t// never serialize functions as attribute values\n\t\t} else if (\n\t\t\tvalue != null &&\n\t\t\t(value !== false || (name[0] === 'a' && name[1] === 'r'))\n\t\t) {\n\t\t\tdom.setAttribute(name, value);\n\t\t} else {\n\t\t\tdom.removeAttribute(name);\n\t\t}\n\t}\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {Event} e The event object from the browser\n * @private\n */\nfunction eventProxy(e) {\n\tthis._listeners[e.type + false](options.event ? options.event(e) : e);\n}\n\nfunction eventProxyCapture(e) {\n\tthis._listeners[e.type + true](options.event ? options.event(e) : e);\n}\n","import { EMPTY_OBJ } from '../constants';\nimport { Component, getDomSibling } from '../component';\nimport { Fragment } from '../create-element';\nimport { diffChildren } from './children';\nimport { diffProps, setProperty } from './props';\nimport { assign, removeNode, slice } from '../util';\nimport options from '../options';\n\n/**\n * Diff two virtual nodes and apply proper changes to the DOM\n * @param {import('../internal').PreactElement} parentDom The parent of the DOM element\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object. Modified by getChildContext\n * @param {boolean} isSvg Whether or not this element is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} [isHydrating] Whether or not we are in hydration\n */\nexport function diff(\n\tparentDom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet tmp,\n\t\tnewType = newVNode.type;\n\n\t// When passing through createElement it assigns the object\n\t// constructor as undefined. This to prevent JSON-injection.\n\tif (newVNode.constructor !== undefined) return null;\n\n\t// If the previous diff bailed out, resume creating/hydrating.\n\tif (oldVNode._hydrating != null) {\n\t\tisHydrating = oldVNode._hydrating;\n\t\toldDom = newVNode._dom = oldVNode._dom;\n\t\t// if we resume, we want the tree to be \"unlocked\"\n\t\tnewVNode._hydrating = null;\n\t\texcessDomChildren = [oldDom];\n\t}\n\n\tif ((tmp = options._diff)) tmp(newVNode);\n\n\ttry {\n\t\touter: if (typeof newType == 'function') {\n\t\t\tlet c, isNew, oldProps, oldState, snapshot, clearProcessingException;\n\t\t\tlet newProps = newVNode.props;\n\n\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t// the context value as `this.context` just for this component.\n\t\t\ttmp = newType.contextType;\n\t\t\tlet provider = tmp && globalContext[tmp._id];\n\t\t\tlet componentContext = tmp\n\t\t\t\t? provider\n\t\t\t\t\t? provider.props.value\n\t\t\t\t\t: tmp._defaultValue\n\t\t\t\t: globalContext;\n\n\t\t\t// Get component and set it to `c`\n\t\t\tif (oldVNode._component) {\n\t\t\t\tc = newVNode._component = oldVNode._component;\n\t\t\t\tclearProcessingException = c._processingException = c._pendingError;\n\t\t\t} else {\n\t\t\t\t// Instantiate the new component\n\t\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\t\t// @ts-ignore The check above verifies that newType is suppose to be constructed\n\t\t\t\t\tnewVNode._component = c = new newType(newProps, componentContext); // eslint-disable-line new-cap\n\t\t\t\t} else {\n\t\t\t\t\t// @ts-ignore Trust me, Component implements the interface we want\n\t\t\t\t\tnewVNode._component = c = new Component(newProps, componentContext);\n\t\t\t\t\tc.constructor = newType;\n\t\t\t\t\tc.render = doRender;\n\t\t\t\t}\n\t\t\t\tif (provider) provider.sub(c);\n\n\t\t\t\tc.props = newProps;\n\t\t\t\tif (!c.state) c.state = {};\n\t\t\t\tc.context = componentContext;\n\t\t\t\tc._globalContext = globalContext;\n\t\t\t\tisNew = c._dirty = true;\n\t\t\t\tc._renderCallbacks = [];\n\t\t\t}\n\n\t\t\t// Invoke getDerivedStateFromProps\n\t\t\tif (c._nextState == null) {\n\t\t\t\tc._nextState = c.state;\n\t\t\t}\n\t\t\tif (newType.getDerivedStateFromProps != null) {\n\t\t\t\tif (c._nextState == c.state) {\n\t\t\t\t\tc._nextState = assign({}, c._nextState);\n\t\t\t\t}\n\n\t\t\t\tassign(\n\t\t\t\t\tc._nextState,\n\t\t\t\t\tnewType.getDerivedStateFromProps(newProps, c._nextState)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\toldProps = c.props;\n\t\t\toldState = c.state;\n\n\t\t\t// Invoke pre-render lifecycle methods\n\t\t\tif (isNew) {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tc.componentWillMount != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillMount();\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidMount != null) {\n\t\t\t\t\tc._renderCallbacks.push(c.componentDidMount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tnewProps !== oldProps &&\n\t\t\t\t\tc.componentWillReceiveProps != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillReceiveProps(newProps, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(!c._force &&\n\t\t\t\t\t\tc.shouldComponentUpdate != null &&\n\t\t\t\t\t\tc.shouldComponentUpdate(\n\t\t\t\t\t\t\tnewProps,\n\t\t\t\t\t\t\tc._nextState,\n\t\t\t\t\t\t\tcomponentContext\n\t\t\t\t\t\t) === false) ||\n\t\t\t\t\tnewVNode._original === oldVNode._original\n\t\t\t\t) {\n\t\t\t\t\tc.props = newProps;\n\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t\t// More info about this here: https://gist.github.com/JoviDeCroock/bec5f2ce93544d2e6070ef8e0036e4e8\n\t\t\t\t\tif (newVNode._original !== oldVNode._original) c._dirty = false;\n\t\t\t\t\tc._vnode = newVNode;\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t\tnewVNode._children.forEach(vnode => {\n\t\t\t\t\t\tif (vnode) vnode._parent = newVNode;\n\t\t\t\t\t});\n\t\t\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\t\t\tcommitQueue.push(c);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\n\t\t\t\tif (c.componentWillUpdate != null) {\n\t\t\t\t\tc.componentWillUpdate(newProps, c._nextState, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidUpdate != null) {\n\t\t\t\t\tc._renderCallbacks.push(() => {\n\t\t\t\t\t\tc.componentDidUpdate(oldProps, oldState, snapshot);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tc.context = componentContext;\n\t\t\tc.props = newProps;\n\t\t\tc.state = c._nextState;\n\n\t\t\tif ((tmp = options._render)) tmp(newVNode);\n\n\t\t\tc._dirty = false;\n\t\t\tc._vnode = newVNode;\n\t\t\tc._parentDom = parentDom;\n\n\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t// Handle setState called in render, see #2553\n\t\t\tc.state = c._nextState;\n\n\t\t\tif (c.getChildContext != null) {\n\t\t\t\tglobalContext = assign(assign({}, globalContext), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (!isNew && c.getSnapshotBeforeUpdate != null) {\n\t\t\t\tsnapshot = c.getSnapshotBeforeUpdate(oldProps, oldState);\n\t\t\t}\n\n\t\t\tlet isTopLevelFragment =\n\t\t\t\ttmp != null && tmp.type === Fragment && tmp.key == null;\n\t\t\tlet renderResult = isTopLevelFragment ? tmp.props.children : tmp;\n\n\t\t\tdiffChildren(\n\t\t\t\tparentDom,\n\t\t\t\tArray.isArray(renderResult) ? renderResult : [renderResult],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\toldDom,\n\t\t\t\tisHydrating\n\t\t\t);\n\n\t\t\tc.base = newVNode._dom;\n\n\t\t\t// We successfully rendered this VNode, unset any stored hydration/bailout state:\n\t\t\tnewVNode._hydrating = null;\n\n\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\tcommitQueue.push(c);\n\t\t\t}\n\n\t\t\tif (clearProcessingException) {\n\t\t\t\tc._pendingError = c._processingException = null;\n\t\t\t}\n\n\t\t\tc._force = false;\n\t\t} else if (\n\t\t\texcessDomChildren == null &&\n\t\t\tnewVNode._original === oldVNode._original\n\t\t) {\n\t\t\tnewVNode._children = oldVNode._children;\n\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t} else {\n\t\t\tnewVNode._dom = diffElementNodes(\n\t\t\t\toldVNode._dom,\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\tisHydrating\n\t\t\t);\n\t\t}\n\n\t\tif ((tmp = options.diffed)) tmp(newVNode);\n\t} catch (e) {\n\t\tnewVNode._original = null;\n\t\t// if hydrating or creating initial tree, bailout preserves DOM:\n\t\tif (isHydrating || excessDomChildren != null) {\n\t\t\tnewVNode._dom = oldDom;\n\t\t\tnewVNode._hydrating = !!isHydrating;\n\t\t\texcessDomChildren[excessDomChildren.indexOf(oldDom)] = null;\n\t\t\t// ^ could possibly be simplified to:\n\t\t\t// excessDomChildren.length = 0;\n\t\t}\n\t\toptions._catchError(e, newVNode, oldVNode);\n\t}\n}\n\n/**\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').VNode} root\n */\nexport function commitRoot(commitQueue, root) {\n\tif (options._commit) options._commit(root, commitQueue);\n\n\tcommitQueue.some(c => {\n\t\ttry {\n\t\t\t// @ts-ignore Reuse the commitQueue variable here so the type changes\n\t\t\tcommitQueue = c._renderCallbacks;\n\t\t\tc._renderCallbacks = [];\n\t\t\tcommitQueue.some(cb => {\n\t\t\t\t// @ts-ignore See above ts-ignore on commitQueue\n\t\t\t\tcb.call(c);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t});\n}\n\n/**\n * Diff two virtual nodes representing DOM element\n * @param {import('../internal').PreactElement} dom The DOM element representing\n * the virtual nodes being diffed\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {*} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @returns {import('../internal').PreactElement}\n */\nfunction diffElementNodes(\n\tdom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\tisHydrating\n) {\n\tlet oldProps = oldVNode.props;\n\tlet newProps = newVNode.props;\n\tlet nodeType = newVNode.type;\n\tlet i = 0;\n\n\t// Tracks entering and exiting SVG namespace when descending through the tree.\n\tif (nodeType === 'svg') isSvg = true;\n\n\tif (excessDomChildren != null) {\n\t\tfor (; i < excessDomChildren.length; i++) {\n\t\t\tconst child = excessDomChildren[i];\n\n\t\t\t// if newVNode matches an element in excessDomChildren or the `dom`\n\t\t\t// argument matches an element in excessDomChildren, remove it from\n\t\t\t// excessDomChildren so it isn't later removed in diffChildren\n\t\t\tif (\n\t\t\t\tchild &&\n\t\t\t\t(child === dom ||\n\t\t\t\t\t(nodeType ? child.localName == nodeType : child.nodeType == 3))\n\t\t\t) {\n\t\t\t\tdom = child;\n\t\t\t\texcessDomChildren[i] = null;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (dom == null) {\n\t\tif (nodeType === null) {\n\t\t\t// @ts-ignore createTextNode returns Text, we expect PreactElement\n\t\t\treturn document.createTextNode(newProps);\n\t\t}\n\n\t\tif (isSvg) {\n\t\t\tdom = document.createElementNS(\n\t\t\t\t'http://www.w3.org/2000/svg',\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\n\t\t\t\tnodeType\n\t\t\t);\n\t\t} else {\n\t\t\tdom = document.createElement(\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\n\t\t\t\tnodeType,\n\t\t\t\tnewProps.is && newProps\n\t\t\t);\n\t\t}\n\n\t\t// we created a new parent, so none of the previously attached children can be reused:\n\t\texcessDomChildren = null;\n\t\t// we are creating a new node, so we can assume this is a new subtree (in case we are hydrating), this deopts the hydrate\n\t\tisHydrating = false;\n\t}\n\n\tif (nodeType === null) {\n\t\t// During hydration, we still have to split merged text from SSR'd HTML.\n\t\tif (oldProps !== newProps && (!isHydrating || dom.data !== newProps)) {\n\t\t\tdom.data = newProps;\n\t\t}\n\t} else {\n\t\t// If excessDomChildren was not null, repopulate it with the current element's children:\n\t\texcessDomChildren = excessDomChildren && slice.call(dom.childNodes);\n\n\t\toldProps = oldVNode.props || EMPTY_OBJ;\n\n\t\tlet oldHtml = oldProps.dangerouslySetInnerHTML;\n\t\tlet newHtml = newProps.dangerouslySetInnerHTML;\n\n\t\t// During hydration, props are not diffed at all (including dangerouslySetInnerHTML)\n\t\t// @TODO we should warn in debug mode when props don't match here.\n\t\tif (!isHydrating) {\n\t\t\t// But, if we are in a situation where we are using existing DOM (e.g. replaceNode)\n\t\t\t// we should read the existing DOM attributes to diff them\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\toldProps = {};\n\t\t\t\tfor (i = 0; i < dom.attributes.length; i++) {\n\t\t\t\t\toldProps[dom.attributes[i].name] = dom.attributes[i].value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (newHtml || oldHtml) {\n\t\t\t\t// Avoid re-applying the same '__html' if it did not changed between re-render\n\t\t\t\tif (\n\t\t\t\t\t!newHtml ||\n\t\t\t\t\t((!oldHtml || newHtml.__html != oldHtml.__html) &&\n\t\t\t\t\t\tnewHtml.__html !== dom.innerHTML)\n\t\t\t\t) {\n\t\t\t\t\tdom.innerHTML = (newHtml && newHtml.__html) || '';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdiffProps(dom, newProps, oldProps, isSvg, isHydrating);\n\n\t\t// If the new vnode didn't have dangerouslySetInnerHTML, diff its children\n\t\tif (newHtml) {\n\t\t\tnewVNode._children = [];\n\t\t} else {\n\t\t\ti = newVNode.props.children;\n\t\t\tdiffChildren(\n\t\t\t\tdom,\n\t\t\t\tArray.isArray(i) ? i : [i],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg && nodeType !== 'foreignObject',\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\texcessDomChildren\n\t\t\t\t\t? excessDomChildren[0]\n\t\t\t\t\t: oldVNode._children && getDomSibling(oldVNode, 0),\n\t\t\t\tisHydrating\n\t\t\t);\n\n\t\t\t// Remove children that are not part of any vnode.\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\tfor (i = excessDomChildren.length; i--; ) {\n\t\t\t\t\tif (excessDomChildren[i] != null) removeNode(excessDomChildren[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// (as above, don't diff props during hydration)\n\t\tif (!isHydrating) {\n\t\t\tif (\n\t\t\t\t'value' in newProps &&\n\t\t\t\t(i = newProps.value) !== undefined &&\n\t\t\t\t// #2756 For the -element the initial value is 0,\n\t\t\t\t// despite the attribute not being present. When the attribute\n\t\t\t\t// is missing the progress bar is treated as indeterminate.\n\t\t\t\t// To fix that we'll always update it when it is 0 for progress elements\n\t\t\t\t(i !== dom.value || (nodeType === 'progress' && !i))\n\t\t\t) {\n\t\t\t\tsetProperty(dom, 'value', i, oldProps.value, false);\n\t\t\t}\n\t\t\tif (\n\t\t\t\t'checked' in newProps &&\n\t\t\t\t(i = newProps.checked) !== undefined &&\n\t\t\t\ti !== dom.checked\n\t\t\t) {\n\t\t\t\tsetProperty(dom, 'checked', i, oldProps.checked, false);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn dom;\n}\n\n/**\n * Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} ref\n * @param {any} value\n * @param {import('../internal').VNode} vnode\n */\nexport function applyRef(ref, value, vnode) {\n\ttry {\n\t\tif (typeof ref == 'function') ref(value);\n\t\telse ref.current = value;\n\t} catch (e) {\n\t\toptions._catchError(e, vnode);\n\t}\n}\n\n/**\n * Unmount a virtual node from the tree and apply DOM changes\n * @param {import('../internal').VNode} vnode The virtual node to unmount\n * @param {import('../internal').VNode} parentVNode The parent of the VNode that\n * initiated the unmount\n * @param {boolean} [skipRemove] Flag that indicates that a parent node of the\n * current element is already detached from the DOM.\n */\nexport function unmount(vnode, parentVNode, skipRemove) {\n\tlet r;\n\tif (options.unmount) options.unmount(vnode);\n\n\tif ((r = vnode.ref)) {\n\t\tif (!r.current || r.current === vnode._dom) applyRef(r, null, parentVNode);\n\t}\n\n\tif ((r = vnode._component) != null) {\n\t\tif (r.componentWillUnmount) {\n\t\t\ttry {\n\t\t\t\tr.componentWillUnmount();\n\t\t\t} catch (e) {\n\t\t\t\toptions._catchError(e, parentVNode);\n\t\t\t}\n\t\t}\n\n\t\tr.base = r._parentDom = null;\n\t}\n\n\tif ((r = vnode._children)) {\n\t\tfor (let i = 0; i < r.length; i++) {\n\t\t\tif (r[i]) {\n\t\t\t\tunmount(r[i], parentVNode, typeof vnode.type != 'function');\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!skipRemove && vnode._dom != null) removeNode(vnode._dom);\n\n\t// Must be set to `undefined` to properly clean up `_nextDom`\n\t// for which `null` is a valid value. See comment in `create-element.js`\n\tvnode._dom = vnode._nextDom = undefined;\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, state, context) {\n\treturn this.constructor(props, context);\n}\n","import { EMPTY_OBJ } from './constants';\nimport { commitRoot, diff } from './diff/index';\nimport { createElement, Fragment } from './create-element';\nimport options from './options';\nimport { slice } from './util';\n\n/**\n * Render a Preact virtual node into a DOM element\n * @param {import('./internal').ComponentChild} vnode The virtual node to render\n * @param {import('./internal').PreactElement} parentDom The DOM element to\n * render into\n * @param {import('./internal').PreactElement | object} [replaceNode] Optional: Attempt to re-use an\n * existing DOM tree rooted at `replaceNode`\n */\nexport function render(vnode, parentDom, replaceNode) {\n\tif (options._root) options._root(vnode, parentDom);\n\n\t// We abuse the `replaceNode` parameter in `hydrate()` to signal if we are in\n\t// hydration mode or not by passing the `hydrate` function instead of a DOM\n\t// element..\n\tlet isHydrating = typeof replaceNode === 'function';\n\n\t// To be able to support calling `render()` multiple times on the same\n\t// DOM node, we need to obtain a reference to the previous tree. We do\n\t// this by assigning a new `_children` property to DOM nodes which points\n\t// to the last rendered tree. By default this property is not present, which\n\t// means that we are mounting a new tree for the first time.\n\tlet oldVNode = isHydrating\n\t\t? null\n\t\t: (replaceNode && replaceNode._children) || parentDom._children;\n\n\tvnode = (\n\t\t(!isHydrating && replaceNode) ||\n\t\tparentDom\n\t)._children = createElement(Fragment, null, [vnode]);\n\n\t// List of effects that need to be called after diffing.\n\tlet commitQueue = [];\n\tdiff(\n\t\tparentDom,\n\t\t// Determine the new vnode tree and store it on the DOM element on\n\t\t// our custom `_children` property.\n\t\tvnode,\n\t\toldVNode || EMPTY_OBJ,\n\t\tEMPTY_OBJ,\n\t\tparentDom.ownerSVGElement !== undefined,\n\t\t!isHydrating && replaceNode\n\t\t\t? [replaceNode]\n\t\t\t: oldVNode\n\t\t\t? null\n\t\t\t: parentDom.firstChild\n\t\t\t? slice.call(parentDom.childNodes)\n\t\t\t: null,\n\t\tcommitQueue,\n\t\t!isHydrating && replaceNode\n\t\t\t? replaceNode\n\t\t\t: oldVNode\n\t\t\t? oldVNode._dom\n\t\t\t: parentDom.firstChild,\n\t\tisHydrating\n\t);\n\n\t// Flush all queued effects\n\tcommitRoot(commitQueue, vnode);\n}\n\n/**\n * Update an existing DOM element with data from a Preact virtual node\n * @param {import('./internal').ComponentChild} vnode The virtual node to render\n * @param {import('./internal').PreactElement} parentDom The DOM element to\n * update\n */\nexport function hydrate(vnode, parentDom) {\n\trender(vnode, parentDom, hydrate);\n}\n","/**\n * Find the closest error boundary to a thrown error and call it\n * @param {object} error The thrown value\n * @param {import('../internal').VNode} vnode The vnode that threw\n * the error that was caught (except for unmounting when this parameter\n * is the highest parent that was being unmounted)\n */\nexport function _catchError(error, vnode) {\n\t/** @type {import('../internal').Component} */\n\tlet component, ctor, handled;\n\n\tfor (; (vnode = vnode._parent); ) {\n\t\tif ((component = vnode._component) && !component._processingException) {\n\t\t\ttry {\n\t\t\t\tctor = component.constructor;\n\n\t\t\t\tif (ctor && ctor.getDerivedStateFromError != null) {\n\t\t\t\t\tcomponent.setState(ctor.getDerivedStateFromError(error));\n\t\t\t\t\thandled = component._dirty;\n\t\t\t\t}\n\n\t\t\t\tif (component.componentDidCatch != null) {\n\t\t\t\t\tcomponent.componentDidCatch(error);\n\t\t\t\t\thandled = component._dirty;\n\t\t\t\t}\n\n\t\t\t\t// This is an error boundary. Mark it as having bailed out, and whether it was mid-hydration.\n\t\t\t\tif (handled) {\n\t\t\t\t\treturn (component._pendingError = component);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\terror = e;\n\t\t\t}\n\t\t}\n\t}\n\n\tthrow error;\n}\n","import { assign, slice } from './util';\nimport { createVNode } from './create-element';\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {import('./internal').VNode} vnode The virtual DOM element to clone\n * @param {object} props Attributes/props to add when cloning\n * @param {Array} rest Any additional arguments will be used as replacement children.\n * @returns {import('./internal').VNode}\n */\nexport function cloneElement(vnode, props, children) {\n\tlet normalizedProps = assign({}, vnode.props),\n\t\tkey,\n\t\tref,\n\t\ti;\n\tfor (i in props) {\n\t\tif (i == 'key') key = props[i];\n\t\telse if (i == 'ref') ref = props[i];\n\t\telse normalizedProps[i] = props[i];\n\t}\n\n\tif (arguments.length > 2) {\n\t\tnormalizedProps.children =\n\t\t\targuments.length > 3 ? slice.call(arguments, 2) : children;\n\t}\n\n\treturn createVNode(\n\t\tvnode.type,\n\t\tnormalizedProps,\n\t\tkey || vnode.key,\n\t\tref || vnode.ref,\n\t\tnull\n\t);\n}\n","import * as preact from './index.js';\nif (typeof module < 'u') module.exports = preact;\nelse self.preact = preact;\n"],"names":["slice","options","vnodeId","isValidElement","rerenderQueue","defer","prevDebounce","i","EMPTY_OBJ","EMPTY_ARR","IS_NON_DIMENSIONAL","assign","obj","props","removeNode","node","parentNode","removeChild","createElement","type","children","key","ref","normalizedProps","arguments","length","call","defaultProps","undefined","createVNode","original","vnode","constructor","Fragment","Component","context","getDomSibling","childIndex","indexOf","sibling","updateParentDomPointers","child","base","enqueueRender","c","push","process","debounceRendering","queue","sort","a","b","some","component","commitQueue","oldVNode","oldDom","parentDom","diff","ownerSVGElement","commitRoot","diffChildren","renderResult","newParentVNode","oldParentVNode","globalContext","isSvg","excessDomChildren","isHydrating","j","childVNode","newDom","firstChildDom","refs","oldChildren","oldChildrenLength","Array","isArray","reorderChildren","placeChild","value","unmount","applyRef","tmp","nextDom","sibDom","outer","appendChild","nextSibling","insertBefore","diffProps","dom","newProps","oldProps","hydrate","setProperty","setStyle","style","test","name","oldValue","useCapture","o","cssText","replace","toLowerCase","_listeners","addEventListener","eventProxyCapture","eventProxy","removeEventListener","e","setAttribute","removeAttribute","event","newVNode","isNew","oldState","snapshot","clearProcessingException","provider","componentContext","newType","contextType","prototype","render","doRender","sub","state","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","diffElementNodes","diffed","root","cb","oldHtml","newHtml","nodeType","localName","document","createTextNode","createElementNS","is","data","childNodes","dangerouslySetInnerHTML","attributes","innerHTML","checked","current","parentVNode","skipRemove","r","componentWillUnmount","this","replaceNode","firstChild","error","ctor","handled","getDerivedStateFromError","setState","componentDidCatch","update","callback","s","forceUpdate","Promise","then","bind","resolve","setTimeout","defaultValue","contextId","Consumer","contextValue","Provider","subs","ctx","_props","old","splice","toChildArray","out","module","exports","preact","self"],"mappings":"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"} \ No newline at end of file diff --git a/assets/js/solight/sol.js b/assets/js/solight/sol.js new file mode 100644 index 0000000..a762615 --- /dev/null +++ b/assets/js/solight/sol.js @@ -0,0 +1,1089 @@ +'use strict'; + +// Use luxon for date and time handling +import * as luxon from "../luxon/luxon.es6.js"; + +// --------------------------------------------------------- +// Helpers + +// :: A -> Option[A] +let optional = (x) => x === null ? undefined : x; + +// :: A -> Bool +let defined = (x) => x !== undefined; + +// :: Option[A] -> (()->B) -> Option[B] +let withDefined = (x, f) => defined(x) ? f() : undefined; + +//-:: Option[A] -> (A->B) -> Option[B] +let ifDefined = (x, f) => defined(x) ? f(x) : undefined; + +// Note: use only for primitive values ("primary keys") +// :: List[A] -> List[A] +let distinct = (xs) => Array.from(new Set(xs)); + +// :: List[A] -> List[A] -> List[A] +let intersection = (xs, ys) => xs.filter(v => ys.includes(v)); + +//-:: String -> String -> Int +let stringCompare = (s1, s2) => { + if (s1 < s2) { return -1; }; + if (s1 > s2) { return 1; }; + return 0; +}; + + +// --------------------------------------------------------- +// Transform Json into proper Arrays and Maps + +//-:: EventAnswerJson -> EventAnswer +let processEventAnswer = (answerJ) => { + let m = new Map(); + m.set('question', answerJ.question); + m.set('answer', answerJ.answer); + return m; +}; + +//-:: AttachmentJson -> Attachment +let processAttachment = (attachmentJ) => undefined; + +//-:: LinkJson -> Link +let processLink = (linkJ) => undefined; + +//-:: PersonAnswerJson -> PersonAnswer +let processPersonAnswer = (answerJ) => undefined; + +//-:: PersonJson -> Person +let processPerson = (personJ) => { + let m = new Map(); + m.set('id', personJ.id); + m.set('code', personJ.code); + // Renamed field: + m.set('name', personJ.public_name); + m.set('biography', optional(personJ.biography)); + m.set('answers', personJ.answers.map(aj => processPersonAnswer(aj))); + return m; +}; + +//-:: EventJson -> DayIndex -> Event +let processEvent = (eventJ, dayIndex) => { + let start_date = luxon.DateTime.fromISO(eventJ.date); + let duration = luxon.Duration.fromISOTime(eventJ.duration); + let end_date = start_date.plus(duration); + + let m = new Map(); + m.set('id', eventJ.id); + m.set('guid', eventJ.guid); + m.set('logo', eventJ.logo); + // Same as processed start date + //m.set('date', + // luxon.DateTime.fromISO(eventJ.date)); + m.set('start_date', start_date); + // Synthetic field: + m.set('end_date', end_date); + m.set('duration', duration); + // Synthetic field: + m.set('day_index', dayIndex); + m.set('room', eventJ.room); + m.set('slug', eventJ.slug); + m.set('url', eventJ.url); + // m.set('title', eventJ.title || ""); + m.set('title', withDefined(eventJ.title, () => eventJ.title)); + m.set('subtitle', withDefined(eventJ.subtitle, () => eventJ.subtitle)); + m.set('track', eventJ.track); + m.set('type', eventJ.type); + m.set('language', eventJ.language); + // TODO: Rethink empty strings + m.set('abstract', eventJ.abstract || ""); + m.set('description', eventJ.description || ""); + m.set('recording_license', eventJ.recording_license); + m.set('do_not_record', eventJ.do_not_record); + m.set('persons', eventJ.persons.map(pj => processPerson(pj))); + m.set('links', eventJ.links.map(lj => processLink(lj))); + m.set('attachments', eventJ.attachments.map(aj => processAttachment(aj))); + m.set('answers', withDefined(eventJ.answers, + () => eventJ.answers.map(aj => processEventAnswer(aj)))); + return m; +}; + +//-:: RoomJson -> DayIndex -> Map[RoomName, List[Event]] +let processRooms = (roomJ, dayIndex) => { + let m = new Map( + Object.entries(roomJ).map( + item => [item[0], item[1].map(e => processEvent(e, dayIndex))] + ) + ); + return m; +}; + +//-:: DayJson -> Day +let processDay = (dayJ) => { + let main_date = luxon.DateTime.fromISO(dayJ.date); + let start_date = luxon.DateTime.fromISO(dayJ.day_start); + let end_date = luxon.DateTime.fromISO(dayJ.day_end); + let duration = end_date.diff(start_date); + + let m = new Map(); + m.set('index', dayJ.index); + m.set('date', main_date); + m.set('start_date', start_date); + m.set('end_date', end_date); + // Synthetic field: + m.set('duration', duration); + // Note: Pass day index down to rooms and finally events + m.set('rooms', processRooms(dayJ.rooms, dayJ.index)); + return m; +}; + +//-:: RoomDefinitionJson -> Room +let processRoomDefinition = (roomJ) => { + let m = new Map(); + m.set('name', roomJ.name); + m.set('guid', optional(roomJ.guid)); + m.set('description', optional(roomJ.description)); + m.set('capacity', optional(roomJ.capacity)); + return m; +}; + +//-:: ConferenceJson -> Conference +let processConference = (conferenceJ) => { + let start_date = luxon.DateTime.fromISO(conferenceJ.start); + let end_date = luxon.DateTime.fromISO(conferenceJ.end); + let duration = end_date.diff(start_date); + + let m = new Map(); + m.set('acronym', conferenceJ.acronym); + m.set('title', conferenceJ.title); + m.set('start_date', start_date); + m.set('end_date', end_date); + // Synthetic field: + m.set('duration', duration); + m.set('days_count', conferenceJ.daysCount); + m.set('timeslot_duration', + luxon.Duration.fromISOTime(conferenceJ.timeslot_duration)); + // TODO: + //m.set('time_zone_name', + // luxon.IANAZone.create(conferenceJ.time_zone_name)); + m.set('rooms', conferenceJ.rooms.map(rj => processRoomDefinition(rj))); + m.set('days', conferenceJ.days.map(dj => processDay(dj))); + return m; +}; + +//-:: ScheduleJson -> Schedule +let processSchedule = (scheduleJ) => { + let m = new Map(); + m.set('version', scheduleJ.version); + m.set('base_url', scheduleJ.base_url); + m.set('conference', processConference(scheduleJ.conference)); + return m; +}; + +// :: ScheduleFile -> ScheduleJson +let processScheduleFile = (scheduleFile) => + processSchedule(scheduleFile.schedule); + //processSchedule(JSON.parse(scheduleFile).schedule); + + +// --------------------------------------------------------- +// Properties and Accessors ('Data Types') + +// :: Schedule -> String +let scheduleVersion = (schedule) => schedule.get('version'); + +// :: Schedule -> String +let scheduleBaseUrl = (schedule) => schedule.get('base_url'); + + +// :: Conference -> String +let conferenceAcronym = (conference) => conference.get('acronym'); + +// :: Conference -> String +let conferenceTitle = (conference) => conference.get('title'); + +// :: Conference -> luxon.DateTime +let conferenceStartDate = (conference) => conference.get('start_date'); + +// :: Conference -> luxon.DateTime +let conferenceEndDate = (conference) => conference.get('end_date'); + +// :: Conference -> luxon.Duration +let conferenceDuration = (conference) => conference.get('duration'); + +// :: Conference -> Int +let conferenceDaysCount = (conference) => conference.get('days_count'); + +// :: Conference -> luxon.Duration +let conferenceTimeslotDuration = (conference) => conference.get('timeslot_duration'); + +// :: Conference -> luxon.IANATimeZone +let conferenceTimezoneName = (conference) => conference.get('time_zone_name'); + + +// :: Day -> DayIndex +let dayIndex = (day) => day.get('index'); + +// :: Day -> luxon.DateTime +let dayDate = (day) => day.get('date'); + +// :: Day -> luxon.DateTime +let dayStartDate = (day) => day.get('start_date'); + +// :: Day -> luxon.DateTime +let dayEndDate = (day) => day.get('end_date'); + +// :: Day -> luxon.Duration +let dayDuration = (day) => day.get('duration'); + + +// :: Room -> String +let roomName = (room) => room.get('name'); + +// :: Room -> String +let roomGuid = (room) => room.get('guid'); +let roomId = (room) => room.get('guid'); + +// :: Room -> String +let roomDescription = (room) => room.get('description'); + +// :: Room -> Int +let roomCapacity = (room) => room.get('capacity'); + + +// :: Event -> Int +let eventId = (event) => event.get('id'); + +// :: Event -> String +let eventGuid = (event) => event.get('guid'); + +// :: Event -> String +let eventLogo = (event) => event.get('logo'); + +// :: Event -> luxon.DateTime +let eventStartDate = (event) => event.get('start_date'); + +// :: Event -> luxon.DateTime +let eventEndDate = (event) => event.get('end_date'); + +// :: Event -> luxon.Duration +let eventDuration = (event) => event.get('duration'); + +// :: Event -> Int +let eventDayIndex = (event) => event.get('day_index'); + +// :: Event -> RoomName +let eventRoomName = (event) => event.get('room'); + +// :: Event -> String +let eventSlug = (event) => event.get('slug'); + +// :: Event -> String +let eventUrl = (event) => event.get('url'); + +// :: Event -> String +let eventTitle = (event) => event.get('title'); + +// :: Event -> String +let eventSubtitle = (event) => event.get('subtitle'); + +// :: Event -> TrackName +let eventTrack = (event) => event.get('track'); + +// :: Event -> EventType +let eventType = (event) => event.get('type'); + +// :: Event -> Language +let eventLanguage = (event) => event.get('language'); + +// :: Event -> String +let eventAbstract = (event) => event.get('abstract'); + +// :: Event -> String +let eventDescription = (event) => event.get('description'); + +// :: Event -> String +let eventRecordingLicense = (event) => event.get('recording_license'); + +// :: Event -> Bool +let eventDoNotRecord = (event) => event.get('do_not_record'); + +// :: Event -> List[Person] +let eventPersons = (event) => event.get('persons'); + +// :: Event -> Int +let eventPersonCount = (event) => eventPersons(event).length; + +// :: Event -> List[AnswerMap] +let eventAnswers = (event) => event.get('answers'); + + +// :: Person -> Int +let personId = (person) => person.get('id'); + +// :: Person -> String +let personCode = (person) => person.get('code'); + +// :: Person -> String +let personName = (person) => person.get('name'); + +// :: Person -> String +let personBiography = (person) => person.get('biography'); + + +// --------------------------------------------------------- +// Filters, Maps and other Pieces of Lisp + +// TODO: Use own stable IDs + +// :: List[Event] -> DayIndex -> List[Event] +let eventsByDayIndex = (events, dIndex) => + events.filter(e => eventDayIndex(e) === dIndex); + +// :: List[Event] -> Day -> List[Event] +let eventsByDay = (events, day) => + events.filter(e => eventDayIndex(e) === dayIndex(day)); + + +// :: List[Event] -> RoomName -> List[Event] +let eventsByRoomName = (events, rName) => + events.filter(e => eventRoomName(e) === rName); + +// :: List[Event] -> Room -> List[Event] +let eventsByRoom = (events, room) => + eventsByRoomName(events, roomName(room)); + + +// :: List[Event] -> PersonId -> List[Event] +let eventsByPersonId = (events, pId) => + events.filter(e => eventPersons(e).some(p => personId(p) === pId)); + +// :: List[Event] -> PersonName -> List[Event] +let eventsByPersonName = (events, pName) => + events.filter(e => eventPersons(e).some(p => personName(p) === pName)); + +// :: List[Event] -> Person -> List[Event] +let eventsByPerson = (events, person) => + eventsByPersonName(events, personName(person)); + +// :: List[Event] -> TrackName -> List[Event] +let eventsByTrack = (events, eventTrackName) => + events.filter(e => eventTrack(e) === eventTrackName); + +// :: List[Event] -> EventType -> List[Event] +let eventsByType = (events, eventTypeName) => + events.filter(e => eventType(e) === eventTypeName); + +// :: List[Event] -> Language -> List[Event] +let eventsByLanguage = (events, language) => + events.filter(e => eventLanguage(e) === language); + + +// :: List[Room] -> GUID -> Option[Room] +let roomById = (rooms, id) => rooms.find(r => roomId(r) === id); + +// :: List[Room] -> RoomName -> List[Room] +let roomsByName = (rooms, name) => rooms.filter(r => roomName(r) === name); + +// :: List[Day] -> Int -> Option[Day] +let dayByIndex = (days, index) => days.find(d => dayIndex(d) === index); + +// :: List[Person] -> Int -> Option[Person] +let personById = (persons, id) => persons.find(p => personId(p) === id); + +// :: List[Person] -> PersonName -> List[Person] +let personsByName = (persons, name) => persons.filter(p => personName(p) === name); + +// :: List[Event] -> Int -> Option[Event] +let eventById = (events, id) => events.find(e => eventId === id); + + +// :: List[Room] -> List[Room] +let distinctRooms = (rooms) => { + //let ids = distinct(rooms.map(roomId)); + //return ids.map(i => rooms.find(r => roomId(r) === i)); + // TODO: Room Id might be optional? + let rns = distinct(rooms.map(roomName)); + return rns.map(i => rooms.find(r => roomName(r) === i)); +}; + +// :: List[Day] -> List[Day] +let distinctDays = (days) => { + let ids = distinct(days.map(dayIndex)); + return ids.map(i => days.find(d => dayIndex(d) === i)); +}; + +// :: List[Event] -> List[Event] +let distinctEvents = (events) => { + let ids = distinct(events.map(eventId)); + return ids.map(i => events.find(e => eventId(e) === i)); +}; + +// :: List[Person] -> List[Person] +let distinctPersons = (persons) => { + let ids = distinct(persons.map(personId)); + return ids.map(i => persons.find(p => personId(p) === i)); +}; + +// :: List[Person] -> List[Person] +let sortPersonsByName = (persons) => + persons.sort((p1, p2) => stringCompare(personName(p1), personName(p2))); + +// :: List[Room] -> List[Room] +let sortRoomsByName = (rooms) => + rooms.sort((r1, r2) => stringCompare(roomName(r1), roomName(r2))); + +// :: List[Event] -> List[Event] +let sortEventsByTitle = (events) => + events.sort((e1, e2) => stringCompare(eventTitle(e1), eventTitle(e2))); + + +// --------------------------------------------------------- +// Advanced Accessors + +// Note: Maybe deprecate and replace with 'eventsByDay'? +// :: Day -> List[Event] +let eventsOfDay = (day) => + Array.from(day.get('rooms').values()).flat(); + +// :: List[Day] -> List[Event] +let eventsOfDays = (days) => days.flatMap(eventsOfDay); + + +// Note: Can not implement this, needs more information. +// Use 'eventsByRoom' and 'eventsByRooms' instead. +//-:: Room -> List[Event] +//let eventsOfRoom = (room) => +// Array.from(room.values()); + +//-:: List[Room] -> List[Event] +//let eventsOfRooms = (rooms) => rooms.flatMap(eventsOfRoom); + + +// :: List[Event] -> List[TrackName] +let tracksOfEvents = (events) => + distinct(events.flatMap(eventLanguage)); + +// :: List[Event] -> List[EventType] +let typesOfEvents = (events) => + distinct(events.flatMap(eventType)); + +// :: List[Event] -> List[Language] +let languagesOfEvents = (events) => + distinct(events.flatMap(eventLanguage)); + + +// :: Conference -> List[Day] +let conferenceDays = (conference) => + distinctDays(conference.get('days')); + +// :: Conference -> List[Room] +let conferenceRooms = (conference) => + distinctRooms(Array.from(conference.get('rooms').values())); + +// :: Conference -> List[Event] +let conferenceEvents = (conference) => + distinctEvents(conferenceDays(conference).flatMap(d => eventsOfDay(d))); + +// :: Conference -> List[Person] +let conferencePersons = (conference) => + distinctPersons(conferenceEvents(conference).flatMap(eventPersons)); + +// :: Conference -> List[TrackName] +let conferenceTracks = (conference) => + distinct(conferenceEvents(conference).flatMap(eventTrack)); + +// :: Conference -> List[EventType] +let conferenceTypes = (conference) => + distinct(conferenceEvents(conference).flatMap(eventType)); + +// :: Conference -> List[Language] +let conferenceLanguages = (conference) => + distinct(conferenceEvents(conference).flatMap(eventLanguage)); + + +// :: Schedule -> Conference +let conference = (schedule) => schedule.get('conference'); + + +// --------------------------------------------------------- +// Advanced Filters, Maps and Traces of SQL + +// TODO: Use own stable IDs + +// :: Conference -> List[RoomName] -> DayIndex -> List[RoomName] +let roomNamesByDayIndex = (conference, roomNames, dayIndex) => { + let evs = eventsByDayIndex(conferenceEvents(conference), dayIndex); + let rns = distinct(evs.map(eventRoomName)); + return distinct(roomNames.filter(rn => rns.includes(rn))); +}; + +// :: Conference -> List[RoomName] -> Day -> List[RoomName] +let roomNamesByDay = (conference, roomNames, day) => + roomNamesByDayIndex(conference, roomNames, dayIndex(day)); + +// :: Conference -> List[Room] -> DayIndex -> List[Room] +let roomsByDayIndex = (conference, rooms, dayIndex) => { + let rns = roomNamesByDayIndex(conference, rooms.map(roomName), dayIndex); + return rooms.filter(r => rns.includes(roomName(r))); +}; + +// :: Conference -> List[Room] -> Day => List[Room] +let roomsByDay = (conference, rooms, day) => + roomsByDayIndex(conference, rooms, dayIndex(day)); + + +// :: Conference -> List[RoomName] -> PersonId -> List[RoomName] +let roomNamesByPersonId = (conference, roomNames, id) => { + let evs = eventsByPersonId(conferenceEvents(conference), id); + let rns = distinct(evs.map(eventRoomName)); + return distinct(roomNames.filter(rn => rns.includes(rn))); +}; + +// :: Conference -> List[RoomName] -> Person -> List[RoomName] +let roomNamesByPerson = (conference, roomNames, person) => + roomNamesByPersonId(conference, roomNames, personId(person)); + +// :: Conference -> List[Room] -> PersonId -> List[Room] +let roomsByPersonId = (conference, rooms, id) => { + let rns = roomNamesByPersonId(conference, rooms.map(roomName), id); + return rooms.filter(r => rns.includes(roomName(r))); +}; + +// :: Conference -> List[Room] -> Person -> List[Room] +let roomsByPerson = (conference, rooms, person) => + roomsByPersonId(conference, rooms, personId(person)); + + +// :: Conference -> List[RoomName] -> Track -> List[RoomName] +let roomNamesByTrack = (conference, roomNames, track) => { + let evs = eventsByTrack(conferenceEvents(conference), track); + let rns = evs.map(eventRoomName); + return distinct(roomNames.filter(rn => rns.includes(rn))); +}; + +// :: Conference -> List[Room] -> Track -> List[Room] +let roomsByTrack = (conference, rooms, track) => + roomNamesByTrack(conference, rooms.map(roomName), track).flatMap(rn => + roomsByName(rooms, rn)); + +// :: Conference -> List[RoomName] -> Type -> List[RoomName] +let roomNamesByType = (conference, roomNames, type) => { + let evs = eventsByType(conferenceEvents(conference), type); + let rns = evs.map(eventRoomName); + return distinct(roomNames.filter(rn => rns.includes(rn))); +}; + +// :: Conference -> List[Room] -> Type -> List[Room] +let roomsByType = (conference, rooms, type) => + roomNamesByType(conference, rooms.map(roomName), type).flatMap(rn => + roomsByName(rooms, rn)); + +// :: Conference -> List[RoomName] -> Language -> List[RoomName] +let roomNamesByLanguage = (conference, roomNames, language) => { + let evs = eventsByLanguage(conferenceEvents(conference), language); + let rns = evs.map(eventRoomName); + return distinct(roomNames.filter(rn => rns.includes(rn))); +}; + +// :: Conference -> List[Room] -> Language -> List[Room] +let roomsByLanguage = (conference, rooms, language) => + roomNamesByLanguage(conference, rooms.map(roomName), language).flatMap(rn => + roomsByName(rooms, rn)); + + +// :: Conference -> List[PersonId] -> DayIndex -> List[PersonId] +let personIdsByDayIndex = (conference, personIds, dayIndex) => { + let evs = eventsByDayIndex(conferenceEvents(conference), dayIndex); + let pids = distinct(evs.flatMap(eventPersons).map(personId)); + return distinct(personIds.filter(pi => pids.includes(pi))); +}; + +// :: Conference -> List[PersonId] -> Day -> List[PersonId] +let personIdsByDay = (conference, personIds, day) => + personIdsByDayIndex(conference, personIds, dayIndex(day)); + +// :: Conference -> List[Person] -> DayIndex -> List[Person] +let personsByDayIndex = (conference, persons, dayIndex) => + personIdsByDayIndex(conference, persons.map(personId), dayIndex).map(pi => + personById(persons, pi)); + +// :: Conference -> List[Person] -> Day -> List[Person] +let personsByDay = (conference, persons, day) => + personsByDayIndex(conference, persons, dayIndex(day)); + + +// :: Conference -> List[PersonId] -> RoomName -> List[PersonId] +let personIdsByRoomName = (conference, personIds, roomName) => { + let evs = eventsByRoomName(conferenceEvents(conference), roomName); + let pids = distinct(evs.flatMap(eventPersons).map(personId)); + return distinct(personIds.filter(pi => pids.includes(pi))); +}; + +// :: Conference -> List[PersonId] -> Room -> List[PersonId] +let personIdsByRoom = (conference, personIds, room) => + personIdsByRoomName(conference, personIds, roomName(room)); + +// :: Conference -> List[Person] -> RoomName -> List[Person] +let personsByRoomName = (conference, persons, roomName) => + personIdsByRoomName(conference, persons.map(personId), roomName).map(pi => + personById(persons, pi)); + +// :: Conference -> List[Person] -> Room -> List[Person] +let personsByRoom = (conference, persons, room) => + personsByRoomName(conference, persons, roomName(room)); + + +// :: Conference -> List[PersonId] -> Track -> List[PersonId] +let personIdsByTrack = (conference, personIds, track) => { + let evs = eventsByTrack(conferenceEvents(conference), track); + let pids = evs.flatMap(eventPersons).map(personId); + return distinct(personIds.filter(pi => pids.includes(pi))); +}; + +// :: Conference -> List[PersonId] -> Track -> List[PersonId] +let personsByTrack = (conference, persons, track) => + personIdsByTrack(conference, persons.map(personId), track).map(pi => + personById(persons, pi)); + +// :: Conference -> List[PersonId] -> Type -> List[PersonId] +let personIdsByType = (conference, personIds, type) => { + let evs = eventsByType(conferenceEvents(conference), type); + let pids = evs.flatMap(eventPersons).map(personId); + return distinct(personIds.filter(pi => pids.includes(pi))); +}; + +// :: Conference -> List[Person] -> Type -> List[Person] +let personsByType = (conference, persons, type) => + personIdsByType(conference, persons.map(personId), type).map(pi => + personById(persons, pi)); + +// :: Conference -> List[PersonId] -> Language -> List[PersonId] +let personIdsByLanguage = (conference, personIds, language) => { + let evs = eventsByLanguage(conferenceEvents(conference), language); + let pids = evs.flatMap(eventPersons).map(personId); + return distinct(personIds.filter(pi => pids.includes(pi))); +}; + +// :: Conference -> List[Person] -> Language -> List[Person] +let personsByLanguage = (conference, persons, language) => + personIdsByLanguage(conference, persons.map(personId), language).map(pi => + personById(persons, pi)); + + +// :: Conference -> List[DayIndex] -> RoomName -> List[DayIndex] +let dayIndicesByRoomName = (conference, dayIndices, roomName) => { + let evs = eventsByRoomName(conferenceEvents(conference), roomName); + let dis = distinct(evs.map(eventDayIndex)); + return distinct(dayIndices.filter(di => dis.includes(di))); +}; + +// :: Conference -> List[DayIndex] -> Room -> List[DayIndex] +let dayIndicesByRoom = (conference, dayIndices, room) => + dayIndicesByRoomName(conference, dayIndices, roomName(room)); + +// :: Conference -> List[Day] -> RoomName -> List[Day] +let daysByRoomName = (conference, days, roomName) => + dayIndicesByRoomName(conference, days.map(dayIndex), roomName).map(di => + dayByIndex(days, di)); + +// :: Conference -> List[Day] -> Room -> List[Day] +let daysByRoom = (conference, days, room) => + daysByRoomName(conference, days, roomName(room)); + + +// :: Conference -> List[DayIndex] -> PersonId -> List[DayIndex] +let dayIndicesByPersonId = (conference, dayIndices, id) => { + let evs = eventsByPersonId(conferenceEvents(conference), id); + let dis = distinct(evs.map(eventDayIndex)); + return distinct(dayIndices.filter(di => dis.includes(di))); +}; + +// :: Conference -> List[DayIndex] -> Person -> List[DayIndex] +let dayIndicesByPerson = (conference, dayIndices, person) => + dayIndicesByPersonId(conference, dayIndices, personId(person)); + +// :: Conference -> List[Day] -> PersonId -> List[Day] +let daysByPersonId = (conference, days, id) => + dayIndicesByPersonId(conference, days.map(dayIndex), id).map(di => + dayByIndex(days, di)); + +// :: Conference -> List[Day] -> Person -> List[Day] +let daysByPerson = (conference, days, person) => + daysByPersonId(conference, days, personId(person)); + + +// :: Conference -> List[DayIndex] -> Track -> List[DayIndex] +let dayIndicesByTrack = (conference, dayIndices, track) => { + let evs = eventsByTrack(conferenceEvents(conference), track); + let dis = evs.map(eventDayIndex); + return distinct(dayIndices.filter(di => dis.includes(di))); +}; + +// :: Conference -> List[Day] -> Track -> List[Day] +let daysByTrack = (conference, days, track) => + dayIndicesByTrack(conference, days.map(dayIndex), track).map(di => + dayByIndex(days, di)); + +// :: Conference -> List[DayIndex] -> Type -> List[DayIndex] +let dayIndicesByType = (conference, dayIndices, type) => { + let evs = eventsByType(conferenceEvents(conference), type); + let dis = evs.map(eventDayIndex); + return distinct(dayIndices.filter(di => dis.includes(di))); +}; + +// :: Conference -> List[Day] -> Type -> List[Day] +let daysByType = (conference, days, type) => + dayIndicesByType(conference, days.map(dayIndex), type).map(di => + dayByIndex(days, di)); + +// :: Conference -> List[DayIndex] -> Language -> List[DayIndex] +let dayIndicesByLanguage = (conference, dayIndices, language) => { + let evs = eventsByLanguage(conferenceEvents(conference), language); + let dis = evs.map(eventDayIndex); + return distinct(dayIndices.filter(di => dis.includes(di))); +}; + +// :: Conference -> List[Day] -> Language -> List[Day] +let daysByLanguage = (conference, days, language) => + dayIndicesByLanguage(conference, days.map(dayIndex), language).map(di => + dayByIndex(days, di)); + + +// :: Conference -> List[Track] -> DayIndex -> List[Track] +let tracksByDayIndex = (conference, tracks, dayIndex) => + tracksOfEvents(eventsByDayIndex(conferenceEvents(conference), dayIndex)); + +// :: Conference -> List[Track] -> Day -> List[Track] +let tracksByDay = (conference, tracks, day) => + tracksOfEvents(eventsByDay(conferenceEvents(conference), day)); + +// :: Conference -> List[Track] -> RoomName -> List[Track] +let tracksByRoomName = (conference, tracks, roomName) => + tracksOfEvents(eventsByRoomName(conferenceEvents(conference), roomName)); + +// :: Conference -> List[Track] -> Room -> List[Track] +let tracksByRoom = (conference, tracks, room) => + tracksOfEvents(eventsByRoom(conferenceEvents(conference), room)); + + +// :: Conference -> List[Type] -> DayIndex -> List[Type] +let typesByDayIndex = (conference, types, dayIndex) => + typesOfEvents(eventsByDayIndex(conferenceEvents(conference), dayIndex)); + +// :: Conference -> List[Type] -> Day -> List[Type] +let typesByDay = (conference, types, day) => + typesOfEvents(eventsByDay(conferenceEvents(conference), day)); + +// :: Conference -> List[Type] -> RoomName -> List[Type] +let typesByRoomName = (conference, types, roomName) => + typesOfEvents(eventsByRoomName(conferenceEvents(conference), roomName)); + +// :: Conference -> List[Type] -> Room -> List[Type] +let typesByRoom = (conference, types, room) => + typesOfEvents(eventsByRoom(conferenceEvents(conference), room)); + + +// :: Conference -> List[Language] -> DayIndex -> List[Language] +let languagesByDayIndex = (conference, languages, dayIndex) => + languagesOfEvents(eventsByDayIndex(conferenceEvents(conference), dayIndex)); + +// :: Conference -> List[Language] -> Day -> List[Language] +let languagesByDay = (conference, languages, day) => + languagesOfEvents(eventsByDay(conferenceEvents(conference), day)); + +// :: Conference -> List[Language] -> RoomName -> List[Language] +let languagesByRoomName = (conference, languages, roomName) => + languagesOfEvents(eventsByRoomName(conferenceEvents(conference), roomName)); + +// :: Conference -> List[Language] -> Room -> List[Language] +let languagesByRoom = (conference, languages, room) => + languagesOfEvents(eventsByRoom(conferenceEvents(conference), room)); + + +// --------------------------------------------------------- +// Timing of Events and Days + +// :: List[Event] -> luxon.DateTime -> List[Event] +let futureEvents = (events, now) => + events.filter(e => now.toMillis() < eventStartDate(e).toMillis()); + +// :: List[Event] -> luxon.DateTime -> List[Event] +let currentEvents = (events, now) => + events.filter(e => + (eventStartDate(e).toMillis() <= now.toMillis() && + now.toMillis() <= eventEndDate(e).toMillis())); + +// :: List[Event] -> luxon.DateTime -> List[Event] +let pastEvents = (events, now) => + events.filter(e => eventEndDate(e).toMillis() < now.toMillis()); + + +// :: List[Event] -> luxon.DateTime -> luxon.Duration -> List[Event] +let startingEvents = (events, now, dt) => + events.filter(e => + (eventStartDate(e).minus(dt).toMillis() <= now.toMillis() && + now.toMillis() < eventStartDate(e).toMillis())); + +// :: List[Event] -> luxon.DateTime -> luxon.Duration -> List[Event] +let startedEvents = (events, now, dt) => + events.filter(e => + (eventStartDate(e).toMillis() <= now.toMillis() && + now.toMillis() <= eventStartDate(e).plus(dt).toMillis())); + +// :: List[Event] -> luxon.DateTime -> luxon.Duration -> List[Event] +let endingEvents = (events, now, dt) => + events.filter(e => + (eventEndDate(e).minus(dt).toMillis() <= now.toMillis() && + now.toMillis() <= eventEndDate(e).toMillis())); + +// :: List[Event] -> luxon.DateTime -> luxon.Duration -> List[Event] +let endedEvents = (events, now, dt) => + events.filter(e => + (eventEndDate(e).toMillis() < now.toMillis() && + now.toMillis() <= eventStartDate(e).plus(dt).toMillis())); + + +// :: List[Event] -> List[Event] +let sortEventsByStartDate = (events) => + events.sort((e1, e2) => + eventStartDate(e1).toMillis() - eventStartDate(e2).toMillis()); + +// :: List[Event] -> List[Event] +let sortEventsByEndDate = (events) => + events.sort((e1, e2) => + eventEndDate(e1).toMillis() - eventEndDate(e2).toMillis()); + +// :: List[Event] -> List[Event] +let sortEventsByDuration = (events) => + events.sort((e1, e2) => + eventDuration(e1).toMillis() - eventDuration(e2).toMillis()); + + +// :: List[Day] -> luxon.DateTime -> List[Day] +let futureDays = (days, now) => + days.filter(d => now.toMillis() < dayStartDate(d).toMillis()); + +// :: List[Day] -> luxon.DateTime -> List[Day] +let currentDays = (days, now) => + days.filter(d => + (dayStartDate(d).toMillis() <= now.toMillis() && + now.toMillis() <= dayEndDate(d).toMillis())); + +// :: List[Day] -> luxon.DateTime -> List[Day] +let pastDays = (days, now) => + days.filter(d => dayEndDate(d).toMillis() < now.toMillis()); + + +// :: List[Day] -> List[Day] +let sortDaysByStartDate = (days) => + days.sort((d1, d2) => + dayStartDate(d1).toMillis() - dayStartDate(d2).toMillis()); + +// :: List[Day] -> List[Day] +let sortDaysByEndDate = (days) => + days.sort((d1, d2) => + dayEndDate(d1).toMillis() - dayEndDate(d2).toMillis()); + +// :: List[Day] -> List[Day] +let sortDaysByDuration = (days) => + days.sort((d1, d2) => + dayDuration(d1).toMillis() - dayDuration(d2).toMillis()); + + +// --------------------------------------------------------- +// Extractors: Shortcut entry points + +// :: Schedule -> List[Day] +let allDays = (schedule) => conferenceDays(conference(schedule)); + +// :: Schedule -> List[Room] +let allRooms = (schedule) => conferenceRooms(conference(schedule)); + +// :: Schedule -> List[Event] +let allEvents = (schedule) => conferenceEvents(conference(schedule)); + +// :: Schedule -> List[Person] +let allPersons = (schedule) => conferencePersons(conference(schedule)); + +// :: Schedule -> List[TrackName] +let allTracks = (schedule) => conferenceTracks(conference(schedule)); + +// :: Schedule -> List[EventType] +let allTypes = (schedule) => conferenceTypes(conference(schedule)); + +// :: Schedule -> List[Language] +let allLanguages = (schedule) => conferenceLanguages(conference(schedule)); + + +// --------------------------------------------------------- +// Public API Exports + +export { + optional, + defined, + withDefined, + distinct, + intersection, + processScheduleFile, + scheduleVersion, + scheduleBaseUrl, + conferenceAcronym, + conferenceTitle, + conferenceStartDate, + conferenceEndDate, + conferenceDuration, + conferenceDaysCount, + conferenceTimeslotDuration, + conferenceTimezoneName, + dayIndex, + dayDate, + dayStartDate, + dayEndDate, + dayDuration, + roomName, + roomGuid, + roomDescription, + roomCapacity, + eventId, + eventGuid, + eventLogo, + eventStartDate, + eventEndDate, + eventDuration, + eventDayIndex, + eventRoomName, + eventSlug, + eventUrl, + eventTitle, + eventSubtitle, + eventTrack, + eventType, + eventLanguage, + eventAbstract, + eventDescription, + eventRecordingLicense, + eventDoNotRecord, + eventPersons, + eventPersonCount, + eventAnswers, + personId, + personCode, + personName, + personBiography, + eventsByDayIndex, + eventsByDay, + eventsByRoomName, + eventsByRoom, + eventsByPersonId, + eventsByPersonName, + eventsByPerson, + eventsByTrack, + eventsByType, + eventsByLanguage, + roomById, + roomsByName, + dayByIndex, + personById, + personsByName, + eventById, + distinctRooms, + distinctDays, + distinctEvents, + distinctPersons, + sortPersonsByName, + sortRoomsByName, + sortEventsByTitle, + eventsOfDay, + eventsOfDays, + tracksOfEvents, + typesOfEvents, + languagesOfEvents, + conferenceDays, + conferenceRooms, + conferenceEvents, + conferencePersons, + conferenceTracks, + conferenceTypes, + conferenceLanguages, + conference, + roomNamesByDayIndex, + roomNamesByDay, + roomsByDayIndex, + roomsByDay, + roomNamesByPersonId, + roomNamesByPerson, + roomsByPersonId, + roomsByPerson, + roomNamesByTrack, + roomsByTrack, + roomNamesByType, + roomsByType, + roomNamesByLanguage, + roomsByLanguage, + personIdsByDayIndex, + personIdsByDay, + personsByDayIndex, + personsByDay, + personIdsByRoomName, + personIdsByRoom, + personsByRoomName, + personsByRoom, + personIdsByTrack, + personsByTrack, + personIdsByType, + personsByType, + personIdsByLanguage, + personsByLanguage, + dayIndicesByRoomName, + dayIndicesByRoom, + daysByRoomName, + daysByRoom, + dayIndicesByPersonId, + dayIndicesByPerson, + daysByPersonId, + daysByPerson, + dayIndicesByTrack, + daysByTrack, + dayIndicesByType, + daysByType, + dayIndicesByLanguage, + daysByLanguage, + tracksByDayIndex, + tracksByDay, + tracksByRoomName, + tracksByRoom, + typesByDayIndex, + typesByDay, + typesByRoomName, + typesByRoom, + languagesByDayIndex, + languagesByDay, + languagesByRoomName, + languagesByRoom, + futureEvents, + currentEvents, + pastEvents, + startingEvents, + startedEvents, + endingEvents, + endedEvents, + sortEventsByStartDate, + sortEventsByEndDate, + sortEventsByDuration, + futureDays, + currentDays, + pastDays, + sortDaysByStartDate, + sortDaysByEndDate, + sortDaysByDuration, + allDays, + allRooms, + allEvents, + allPersons, + allTracks, + allTypes, + allLanguages +}; + +// Command to generate API exports: +// grep -A 1 -e '// :: ' sol.js | sed -e '/^--$/d' -e '/ :: /d' -e 's/^let / /g' -e 's/ = .*$/,/g' > names.txt +// Note: Type signatures starting with '//-:: ' instead of '// :: ' denote unexported internal functions. diff --git a/config/_default/config.toml b/config/_default/config.toml new file mode 100644 index 0000000..b685c04 --- /dev/null +++ b/config/_default/config.toml @@ -0,0 +1,21 @@ +baseURL = "https://files.chvoc.ch/" +languageCode = 'de-DE' +title = 'DGWK24' + +defaultContentLanguage = "en" + +disableHugoGeneratorInject = true +enableRobotsTXT = false +disableKinds = ["taxonomy", "term", "RSS", "sitemap", "robotsTXT", "404"] + +[outputs] + home = ["HTML"] + page = ["HTML"] + + +[params] +workerBaseURL = '/js/custom/core/' + +scheduleURL = '/schedule.json' +#scheduleURL = 'https://cfp.winterkongress.ch/wk24/schedule/export/schedule.json' +scheduleFetchInterval = 60 diff --git a/config/production/config.toml b/config/production/config.toml new file mode 100644 index 0000000..969f962 --- /dev/null +++ b/config/production/config.toml @@ -0,0 +1,9 @@ +baseURL = "https://files.chvoc.ch/dgwk24/info/" + + +[params] +workerBaseURL = '/dgwk24/info/js/custom/core/' + +scheduleURL = '/dgwk24/info/schedule.json' +#scheduleURL = 'https://cfp.winterkongress.ch/wk24/schedule/export/schedule.json' +scheduleFetchInterval = 60 diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..a845151 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/content/schedule-hall1/index.md b/content/schedule-hall1/index.md new file mode 100644 index 0000000..cf4f648 --- /dev/null +++ b/content/schedule-hall1/index.md @@ -0,0 +1,4 @@ +--- +title: "Schedule Hall 1: Festsaal" +type: schedule-hall1 +--- diff --git a/content/schedule-hall2/index.md b/content/schedule-hall2/index.md new file mode 100644 index 0000000..5a9415b --- /dev/null +++ b/content/schedule-hall2/index.md @@ -0,0 +1,4 @@ +--- +title: "Schedule Hall 2: Bankettsaal" +type: schedule-hall2 +--- diff --git a/content/schedule-hall3/index.md b/content/schedule-hall3/index.md new file mode 100644 index 0000000..59a07ef --- /dev/null +++ b/content/schedule-hall3/index.md @@ -0,0 +1,4 @@ +--- +title: "Schedule Hall 3: Tanzsaal" +type: schedule-hall3 +--- diff --git a/content/schedule/index.md b/content/schedule/index.md new file mode 100644 index 0000000..e937e71 --- /dev/null +++ b/content/schedule/index.md @@ -0,0 +1,4 @@ +--- +title: "Schedule" +type: schedule +--- diff --git a/content/speaker-info-hall1/index.md b/content/speaker-info-hall1/index.md new file mode 100644 index 0000000..0359207 --- /dev/null +++ b/content/speaker-info-hall1/index.md @@ -0,0 +1,4 @@ +--- +title: "Speaker Info Hall 1: Festsaal" +type: speaker-info-hall1 +--- diff --git a/content/speaker-info-hall2/index.md b/content/speaker-info-hall2/index.md new file mode 100644 index 0000000..71bd6cb --- /dev/null +++ b/content/speaker-info-hall2/index.md @@ -0,0 +1,4 @@ +--- +title: "Speaker Info Hall 2: Bankettsaal" +type: speaker-info-hall2 +--- diff --git a/content/speaker-info-hall3/index.md b/content/speaker-info-hall3/index.md new file mode 100644 index 0000000..12f0d1e --- /dev/null +++ b/content/speaker-info-hall3/index.md @@ -0,0 +1,4 @@ +--- +title: "Speaker Info Hall 3: Tanzsaal" +type: speaker-info-hall3 +--- diff --git a/content/talk-info-hall1/index.md b/content/talk-info-hall1/index.md new file mode 100644 index 0000000..4868b83 --- /dev/null +++ b/content/talk-info-hall1/index.md @@ -0,0 +1,4 @@ +--- +title: "Talk Info Hall 1: Festsaal" +type: talk-info-hall1 +--- diff --git a/content/talk-info-hall2/index.md b/content/talk-info-hall2/index.md new file mode 100644 index 0000000..1d4174c --- /dev/null +++ b/content/talk-info-hall2/index.md @@ -0,0 +1,4 @@ +--- +title: "Talk Info Hall 2: Bankettsaal" +type: talk-info-hall2 +--- diff --git a/content/talk-info-hall3/index.md b/content/talk-info-hall3/index.md new file mode 100644 index 0000000..dfe47c4 --- /dev/null +++ b/content/talk-info-hall3/index.md @@ -0,0 +1,4 @@ +--- +title: "Talk Info Hall 3: Tanzsaal" +type: talk-info-hall3 +--- diff --git a/content/upcoming-talk-hall1/index.md b/content/upcoming-talk-hall1/index.md new file mode 100644 index 0000000..32dddef --- /dev/null +++ b/content/upcoming-talk-hall1/index.md @@ -0,0 +1,4 @@ +--- +title: "Upcoming Talk Hall 1: Festsaal" +type: upcoming-talk-hall1 +--- diff --git a/content/upcoming-talk-hall2/index.md b/content/upcoming-talk-hall2/index.md new file mode 100644 index 0000000..09492c4 --- /dev/null +++ b/content/upcoming-talk-hall2/index.md @@ -0,0 +1,4 @@ +--- +title: "Upcoming Talk Hall 2: Bankettsaal" +type: upcoming-talk-hall2 +--- diff --git a/content/upcoming-talk-hall3/index.md b/content/upcoming-talk-hall3/index.md new file mode 100644 index 0000000..eccf3e3 --- /dev/null +++ b/content/upcoming-talk-hall3/index.md @@ -0,0 +1,4 @@ +--- +title: "Upcoming Talk Hall 3: Tanzsaal" +type: upcoming-talk-hall3 +--- diff --git a/content/voc-schedule-hall1/index.md b/content/voc-schedule-hall1/index.md new file mode 100644 index 0000000..d0275ab --- /dev/null +++ b/content/voc-schedule-hall1/index.md @@ -0,0 +1,4 @@ +--- +title: "VOC Schedule Hall 1: Festsaal" +type: voc-schedule-hall1 +--- diff --git a/content/voc-schedule-hall2/index.md b/content/voc-schedule-hall2/index.md new file mode 100644 index 0000000..46dc965 --- /dev/null +++ b/content/voc-schedule-hall2/index.md @@ -0,0 +1,4 @@ +--- +title: "VOC Schedule Hall 2: Bankettsaal" +type: voc-schedule-hall2 +--- diff --git a/content/voc-schedule-hall3/index.md b/content/voc-schedule-hall3/index.md new file mode 100644 index 0000000..2611760 --- /dev/null +++ b/content/voc-schedule-hall3/index.md @@ -0,0 +1,4 @@ +--- +title: "VOC Schedule Hall 3: Tanzsaal" +type: voc-schedule-hall3 +--- diff --git a/content/voc-schedule/index.md b/content/voc-schedule/index.md new file mode 100644 index 0000000..6659ed6 --- /dev/null +++ b/content/voc-schedule/index.md @@ -0,0 +1,4 @@ +--- +title: "VOC Schedule" +type: voc-schedule +--- diff --git a/content/voc-speaker/index.md b/content/voc-speaker/index.md new file mode 100644 index 0000000..1682129 --- /dev/null +++ b/content/voc-speaker/index.md @@ -0,0 +1,4 @@ +--- +title: "VOC Speaker" +type: voc-speaker +--- diff --git a/content/voc-talks/index.md b/content/voc-talks/index.md new file mode 100644 index 0000000..8cc7415 --- /dev/null +++ b/content/voc-talks/index.md @@ -0,0 +1,4 @@ +--- +title: "VOC Talks" +type: voc-talks +--- diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html new file mode 100644 index 0000000..74fd2be --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,56 @@ + + + + + + + {{ block "metaincludes" . }} + {{ partial "redirect.html" .Params }} + {{ end }} + + {{ .Site.Title }} + + {{ block "cssdependencyincludes" . }} + + + {{ end }} + + {{ block "cssincludes" . }} + {{ $options := dict "targetPath" "default.css" "outputStyle" "compressed" "enableSourceMap" false -}} + {{ $style := resources.Get "/css/custom/nodes/default.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + + {{ end }} + + {{ $configData := dict "workerBaseURL" .Site.Params.workerBaseURL "scheduleURL" .Site.Params.scheduleURL "scheduleFetchInterval" .Site.Params.scheduleFetchInterval "twitterURL" .Site.Params.twitterURL "twitterFetchInterval" .Site.Params.twitterFetchInterval "mastodonURL" .Site.Params.mastodonURL "mastodonFetchInterval" .Site.Params.mastodonFetchInterval "musicURL" .Site.Params.musicURL "musicFetchInterval" .Site.Params.musicFetchInterval "cmsURL" .Site.Params.cmsURL "cmsFetchInterval" .Site.Params.cmsFetchInterval }} + {{ $configjs := resources.Get "/js/custom/core/config.js" | js.Build (dict "params" $configData) | resources.Fingerprint }} + + + {{ block "jsworkerincludes" . }} + + + {{ $fetchworkerjs := resources.Get "/js/custom/core/generic_fetch_worker.js" }} + + {{ end }} + + + {{ block "main" . }} +
+ +
+ {{ end }} + + {{ block "jsdependencyincludes" . }} + {{ $luxon := resources.Get "/js/luxon/luxon.min.js" | resources.Fingerprint }} + + + {{ $preact := resources.Get "/js/preact/preact.min.js" | resources.Fingerprint }} + + + {{ $htm := resources.Get "/js/htm/htm.js" | resources.Fingerprint }} + + {{ end }} + + {{ block "jsincludes" . }} + {{ end }} + + diff --git a/layouts/index.html b/layouts/index.html new file mode 100644 index 0000000..425e05d --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,53 @@ +{{ define "main" }} +

:HugInfo:

+ +
+

Static Information Endpoints:

+
    + {{ range .Pages }} + {{ if not .Params.redirect }} +
  • + {{ .Title }}:{{ .RelPermalink }} +
  • + {{ end }} + {{ end }} +
+ +

Redirecting Information Endpoints:

+
    + {{ range .Pages }} + {{ if .Params.redirect }} +
  • + + + {{ .Title }}:{{ .RelPermalink }} + {{ with .Params.redirect }} +
    +
    Configured redirect:
    + +
    + {{ end }} +
    +
  • + {{ end }} + {{ end }} +
+
+{{ end }} + + +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "_index.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/core/_index.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + + +{{ define "jsworkerincludes" }}{{ end }} + +{{ define "jsdependencyincludes" }}{{ end }} + +{{ define "jsincludes" }}{{ end }} diff --git a/layouts/partials/logo.html b/layouts/partials/logo.html new file mode 100644 index 0000000..4b14ecf --- /dev/null +++ b/layouts/partials/logo.html @@ -0,0 +1,5 @@ +
+ + + +
diff --git a/layouts/partials/redirect.html b/layouts/partials/redirect.html new file mode 100644 index 0000000..8786445 --- /dev/null +++ b/layouts/partials/redirect.html @@ -0,0 +1,3 @@ +{{ with .redirect }} + +{{ end }} diff --git a/layouts/schedule-hall1/single.html b/layouts/schedule-hall1/single.html new file mode 100644 index 0000000..22a2cef --- /dev/null +++ b/layouts/schedule-hall1/single.html @@ -0,0 +1,21 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "schedule-hall1.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/schedule-hall1.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "schedule-hall1.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/schedule-hall1.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} + +{{ define "main" }} + +{{ partial "logo.html" . }} +
+ +
+
+{{ end }} diff --git a/layouts/schedule-hall2/single.html b/layouts/schedule-hall2/single.html new file mode 100644 index 0000000..c40190e --- /dev/null +++ b/layouts/schedule-hall2/single.html @@ -0,0 +1,21 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "schedule-hall2.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/schedule-hall2.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "schedule-hall2.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/schedule-hall2.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} + +{{ define "main" }} + +{{ partial "logo.html" . }} +
+ +
+
+{{ end }} diff --git a/layouts/schedule-hall3/single.html b/layouts/schedule-hall3/single.html new file mode 100644 index 0000000..87b1eae --- /dev/null +++ b/layouts/schedule-hall3/single.html @@ -0,0 +1,21 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "schedule-hall3.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/schedule-hall3.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "schedule-hall3.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/schedule-hall3.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} + +{{ define "main" }} + +{{ partial "logo.html" . }} +
+ +
+
+{{ end }} diff --git a/layouts/schedule/single.html b/layouts/schedule/single.html new file mode 100644 index 0000000..2db298d --- /dev/null +++ b/layouts/schedule/single.html @@ -0,0 +1,21 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "schedule.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/schedule.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "schedule.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/schedule.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} + +{{ define "main" }} + +{{ partial "logo.html" . }} +
+ +
+
+{{ end }} diff --git a/layouts/speaker-info-hall1/single.html b/layouts/speaker-info-hall1/single.html new file mode 100644 index 0000000..402b232 --- /dev/null +++ b/layouts/speaker-info-hall1/single.html @@ -0,0 +1,19 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "speaker-info-hall1.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/speaker-info-hall1.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "speaker-info-hall1.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/speaker-info-hall1.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} + +{{ define "main" }} + +
+ +
+{{ end }} diff --git a/layouts/speaker-info-hall2/single.html b/layouts/speaker-info-hall2/single.html new file mode 100644 index 0000000..337a5ee --- /dev/null +++ b/layouts/speaker-info-hall2/single.html @@ -0,0 +1,19 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "speaker-info-hall2.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/speaker-info-hall2.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "speaker-info-hall2.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/speaker-info-hall2.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} + +{{ define "main" }} + +
+ +
+{{ end }} diff --git a/layouts/speaker-info-hall3/single.html b/layouts/speaker-info-hall3/single.html new file mode 100644 index 0000000..a6e1d4d --- /dev/null +++ b/layouts/speaker-info-hall3/single.html @@ -0,0 +1,19 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "speaker-info-hall3.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/speaker-info-hall3.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "speaker-info-hall3.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/speaker-info-hall3.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} + +{{ define "main" }} + +
+ +
+{{ end }} diff --git a/layouts/talk-info-hall1/single.html b/layouts/talk-info-hall1/single.html new file mode 100644 index 0000000..c818d04 --- /dev/null +++ b/layouts/talk-info-hall1/single.html @@ -0,0 +1,19 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "talk-info-hall1.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/talk-info-hall1.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "talk-info-hall1.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/talk-info-hall1.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} + +{{ define "main" }} + +
+ +
+{{ end }} diff --git a/layouts/talk-info-hall2/single.html b/layouts/talk-info-hall2/single.html new file mode 100644 index 0000000..e69e72c --- /dev/null +++ b/layouts/talk-info-hall2/single.html @@ -0,0 +1,19 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "talk-info-hall2.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/talk-info-hall2.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "talk-info-hall2.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/talk-info-hall2.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} + +{{ define "main" }} + +
+ +
+{{ end }} diff --git a/layouts/talk-info-hall3/single.html b/layouts/talk-info-hall3/single.html new file mode 100644 index 0000000..19bb250 --- /dev/null +++ b/layouts/talk-info-hall3/single.html @@ -0,0 +1,19 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "talk-info-hall3.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/talk-info-hall3.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "talk-info-hall3.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/talk-info-hall3.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} + +{{ define "main" }} + +
+ +
+{{ end }} diff --git a/layouts/upcoming-talk-hall1/single.html b/layouts/upcoming-talk-hall1/single.html new file mode 100644 index 0000000..f87af5c --- /dev/null +++ b/layouts/upcoming-talk-hall1/single.html @@ -0,0 +1,20 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "upcoming-talk-hall1.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/upcoming-talk-hall1.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "upcoming-talk-hall1.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/upcoming-talk-hall1.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} + +{{ define "main" }} + +{{ partial "logo.html" . }} +
+ +
+{{ end }} diff --git a/layouts/upcoming-talk-hall2/single.html b/layouts/upcoming-talk-hall2/single.html new file mode 100644 index 0000000..55b643c --- /dev/null +++ b/layouts/upcoming-talk-hall2/single.html @@ -0,0 +1,20 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "upcoming-talk-hall2.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/upcoming-talk-hall2.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "upcoming-talk-hall2.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/upcoming-talk-hall2.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} + +{{ define "main" }} + +{{ partial "logo.html" . }} +
+ +
+{{ end }} diff --git a/layouts/upcoming-talk-hall3/single.html b/layouts/upcoming-talk-hall3/single.html new file mode 100644 index 0000000..bb58ca6 --- /dev/null +++ b/layouts/upcoming-talk-hall3/single.html @@ -0,0 +1,20 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "upcoming-talk-hall3.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/upcoming-talk-hall3.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "upcoming-talk-hall3.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/upcoming-talk-hall3.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} + +{{ define "main" }} + +{{ partial "logo.html" . }} +
+ +
+{{ end }} diff --git a/layouts/voc-schedule-hall1/single.html b/layouts/voc-schedule-hall1/single.html new file mode 100644 index 0000000..ad7c13c --- /dev/null +++ b/layouts/voc-schedule-hall1/single.html @@ -0,0 +1,12 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "default.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/voc-schedule.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "voc-schedule-hall1.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/voc-schedule-hall1.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} diff --git a/layouts/voc-schedule-hall2/single.html b/layouts/voc-schedule-hall2/single.html new file mode 100644 index 0000000..cd5ea40 --- /dev/null +++ b/layouts/voc-schedule-hall2/single.html @@ -0,0 +1,12 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "default.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/voc-schedule.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "voc-schedule-hall2.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/voc-schedule-hall2.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} diff --git a/layouts/voc-schedule-hall3/single.html b/layouts/voc-schedule-hall3/single.html new file mode 100644 index 0000000..449033d --- /dev/null +++ b/layouts/voc-schedule-hall3/single.html @@ -0,0 +1,12 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "default.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/voc-schedule.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "voc-schedule-hall3.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/voc-schedule-hall3.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} diff --git a/layouts/voc-schedule/single.html b/layouts/voc-schedule/single.html new file mode 100644 index 0000000..db09b69 --- /dev/null +++ b/layouts/voc-schedule/single.html @@ -0,0 +1,12 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "default.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/voc-schedule.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "voc-schedule.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/voc-schedule.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} diff --git a/layouts/voc-speaker/single.html b/layouts/voc-speaker/single.html new file mode 100644 index 0000000..e9e09da --- /dev/null +++ b/layouts/voc-speaker/single.html @@ -0,0 +1,12 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "default.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/voc-speaker.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "voc-speaker.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/voc-speaker.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} diff --git a/layouts/voc-talks/single.html b/layouts/voc-talks/single.html new file mode 100644 index 0000000..d640242 --- /dev/null +++ b/layouts/voc-talks/single.html @@ -0,0 +1,12 @@ +{{ define "cssincludes" }} +{{ $options := dict "targetPath" "default.css" "outputStyle" "compressed" "enableSourceMap" false -}} +{{ $style := resources.Get "/css/custom/nodes/voc-talks.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} + +{{ end }} + +{{ define "jsincludes" }} +{{ $externals := slice "htm" "preact" "luxon" }} +{{ $buildOptions := dict "targetPath" "voc-talks.js" "externals" $externals }} +{{ $nodejs := resources.Get "/js/custom/nodes/voc-talks.js" | js.Build $buildOptions | resources.Fingerprint }} + +{{ end }} diff --git a/license.txt b/license.txt new file mode 100644 index 0000000..11ce6a2 --- /dev/null +++ b/license.txt @@ -0,0 +1,7 @@ +License +======= + +This work is licensed under Attribution-NonCommercial-NoDerivatives 4.0 International. +To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/ + +All external dependencies and assets are licensed under their own respective licenses. diff --git a/static/fonts/architects-daughter-v11-latin-regular.woff b/static/fonts/architects-daughter-v11-latin-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..174a63b3f8b102d35d8a9ffa8376391da7a1eec5 GIT binary patch literal 15660 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�M%w)p{eEBa1tUdYwcqg4 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 literal 0 HcmV?d00001 diff --git a/static/fonts/lato-v22-latin-ext_latin-100italic.woff b/static/fonts/lato-v22-latin-ext_latin-100italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..c1d07df006001e8312c78b74be1cbdf0fd0a8c08 GIT binary patch literal 23416 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

}e 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 literal 0 HcmV?d00001 diff --git a/static/fonts/lato-v22-latin-ext_latin-100italic.woff2 b/static/fonts/lato-v22-latin-ext_latin-100italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..710107fbde244c68144e04fba6ff2fdd104d3c3b GIT binary patch literal 18224 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 dCmVxn>4RfQnu1fFRD-2`Qp95006p$>u&%6 literal 0 HcmV?d00001 diff --git a/static/fonts/lato-v22-latin-ext_latin-300.woff b/static/fonts/lato-v22-latin-ext_latin-300.woff new file mode 100644 index 0000000000000000000000000000000000000000..00783464f136ddbf02e72b8cff942f95f73fae46 GIT binary patch literal 32196 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 z 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 literal 0 HcmV?d00001 diff --git a/static/fonts/lato-v22-latin-ext_latin-300.woff2 b/static/fonts/lato-v22-latin-ext_latin-300.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..461c169137a896f3686f3582fb48634b3e8d2a6f GIT binary patch literal 24876 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 a60ZTEHtCG+aq_jdbtM?i&ju3??*9Ng`Byvu literal 0 HcmV?d00001 diff --git a/static/fonts/lato-v22-latin-ext_latin-300italic.woff b/static/fonts/lato-v22-latin-ext_latin-300italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..8a8a4b998ad5a2b67d545e1af23a6a2d21afdede GIT binary patch literal 24052 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 literal 0 HcmV?d00001 diff --git a/static/fonts/lato-v22-latin-ext_latin-300italic.woff2 b/static/fonts/lato-v22-latin-ext_latin-300italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ac8b035c92f0461b7aba1c4a3514d8c86ee21e5a GIT binary patch literal 18828 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 pfS0X?Zl9i=! literal 0 HcmV?d00001 diff --git a/static/fonts/lato-v22-latin-ext_latin-700.woff b/static/fonts/lato-v22-latin-ext_latin-700.woff new file mode 100644 index 0000000000000000000000000000000000000000..8ff154533870a7ec6b724023145ae7be6f3d5199 GIT binary patch literal 30356 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 literal 0 HcmV?d00001 diff --git a/static/fonts/lato-v22-latin-ext_latin-700.woff2 b/static/fonts/lato-v22-latin-ext_latin-700.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b10c152dcf9cab1681b91a6489178d168246aa73 GIT binary patch literal 24780 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 NuK96sbUIQ1008EF*^dAK literal 0 HcmV?d00001 diff --git a/static/fonts/lato-v22-latin-ext_latin-700italic.woff b/static/fonts/lato-v22-latin-ext_latin-700italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..a1e110ede161b970a3ff1e0580db12bdb4aa2624 GIT binary patch literal 32380 zcmZs>1CS;`(>3~xZSB~$cWm3XZQHhO@67Dj*s*Qfw&%|KA?|^>>|<48ljM}>nSQXDpSJdo>3fc{9HdNJco?agce0Jxt_K>Ps!@IyyUM}9K{r=M8F_#YqG|1wy>FEeWo(;qAw z05Ayw0JgcE=eml`O$>|y09TS9AGZJ4`{`|$`49Mm{U;BiA0t5ohZi=tad!W~`~d*q zpK~BvZFW53)^G50KNRj#DapjYz*9g#`WCzi6i)r0lh(7+8WrH{9qqHK3qTX z%^amF!uEDf&H#Y-?;q^>2YZb1Fgvt&H2I13W%!Ac`j3@Dq+qzO3CDp%;|cuY-@a>o zL0V|GS#L&LXx?mP3*s!d*}vGa9+Z7Djr9nc<_GFK9TQ(jC?cOK{#rB9S~e;IamS0y zmj!p3teouAdkkzGg;ah;p|XYI{7bpQxWf3CXJz(#VteI#Lgz$ymE#GUeC*9sC!8ky z&$X}!4cap7y19-$M(9%<4TD_fBgpzC4zZB^zx2v7OeHYE`7%qj#x~DPPx8N;5zwxv zXxQU=I^}c^?5Y@&Q8`Ls7fN9+1`WL{!TKItgl~SeTO852F?&^=T_27lhlD zHkH;C)_nxokTf{j-Y*scQkwIjuFi$bIw!ISo^w&W4<-1Yn7#bqjOm2YhBW)>y~d?X zF{cyy==bTNKPmt0+#9D6q zCu8dn2f=-S6z4IUb*0~3V|2kmSeG`-SafGihki?HnX&f(szIqTZh4+f8D9lKj zJde|_CDGcN+FIil=7-VU*C!y zJ|{4kDCRRHe)smVZ|?JRXAk?Bod|xYT2WlT4WnKjun#n4YMO8lR7o;rS`^wD)gkWC z)EVD!ySLIN`udvNicy}B%WyU#emBx55lQ?&h&`S5f#QonD~)PJRcWZ^S$SCiywA~~ z3*#b<)NV5CzC=8^1L>RC2tg8!<4B357Axz5q8JaHv*mSR7M|y6Q63ODreQjgD5g<1 z6j_F0rpG;PxD-vpP|YWPaUpW*T)VJ@f#vWl{j5UtC?d@py$8=n0@l2Z@b-fItU z%a7YY2D#jrEW03hhH-)rU5@jt3_{n#>@*+~ID4KB!G)bCq68Jy8s^#$);(FsS zjgUm)IGz?q*?OLo#QB2%G7dKo{bdsEK$dPCX@Rb8n8CW|^NubATelJUb*0seb$2+J zEbLN{>`0Yt)-+v5yKNBXgWOq`i@-SGNL2}SdoUhF31t_oI94IQWg4dA^EBWCe<0>P z?#m0y$Ze9Ne(Q0&?E2Q8UaKt)wtn$ZRd017}Lq4`#GDUX;@V)ttUqT$fCB zj>4`m16|XiC`Uwfb-^x5D3*h8JA%Ib)-L21W2(~kTN!RA;@%+WW5g_ezr|EA3)dS3 zNre=;l6XumoP{B$TA>tSkaWE}Wjj`VOowFb9V??+C*2mJU1Y6D4}!Sk!d+z%GWpktHEB*I>6Ut-roUsdZ zzoaMMV_r?_kb(ACHD+}e#=TePqeksn4F85MG?mC5n z4asOoQ&#va$PIOdTr_H*N#bGo5L>2*|DSnDE8L2&{-ojyn7Lk1v?Ppdr8&4vKuJm$e8+EE3F(>q+s9VJc!;z)u|2LmEl~&5F zNZa?O+S{C-Bb|r(jxWm*X0?FMc%s)IG7nOeN2@9dQaR5o@)fqpGA#;H*w#)PZ80_< zW~A^xVHrjc`=c4gbev)%_N5s{QRg@2UGp&U7|wB=CdM%u={21sv`s}eEAKKt3Y_?U zxb*!Gm&@oKIQAn*!`U~ud2gcPWFahb9M`n3e_GsfJHtgY%}Ya6*UXP~KDYLLc=Z)F zsrc?Xw;wtieh9uJQS|Yv5nlg~CPoO;s4f>5mEi3BA#h z*I|br0?RZ?r1h@ic<|p!OXBk0^vYM-rfWYfNaKCO)Q=|&#WYCnIKn|0&d^V!ENv^h z|9t0SG26QVTvFOjF* ziC)UE%nMT6G~U-d{%2nE`!gHPj@6C-L*UV>;d(aLMcs5kyOHeg^I~e-{(VGZUXx~Z zMgfk9``Pj&9~@tFIF8k@U5>mHlf&ajuN-fmsET~aZ%fPal2}iy69!jZZ45rvVKeK$ zHXHC>7fJ_Q&(WKmxP}AjvLb2TUnzvT((-vHv<{ifyV+)Y%~f7^=&~_e?ssIaZhqMR zS*g}WHHpMMWJi(9gV^02?1Nga&r~fQv{*Nt*;8*|OLWEJZR%|##$k$Azm!V5wRH=+ z6?IMM|3`l}E~UGd%sbnnFd*&8#m2DAtpHIaqge$ z@_lAArS_Pp*VIy$4-kCNPk^6tU1rkVzunXmqyb6iBcBpdbf=J2Vk>zE?Kn zI|RNybotk+n#UmzmGgme`FY@{gw9Z z=X|#O|K)>e=)cK;@%E@1Fi}0UD%{SXSciLI8K{WBKuJz&-TBgn-9|_glx(Hx*-PX2 z?==p*4^3H=NM-cDx1oORoT2~gKKZ{7#ZC^4fgdd!ZDM6T)eY9%U7qPMcpIr*mPeKofKVwsMAh`{~n2-_&=YF)Sb@AfPEw zB{(2J0a%dv+Aw|cB_t>#A}=T+A|fOsqAegmATJ=`Ulb6uBo&DFFI3E5$-yg~Un-2U z`rAXTk^un*OyaR25iXeViu(G%fUsM*ME5o6ae7!F2OO}Q>-RPp#oz0U4ab2s1*>!; zENUkbe^;&3OhgvVJdr_pvP$hDJ*Vy18(^;GUehz~D_(-T6|D8`dW4Gn68u=lrOOLL zfRHB=3`1Zc+}seJjYrrzNQ|C1O#7VZW6u*c2rbA#!#lI}L%~v4zD$CUxcE4zBuF#6HwGd5JiXNc;mnl*09;E6 z!2WQ;?|%*J74S>=%1CFZx7RZ?BqCsUTXf0hn-8!W_|5l~1qFCJM);{H+}Bc+)l!Q^ z5rbX#yYNNVge&TF{%(1#buBKxft{B9a)bAA$}|>*n3+Z8n2|kS=QmbWF0KG|fX#tk zbwWRO@lFNZ>l3)UwyL=Nq->hftDEjl8ziaK8}9BD=T3x(#3O+kRVL?20ZHd4VMpBn zfUFyFmeEK_l_4b$$I_wexY?iqrNZ?Up1zz?HM39G$4BHE z%WGi%5j?fbDV{rblRwOCPhb~QKX;USY#Kj5Tb`gYvCDpT5SRN^q>lNUkj+}x z2xEylM?QNP3O@}+;VH?5hHXs0+E=K$n_r&4=Qt~ra$&5)-94AYfcLP*P`w5GYPsm@ z(%}h%15dC9&B=cEq^&lXDXwArHS!xHiRK zwRgMm$+xXTvu4_)>qEb@&q~t(f+yb=yvcF8J7F=PHvp?1%DG&;*+14f3u~PrQ*;U3 z8l*@cf**_vl&X9=<_|(SyFThd7C+b{y1YP_jj<7b7f4b578q6evp@8iPtZ6B@pBaW zvLANv5#G<22jHJ7AL9EPfZ)FN#|J_mdwBM0;%WViOQzv^IBo_W4rcg+ zGJqx%6s!P`K-QB12v8v<`xy`)q<7T7gCOGp3M`=lwad3wIa9?^zkrG5Y!gB=89(KT ze(|#aic4{ou}2D{PCy3RzGr`N=HL<3#0+MY8w^I0bJfT4PP7Dvk6W0cM=u}!ZJHU@ zgsE_!klw4)6f20M`1~-6)n7ojN&9*iI_6@ByUfzVm}orM3w(FLHvC)DMz@kI#X=68 zn(h)nJ*$XfE!(a=dZaHS)u-Z_{q-8{0lw*bgy%}JoQJhBv&p-ZBSE%tjsPi2IH!(X zYZW_mKB?+7>2C8k#Hkt7DieiHtuSNr<2ofs5DpOVKK+%^C~H=&4qguR+j@>X zsTZ`{6kK8k2*B?TDkN+{3t0dOmA@cMEUgK%jve2MihLa+rs1}$@KX3*%)0~Ahf$X3 z4<1=3;ggIU+$!3iMWIFb8CQ#<$b7aJqHI-Ay(v)k2igLgsr2(&G{@j%Ki64|WKQ?^ zaj8j+2-hOc-tl9;ino4L#Y}t3-Yfjf!6! z@hfebTHZRI5^4}ps2DnD0XbjW3zG^qe+H%!(b+V5Sh1-(*8CM&PrNwBCBt1=JigJD zva{zQ34*yz`$!-w`mjN?NmdUBT2S5D?fAm*lL5` zFq&Uxo)ym@v?`q5l&J_B3ZMiza~}FTC=MEM{Yk}xB;u4#VE>6ql3~3kjhs?WEp3n! zJKC3l+BHfg-I=7sqyR|FWC|YZQ(kqWpsA16nl=$O1~~W*W}w{t{-B})k31JJn?dU( zz=H05g=z%w<2~pzp3%+$#=_@PAid>l>W?g0oH`8a4Ov-Lf~=h>m?AspCwjo* z*%gvXhi=o0`!8dEvl^k}-j(@IaP3|Cti-^7g&pC(qPL7!6nWs17v7P>kdabpx;e-3 zky*bCk=;)m#2TeR2zoA;rTVcOThnUSFD|65`Akv|yM`)SpQ{mVGNKLdDmOQxT}QoE#gwG6k?xl)ZwP2joMe%JH;ZvVb} zf3>~zjQW5jWMmX{IMOmI-LM*H5^zUZ9QPI6G!}%nT1V@-ayTeIn3dqW%PD~=5M#^Y zP?Qn^cEd+M(1L~eki{=dYDlNt^11nbpl2S!sR_NRi*5Q;tG>o;|1wH@4RO}@@LXTd zGSjfkPF*|t`JT5LHDubnFwu59uNLA#-hE_sB16-4wl=3}S4z#><7Z;ltFOV=xo#b2 zT(9zCB6j~FMX&jkTLcqQv~^%+Ew!G;fjgx?Bd=)-zsQC_W3ldjHe~YV#Vz3|_9q@* zC2c7)E~$11IwKqt;au@D2mt($``L8^wp+C0Pr}kCtsY$!bp>`G78dDa6EYMk&53^7 zUTvB%s-P{enMaln;Dp{_IOVsSIekSV4Bzk=Keu3joP$6D`$r-yY@uU>thd|ejm%?) zt^ogeVW?47dT287OBKTZ^!2e))&*E7FuD-{Tp<4Y*_jwRu*49MHlkuFzmG-&f8`cSPm45gfWW4rl!c!ys1QjXOqI=|a4%}Cz?Nlq%Cu_XQ%N6_0 zjoirwE4>rja930ARQ)lO(+T%cuF27xFj@R^+1EVOqbHkgSLEA!9wrAhI;w9qkP;2(a{+HK*Gw9W~Sja1XWv9H!Sjahf^qFyvME>wK+W12tEkvTRvN zv^dZYw!j4PZclL+2z|^m5dFV3orxy06RPBf`dL*Q1R#7?%8s#66IG4G`AIIt9n2Yy zOo%24P&6RpRY`qDzW3d|=3 zu;WOT38#A>juUH8i8?}Q8yt0>3J8;hYpYN&1jMDyh3?5Hmz}{P$hj0I3m%kLg5X^U zt&V3Y9Pe1pQRv8&OL@V21Zk_Rt(CyvZO&Guv2NPdNGhLpMhw}TnikRL4mvm1Y2Lix zHQA)!zo%K96#_{aOt#SLeAYy*XQt`!{(^eE@c8?%vIN(^?3U8qVVHX(Z98h>6v%>W z9nEF5X#^*u#U(lHS%dok8u#tsbV|*cwasYdZs5DQo;uNSx^pJ}y_h3)y~=0*27~?N zd~|E0;|4?!7kdlF!KthM2Uyx=dH=4OoLVln}U`$O&^cJq4}_6)gh&0DMbsjfXIq_iQ3qf9fQ{!v$~stG%X} zr|n~^D=S*nXYmhiKP5M-`*#G_+a;S@ex={(J$;w`tj>uLeW={Sc}^---ed2yuOB*K z`m6f^?BjBP9ZTl}yDe(xRE#gQd|X4s*|C0QX-n+lSN6-0^K-IYvCXl!(J4lWUaGI= zZA`s)O;P{Bc3*7)NV5Z_l#Q57yp%?Be_g7!kPa25%j%y+a2{sjkw6guom{yn-R%X7 zFn~#+vy;11C3w22ZZjJF&ml&I=z-wFfqX7W9FL37N*o?#DZIh2S8pq{gndf{#*-?c zW|T*A90@ThXYVBkr(S-j!ejq1<?KT{BdRh5yTzWDPG$pEPFQUAKMqj~*4iDu)w33kTrQ@YQT~77@XU%XWEuKM zMY#MIu&Q7^b0`=j<;%vYp!gMqfk5&8C8>svg+%r9bCFIVa~l&l;yEbl>Fa-Ffa4PNBxqrH(S zNTP^HA?NJqJWDAMDB6WMtcgbVnLa9NQ3>-txCsWPzA!Nif8p56C>$g}WQ@R09BQmG z3c7dlyw*sy{b<8=oTX7@`hlsSvconn5PpE$vjwpaULp`?+A!8)TaY8g? zxjb_08o6i?Fpzj02PL|>^3!g}H+E!0?qZo$S1p+XAUIjHi6E1K<3^0bCUn_LU6&4oRwj&e%c!XM^`bNAeKrA@88 z3|K8!R$IM{WHuXr7kW0KcH`1e3zN}yAoCF^CYm)G2Qv3;AuY^CE7LF3P;ap^FcuX3baBcK@NRmJsTNcB}dwc zXT^&8H~&;f2!+W~IFJN1`YyOaWD!vSssa&edpbB>TsRw`J!P`DkUXlXU|NSLAwSp$ zR&KHwVWr&}5orRq2M+VjfN$e4zN~N+@Heh3g}^pyE^u9B<8t+|$qt;|_!K9jSP zELXI0IY$Dsd^^k!XNwngy}8if&x&;ui|FK2Rp7eqcm9pE!6h7w+Llj$LcknE6>SB> z?BYXnjK|u>i=xAJ&883a(yQa3GLzt@7XHQ-G~|7;PqUi4s6aoGXZsp-Tj-lLH`Wb@ zHG@A0I2_!yP>yX3ch!1!S;QgOU*43FG=LW9?-;g_pUA(19w!Pj*na| zjbveTxpj8amG8VQ=X>wZ@ElK}z+bIXnWtDbm>aAuOMK3Yp3|A<=%g)ldOkV>iBaNJ zXe+K+jhe41YLj>!)*5L%F4M76d0n2O{cCR46PejlsT`AArFBv3XW&^@c*8HfnYn0H z%hU6zaFD@(6}nx8zkx8_@+=+Ms!<7IV6Xz~FoY1m{qg?ZTfx-DsX>|Hrno9p-4ZY< z#gW|&Q2p|yih&RYL?b)xapmBc6xg9h6$5}kX&7L6)B~GBhJcA86L{#e;Uc&}PJJyd z(Nm}C-{LXPYZq<}`*E*WpyuhFY=7-L{P z(q9y~w^QzE#B4Z`9U=3e6bO5VekB}tsm@@A;8r$pyFyM8(?l{+i}eAC*gq{)zyph_ zD$AN;$#9WQqEa18e{?$c3vjDfU%g_td)${yvM|I_GmY5vl)mpU?`zbPdAwO#ioP%P zi1W}QX$R+yadfoobQ%w?in78I1GMd&t0r+IM4_u{GrL|Lvv`Dbfq|t+G!UdX6yaF< z`y+K^2fXo$fGq!t&JPL$Fh|-Uqk)z3QTIvi^Es$f&>`ak#~2oY?YTA>cvc&;yd!~@ z6y?BrXDDydnkPw_rMuZY=bN`oo=-3$hQu0ro0;tPDX8LyT}*1{y6RQ zCYGvy-#rERz&Jg;9W}L7uYIq&(bD31Kfhsy!Q4U_yk3U1kwKD?%)RlWW=u+nk*0sDmPpEU>;` zOP%6VRpiMA;&HGP2Fe0;EaK8(&|ic^7!gPL=PGpFr0JccR4>#X+P$nrm%s-A?vbh; z;{1wmf+|sL2+~G|BTX&#t;U0zT9#rvosPF%De$!= zybPyH7@4N$%Z=B9DsbJ(EGGv$U)_IsIBRS(40Cv72y8Kb#>gNv1y3`m???Z!y;`56 z04`iTXft>JMZAPx3(Bp<5nY(h85g^I0A1YF#d zh|J%lZh0{{MkGqNH})Z;#NPlbrUo3AP+)}J@soPVI2&JM2lGZ-v3z?U2lKrT(eI?@ zC*t2Ym%1BsEjA<#Zo?BgMHWoVEoY%<9lQ?jgUoYvBeLDn(mJ;XuIR3~` znKt5{4o`9S`*G`5eZ0&;6yr}>XtW!;yuMPRn7-a(x3-oV2|v4!5~4&i zkEcfC8cY75*NRV9NJNBao^!+9w>&@C{W`UrI)bj_+FoYz%XeD}T*4&&`nzq-^Eqho zNAg-D>ITYym?q5Tw|w*;?SQ`ypOH4yEwt%;R{1R*ta@tLH4ZDzz%;{$i`vYll5<)Y z|ETKWEzm^rMHZlFK#3p;plS0VL?0vxpjDEUCDh133d~6esLYH5Wy$RopaNr~B!{yo zrVWmzgld&T*|hD=gP2&bC`OL0F+RYB@>?spe|NY211gz)m9ZRP$J5b0E^f?TgMv+p zi>knEo2Lz9vEECTlO^9UK+PEN$AVA`BDr>z#(A8*{Yn}7vNAh9ZgwaBw5n-06R9tY zzwewh9TUbze=PHS?(v$xd*1T2SLh#!$@~5LeI~UItD$A=5dC6Z($DX^>)YMYXS&8K z&&y;xW!u~R@uF%=>+Ft&b&0D5ypP8#?Pz}bc^dCZ1~ske0k6yOU0s$%Gp1x6+td@g zu%X6%`%NeA>YD10-?~xWmdpOKU6v8tfVJnWRTk@cq0BU)*YvKQ&*3aJIC|d8?4+2k z&+{2d^TdTJY@`o{9((#Vu;Y^l;E8sZL^%kXSA)f&c+wmZOmS$<5@)15du|NucW{`@ z5W~N*cx~dsXmpmbiW1IKrUcDe5KA9;hSL1&&Rq}Z8fnf7HZx9e+KAXOEmq0HbgD>& zOd*R3mkTYu=#r4!+hse3=HMPdT|uD=?CqYPqJtxGNgUu*qQ(uidyr9egAf5mODjbT zKn(?~R3~a@BZjhc$~$*x15TA`_Mkfibz7Xb1r+!Qi#$;jIhq#?I2zR^vs~|JiJo^g zjq?;d0HEN&W|U59_UZ@G^xvWbRL)waM2DU9*Wt1OZqdIJaF->^VimIn3(9WJ)x7oH z2ss^}Eq5t_ej%1gfO^%NcaB^kf z(~cw_qjij|_&g8RRHA?ok0d!}Ep|1`Lu=74Azhjx)O*b;mZD~&C$Zk-A&YujsE|3( zF@BBpf(W8O25M58!`vqyX|EIlUH(bV$%zOC&sDz>?=mh*N!UTNY=9Z*#T%f52H4z071)8R|h z^LSLlDKH;VAidajvEMY}>$$y&IO3?w}2+W96BqIQ23me~-|B(wc zCU2l93hLXC(xvNqQjg#bDarD4|K6M1&QjIsdC(L4ZhEgM3TnJ@K21@pO;$Wf;_LD0 z7xMCw{Wcm6;sfLN@S99FH4YXlDEBLpHPGZARhR>DXOG{a!5FXj9i5g1C()-hdv`b9nd}-L zcEZ~G%ofX(_hrgvCcKRwKxK>_HUMn}Tx3V6Q|Qs3M$RlrA`2px?p>YPsrj`NkDU$a zS@&;)O6GEu%*)LpJ>|^ZjPJ`qlP~5_vxsxGfaxAS5@a}YkGa{V2pG=<(q`sZ9oNXm ziHk#mCWHf91TaAoM_QJEi7^8j#|&)Vn`Qf__>mJvR+|E-(sh!rcfQys$K zG8;>DX}Zl~r^!BlQmo70U*=(IucCSOZdY&oLZ6ejygn9Dq}JFr?+WNIG`?b`RLN68 z6YNqrTp*7NZ zy$rM4cx?yhitq)?)NkccWsXzn1?YHTdBB4-5E>(6M$H$~MM~Zrs1b44M5H=Ji6|&rt5aizr6XQL{O-Zvbl}bJ( zhD46ob!Snlx~LCy*r-;GKg;QkQnGg4Yf~~`CLiAoG~Mm{6t_UC)3z&=XydFgxhT5G zHq>gfP^4YiC!$d!3dCg&cBv2{D2hY5ZAr^SidcwbiB49GtXK@j9|#sB8M19TO(>7V z9wR@vt_;Y!3m1W6I<%ihBE4>&;QRQuS&e-MzjyEDiRE!)J z__R%ebI*lUU~-j?cvCzrtOtvv19CEIZYZS5PR=(kt!ph;TJ%W1A{dWdn~lX@BdpLG z5T&^A@1`};e$B>90@`#(f{jUpz8BKCgA&|6HKlgqb<5%$@P;YW#=UJg__Xb()iT|V z;7n)IC|Z2UV5~~XZBa>t&aZ_s8(+$lVH(Vv7O)^2-!+rE)6pKaIfVCjA~Rl$r3PWm;gcrl2P`A=Jwo3*_v$SEv`(R z*pv>aU1}YPk@a$%oN@^WSbUg4cXUL`27&dV)IVISoXa%Jqb2(J!Ibe=kP_+~H+VRR!IM2HnIirK z3PrWgYtL0Dg+nTo{KL@L+o^s+j7N4?Gqu+ya`)nEQJ===bjkOb>gfKiNdcLTy~@Hy zaHTybln355evWmc>o{nz(-Ze)`C8xD0|}ap;v~MqO4ChR{tZfN?>D=!5+6<7mRWi( z0i>WZxWr^m8{~o&UrX9>D`^Pqy-tm|S?o0ab}xV1fw)|*F<3_`r=1ds$=qGX%Tn8I zN+{a1`g`4tsfEzbpzHU`7_(bb3f<$7pUEFz=CwMxIe0#jT?`R70sx{oIC4S0^YC$_ z)8~xgL9)gmuyApHZimIOwpHi`Pj)YnT4MR-xcIXD>aC8{O}lQ+Ocr8T58>rT%NM~zZ*-BNxybDjzPG_It+2HR zdb$_(MSFH*T_KZHnje)&{MRm(Fp_zc_t{V;Kw&V@W`3EPB`;4U{-3|a z8EQM-gwwybU?xriM-J5m3I0hul__V|Bkz~qg)b8n!JCa)x7_AKGgZxC2@!fvSO5IdcGr|>qOaP zDX945p$$WMLl6Toq(p=jicCwOf~tO4_CiJSvSi zCdPzSFj0!DRFF8>+%ODWB6UTZaz%;z07Ks6(w^{n-SWasm*%b7!xD#>2Lb%N!HFdJ zi)uQkGQke)Z}DW18!$Q*r;f=q?h+?jw0P0nhAU3|7_0vSxAGcyqGY<d$m2&8J|)!|s^Jx7g_8q(I#6Jk8$VB*fLVA zNXbm?i~$)qDHRd+d>TdxZJXC}0S7$EK^gAI+BDs_nC+r(g%r&Dt>2oGvKy~belcH- z`iPS3>vLOkzfBH!(7h_w4*RA_hupGXjb=nm&#K>U@!zuj|6=o>B;LLXiFD1=F$HEe zbIB(p>6_q3C^hANSe84RmOJm$8%9*7 zO|Z>oKInI}5x(Ij;(t?7&VVTRjVAw!7BwTit;K`4$^OIucxh(FfW_KV(=;g(4Hpo~ zyo2zIuR>bADw&WS8=WN`9D+)XGa6}bdmwaDR~8mpTGSZZ=CL7H-A>4j3VkuZQ5iDM zoxC7HEo+#=Xvp$?-=))9n>y)%gQ|LFXwzWjW6>Qk$FH4Hb;%M?NbfKhpeTCe0U^ix zn0bh*V(ntFr3iZQ_=}FNm-qTv0E!MFN?b0?+!w^>1E~2tnz#(9y8fJNp38ik>+wFr z^RKu*8Qj%GaQfx&=W8F+ci>_AE}eZed9fYpKC(EUPZdzBR)B+g-oFOhmBsmyzz5LD`!ADR!7qyY(6 zOCM;KwntMo-Oc%^Y_>Wpk5}NVA8IT!=Vn%h(eMUs*>D&@zVij7@e0D}Vv7cOugvKG|7M8L~BsCbFW%nR9 znTL{l`~Gd{S_t4LaCwq@Sf2pLD-X%TsOGg}xu||zY{$XM#n`RQydfYa43Iyyv`JauPXN9n1`>suwgCIeAa63^jWjtS zqOvmNs7qp>IBQ2TVg%_P0A`(vJ$nn@b253&#?)tq|EoM3`ax)csY` z&YENiV!u)T^kO!7AN572I$`<^JB>h#CVZn&46Bj43J4H_5@gekils1KUNMCslgLby zArTHVT_4D_wUS+r%-?ajy|C?wl~GjJfeE3U8c#F(Y5w-MbaHs#a5mIm>@I2;f;V}1 zQ^xfzu^nBJwxej~=K5=;YbyS-_VPrV##-Yu9BLA`>0|6t&_kOVJ_Ck}9T)dSi>c}S z`HpeD1`kO)=i45+nvch;%5vXulE1yb#~Qmgz{$RrP?(K-ueVK<2i8EA-`Hs#ZLyO| z_TJKWv}Zloe9D1Hkx^rc>M!uRGA2DPm)6lleC$|I?#&<*c4xJ8eWK^EKJ*dj=6y96 zwY|k?dXsMR&)Cc7xVdgDk#D^W|vk zbbsE(@&j)g3M5mQB2qwfm2Q-ObcI>X#zLBs@g#kx1|1xqMNTMC`9PpD8>VGtK^;&A z?0Z|bNA*>ps-fR#`og*x2SD=Lw&#-`|K0NQkGBr@5sSy;XEnxktF`%IN3+Wi#FF0Y z)F4c)b~>F;@nPY=&cib=bcjk2jWZnXzmB0rZ_{jcBUa2XwExN7> zO14vD#+w_}UCqu)S}Vx6s{q9IDXfvaU^zir#Wu|XbW5etaAgSNhR8qKt9wcNYPitq zN)hRInIRDvrlTS~YY;PduvQfZr2Gn@qTAt0Wue-W^Ny0j$jteG<4#pc&CDkYj~60J z2>9$22i5We8sZ?wgUfOiDee2qPS?4j{i*?4Pu(y%+mWn}bv7OLBX}aD;4HYI)ebv7 zWosvtC@y{3=?O8Hw>+4;Poa|NRIWEN!cJ?K*AY?_o!R3F`+iN@Z5OPw7JXCO*c=Pfq*2pA3LK3`mH zWDfpK@Yq-fD{yw`|08-mGZCu6F}*WQVWE|h+f>kF`gs()2qJN3X)CMeW#(6DYwxbG zej=mgWf`{QLf2*Ns!py+{8U5e$H4kM_eyNH%}2eXw-XZ~VCHigm!TnbE{47^r9Q`C zCqbzXpI#hIG>dw23e!9R9E=Be;~E`a?A41@1yof3{1JqX2W1)V6ig(dO!P+*f}TOq zSNA~B89n66&7{5lI1P$y>zJR&dT*iA){y_8>y`-wfEbZ|e+$!=EL1`o-3UyOrLT_y z8_i6xZ=;+|Mug&W=TOz2&$)I#v3(rlZLG4q763|m|HT+Llj?0bd*W{vit35G{kPfn zVkf+4iPblL!!#}(qP^be9emi2E{_UmhcB2O1PpLOA-N<>eg8AHN=0>VDhg8 zx!F95`7uH5-MmQYkwg3+0#cmga1gM-JBf8rg=`twCzcbktMs=sJn!8ZJp=b{^c4ff*(^Ys>>uGPFf4`X#}Q~7ES!-g?P9rm=PWk@^EX1dKpcIBK` zESiNj7OC87nUFpJ8j{NqMAcDUHc&+Ysor6i@YHF&{UgdIstpOr_1JT${=4Q*28+X~ zXc807yP# z*Arp4SvWw>jD~r|bSW}W&%7<00*mwk4w6;MM|x3tDaKubKgXYCC}ry6Emz?bCdTa_J|BcRIk6W<8k;Zrc&l&gE>25$fI{m$Mx zQe|q)jM#Fclb2uR`_)gfOozA$0yPjmOcylYDzNT(`D@pdL!I_7_LX>0nBLQOE*)_F z_^X~b3j&nSXy7Ic8B?Tv|*6y8P_g}Z+Ca<|uoW#4;gzA8a z*!l^|i&jo#lIN(`g-iCoPn|o^3!4$HNiNFFC;+@QN9&nu@o=>~74gXmQVUx*uM;e|lTS-|k%=Q0E+!&vbx0ux~tp4+9iK7i<3>CT8hL zTL*%xusW(rC?^8mw*ZH`mG1nbWn$h-CuFEvS>R%qI$Oe6i79Z7D!TKaRM1U1f#p8S z8}bVGx-il^u^Ppb#KGFn4AxczOsPd+fw*Ovi4`9slBCpxXF?Mz3$zzajxd}FS>U8s z8BF@Le0ZD62`?FJIF3qE<1DGJjDptB?DedxHng94E|s;?e~Dd#|EVSzLT2pU;Ve1S z(myjmd}U6egl!SYwg_sC4s2pg6dhe0UvDWaIUUeSP8HY3R9;&>mbLGwVsDcX3WKOw zX0q6Ob^43ypRG5@UoDWpQn1dZj|euNy~?`Ngh;Y5kDUY;CI9P(75SEqsSDQ85x3Li zRovvI`R(T2noTP=*`eN7Xnp!Z=)iHd%#RGrUO2tIy0(ROT(<7KgO%*%XHi;U!rmP0 z-Fys6JE+hk94kj;LUM{_P|JbJ>TZI%GtH>BQD@;r`)Y0bvk2AIuhgcsqJ6v1_)T3R zG04jvF9V&@f)ay4xK%b$Vh0`Tsos?3b-#1Zy$nUZomD?c6*1Nc_@7@xzf$*|sqh}X z$klKkiJ%MEYd9Tc^;{lQHFUC@R!ST`(_F;%+DydOs(1$?l5;<1P8!#cW4c!BNN;0z zXLn=WpK~FW*lRTz`sa;cJGARIqP=zemT=E;@G>?rsjb_LHix{RokN?}PMxM~;mn8w z>}`hC-#4(Eow*F#dNs2)@t-=BX#c4TEnrADN-<2aW_g<4$$Olx@+Drw@XQ3CM=cG3 z)7jwDH@KXLYz|~tb4C?vBZ)zlQUW8&1I_KmLqRMaY$fzv%-AM7}0|Z}Z_@ z*Gt(|VX80LC)Ru({9IyiL@? z>Hc&{{5m6k=lBnrH#9Y^%aerDf4ZbT!}15lpaEVlni{gPNVvvkuB`h?c`E9@%v0;W zrt7vS-CyKcT}8KA86gu=R6PkoRD09c1g#PVb4rb65(ig{W=_nMS_cM%wM;O9_C6*p z+~y6}i|J)`j_6{wG$mI=h*_NXl0Qaz1SFQI{m1%*dxt+nFVa;pqtEtvUBdHpX~ieQ zx{V^$ne~6Q$DdOq+^{5*S<*mKPQUc&d+H}y-t}Z*I_a!+j-Qe%P`N7TbDLww}fE~9P-GyQJ*6el4V z(w@RYaxNgJ2|>~b2cEOp4*J`kd#yD7av&fa5p~4qF^yNHoS!Sbmd6L_(*ei$Z~ZNP zf8I}=P9NaevjFq}BVd6mi&gxIf1M~yewJ802sKY%Xf_>%_U@S|ytzWN$#rH?x`n!| z<7e^H?s0cDaoLDan(ZOqrw{mBtm8*MvDMb(BsYDW4-}TFrnZR&m<3l9%{^WDCcnpS zn(HohG|UShqaCcE!?cW=?mu%DJh(YwzCu zy*(oi4+^gObY^5*|BTD_?E!>$luqFS(FhcJv}Z9D%{G@;&&mP2^S=F8FCq3u67$Ce+)&V8|s*8yehgbaF z)>M*so1|0)=?_(3WhTGlK#GIph)6>zzEoa_yEZpgWAz&^#Mq_sLeTKULeyKQS%{4B z{0qUA3U8;srZxz`?4ljP>$cl0Qk^8D5Ws*G0T&wp1uOs~tX0Gb%u0|h1m!q*@>w|- zfux3cX*v@Te_RD($cH-mK3_L)-*D@OWuuXbYjWf8jCqGwGzFu<|JU1B0Jd>tf4?`o zvny!@7Fw1qS+Xt5wv3Wx84_ELDTX-Ua2jZ+m`j=Au2-fjGgC^}YY+Rs(lPYkYmdHT zhW3~WSBT|rXGdDeij+8QzwfT?%A(;?4QM#ig4+iJr@!O#lJ!ubi;{k*HdlC>tXxc*>B{mL!Hht zfk4>Ls7FYE=PU9PXI>aEFH98U0N?@^5{MM5&u2{n>CEtNIdEYT z!R68PNPfHg!YzsE>wk1fh^dUUPoLSo)a-UztHSNUtCCa6MpwX`jBGses7_6VWckeW zl~X59hK=T>C*QX9oFCt_mEKcc|EhIKY{qJ}I^BlZ)zlyGx>h&zM%*G38@cbeD}3Z3 z!{9Mj1AorN+vw+D5k^z4zTQNf>B2EZD5u?Q5{b@Z*xiVdY~Uook}S%S7&B<wF~Ln$0Yv%o}xJ;nq4EasH}GWooQ60+(`P(>K0k zj)u}mh7CCqQke%I)T27c z(X_)6_B(GXo0&oDHc$B9TOK)YA~LeIyWeKDdn1+Bx}j~0U*F1lm=aHeT1djp zDN|>xsiDeeGKkrp-($0yC6NjcVu>wmrz;7tnXBJI2~<^=6Gkb=DKx{mO`R@56Z1K= ztv_C?q9$!p zAs{f8X67BRtPBH6GL-=8`L+a2B~f==nTfvhpp>Dehp79o$$S%#B{@-GCrK2b)`(ni zO+{fx_5@6ruwX|6vjzZ@2qx7wqjJJpq(%({j9`$A23Eq+fPjG5hg1l{d48fSs^DS1r?CL!tby1cC9x z>Q&ewBxdJ2c0S)>GoJlFPXBlRPe9|%yhON(eg?*2gZdO%$41&)qm4Dec@e|pI3iuQ zyuU&epq^747sT;I9a$_X5YVE32 zWQ+QBV)u>PcHY`D`*{1*mbPfPb>fKD_K5f!o7L@gd&03we`{lXQ#>`3*l z2Y|r1cnA4DeL~B=*jvD1%I-s1HW6Rj`3L&WM4ym##{`_O(8%|v3)**}%QC`zpRK4o z6fO80H+v#+mF_X@@q{}n{qcwgPxXZ3{;HT-!ZbePVGpgT;!28T~D&KTR3U!l&pnJ$7U8#^6yp-4nTEjd%;9W@9&$4UUt?aWbJGgeM{X>Ftb2#sZdv;qt+_Pgt@JMMm35-NCGLRy``Cv?} zcKUte$TG{()A86LWYo1#d9b!*E;xTFhIxvtm?12Te#X%IP12w5nNeE;!ZHy?fUCj_f z0|AHwQU4$^cS5tHub{J)4jlr-fPgX}Tfr#-#X7;%;h<0uM9ODIvYeS2@h(7eyp^bN zAP9OqKQsHOWyO3%XK@BWR%xyVPz&*s%5slE_BOY41jc4UGglrjNM$~EpfObKbhssN z@5h(6PIOiYlHxF@->K;em{j6&M?e_2y6ap4r)grOe%U~y(Bur3TWofl)7%|z4RudO zi4y4Abn%uwl~wDBt)j-|a{~}K6V4NQgwKEr8o`*7${UG`C{bq;GlE@QPD+zBEn0Xc zMgMqEG2Ci*8O+jFLv-eh14@V~fLDYq)r!~p&kDQjHviLE*66ImD~lEbAl!t_Vt~92 z6jsgS=`nJG4nnXIGHfi6UCdzz7MQC7B$z1iHJ|mc$<1TJ$vrRD&aNkKr#rFo1FI^D zuv{JSo$82R0dW|IwWKQL>+D>+dTOF`ymRUBlAdH&qO~~~V0&Jb>~HDsN7(Y7jH{ky!rn5!~7a;n8&~V2nU~e;)o;51Gdk--0Zm4;PWLnbPk5C z=1^bjapVWLqUGDCEO3nfZu%MFV;7&h;i7=0!I%C{2xXh~R(nk>Slw1_13>tQ_$Bfv z-EdgX(#J@nbN0t{!>vHze8DEf>C@T_ai+)&vAl>!Yv*plq5M@o1Qdj)3VqY_6PwQ) zA3uL{SJ&qA$H&jxoOsOFHc%fPX!EJZaJ_mIcZ{8TL?Us-xnm>euxjTFg;Q;nm2IhT z{a|}lRr?^z0fQCdM)8NBfDNu?nUO4JKc6wvm{r5;Fl1HkBqUNy%*xsT)3BChiCs2H z;)?j}!17aj=G)At={lILTqu*rygoA5jF+fVc}-t#N}uDxi<{F#_>O0Pr})G4?N6m2 z#`RC(uKg`f0m7-mh2+c9UWmg5Otqo8DWhr?$GGN8O)+NOHWUSqLP}{)=})Xniz6rW z>W3v!l_!v5#- z4+m>noJysKTI3^aJ=5Eyz5e)UW9!sVfABJcsTnJ(DlpJpR%iRJw=W|bY@k4qx(`DNN>2i` zaycm-DN&z6q70s2%K%0MaB-eoclY~%h@*^@9128bZ6Jhq6YJFhbydz7I&~b z-nV#}ZOuryuD;c3@w%v4UT5oBc7%FO+f%i}8@!Ie&Y>NHL3i6!QvEqfh1=5K60JQQ zTf2hckl*FVUDrABYVxYKqdTtUIUB)1h5S5cgapB?aG#Q+fgqgFg2iT;_e@?*zw4^2 zy!sw{V?F&``aPHRb)OFqOzBSve-II(xF_XccA!R3eO`yEU#A%5tO`U;l}lS2mFNKp z4=jtMj1$^w`v%mSLS9WhlR>Sh*VZDVQ+c(u#e)(ixt+&#`L%P&>)ftD4dsw^^YU#w z3eN&G4!Z)Yyf`XLtIPgQqzFhM#v4MKGcBGVUyy0h#S<+u)8vT9rA;zxwUwWw6K`}g zwq+a|>OLmE1Md*=vA^B6rqM(uRwg^hKi->bUKxm1 znnTrApVi;%`){;CG*Iy$00>*>+NjEl4NkaEyW3816k#y-XLwp;0wTuQ56TK|D>-7X z$h=DGms+h_Rx3l9M1iL$$AATTphp#+$ zD}MaxA3ycir+#wOmRpYPow)eflT<3>ch}R0-(4?^CAM9-eDg!+E(L_Wcq{%{urb|n zUFEZ+8fTGr;@&`fIFbpZHbjQw0WzZoWBqjXf z60LUoDvUQQbq+=A7d3gz<_R|d!cWz=aaG^)im0;QCZ#f5mz=gtM@@M)5a6$;S zamCZh3RlP-Do{MFpqMvZ)3r~9g^QUM5khmux^k)P`0K^nN9sE_oj1Xf*E=_#Z<}1w z(Gl$qSz`1H^TCf|)j!Q{xy<*^ zva&{3IDKldQg(Yj3qa4)xX69b0&#pLRTYn^5|>Sl4Rtka^}_9B*1Bn_f;(RzB-&a2{%sLgE9Ye;G!aVImpQE- zxiRy|3a<(#!=GLlYx2{XhNkx}*lBj%f4|$d2EVxpx7xkdl-a5bvxoU@Z%-io4-nuP z0D7F(^Lk(kf0YU-rm4w^@ug!!gMGbhK3g5|m798$o_RfQVswBQFo6JHVLWskY%+7d;?#y#ML`|5yQHez!R&Xdax6!?9kt;{C$uOt(6$0QntpbpbH% zG#?0@^~EiDu%b|`FA}XUa&$IiB%pW;qL^uc5Bls7G9TCt3w)y7FevZg*AN8Q_x3$Q)cRN>icVu zkK2cCmXGDOg0b9OnY!S>cB$>q?dFf_hiDy$jSuxUpn~ndq27Avp}wTUjR$eK`Mcm3 zxhHPVf$xI-R~_h;yX|2`X>82*$xS{NEi0R3J~?@#)Qf_=Sj1a5RQVfozPjocJ5aE& z=W)NEzes@0{Vjbjc|c@ysy)Rlc&p-u=LQKn+BTP*wvj^Ul zr{>_vO-`DNn-MP35YDsb`f|mqi$GCiH?FwU1D_ew9D&UM#@()*!kBua3Ul1Z1FE{* z(TgTdU)|C=vU*vssqwznkrgAY?%K9WrY>g-nbSWmRG0gXKhfZAm^^-H#Yw9cbtY=B zf1qW!FWEm8t4-9g{Ww*^9}4r~=H|Himo!W2wQD28>$nMumA{E6<(0ptm%lZy{;PWV zyYtHT>*a6cm&>d4@^^3xu)BRPfb=7cbRe2( zXy-T6n_j_VnC=+~l25lRt6>^I>H9VHt|>fHst>g=XN% zee+NOQODF%1IFJ6CW6e6!g=5#Tgsg|e5}0XeUxPuCD6~39YRKa3u#`Ipj9ZPDwZR` zLL26X67XMoETQA1&zzMyh}774o-o;(UtDD`7I-+@dh~-oIk%JwSyrp;$P<*7ya2`A z99O*3#)^i_7$O5?%E$7`-(=-_{nzyJx8{}a*UR6?l(Tf&xQ5fL$X=goA^2^|5#VWkZZ*(iW*s5N>rW9R z6lBmI(tOIo3PXBRVnk;`nT&C)|t$wEq$L;CQcd4pw z=M4)Xa*-IRrCuT%F=E7|5yjE;HQ0P* z`UmOrK7tpde{&TEaj)=N`hU`oo{MYK51)(cas1r$7jO&&@XTFHe@S132*jZut!&3| zduvwZP|8O5yTX1VlI~XX!TZ9yD$3Y=)`+ZRQt*K&3l$G2@hduxo7r@m3#B$U7G5T zX$YWw-QTX{G9K}^RSvIBesArs(_dbGVM1uAtydL2nukv9*#C!4Rnuc`jw=Rey`>uf zS#LZ;Ej2!c`1IV|la?qHsq<#ZIIB8Y~ z2wVmrKBA3Pez+~=u-ol^yE<*wg2E;O`l>?+KtfF^RD}}(2^+1ra4XCc{t9WD1x0J? zI`_@I4ndO0RXn(AOLjWTMMU!SYDo3x&wT3S3)r$rqNLFs>=qh>!Li zbM4wwzxIh0X;lay-8cKs)|rz>I#zU710b}_8O5FSd035AOrvnc^6{~O#e9CEmaW#t z=~e1a>Ybh-MDimFEM6}O5)onwD zXVpcC?+VqC3fLtE4rNEEwgfLQ7X-BuhEvDkLUK+HD&t^?CHDS{?8(fgD9Cwaj>&kx zK;GJY#k%_Fz~n%*VbR#4hLMwQSl+a9e4t`T33}XhOMAhRqnd{G5Y-CO?%pxY##1t?Fa>0n%b6ZN^QMnM~rado{-XwcIG=6OQIZ_Y9 z+UP!nXG5l3EXylD4Vxfa{}1#*z5M4`ub2Om-ldoSI*}r3Q==oPeik8WQGL}wmD^cnH7hWT!?rBT$>fqn zM27W+vA-bzUQS?8=pefU-cdGE_g~FrRoR7ZHw#;fGbZ-yO1rc5~Z$V0VbLEud>OrzS6@o*bT9i3^zbU+(u5==afU=m1s zsiwe$l8Jp%M9NyodlxGTfBM-Wq-@wQ|M{2mI3Daz(AxeEzs9n=>$uZKkG!X~X5EoTb=+`c@0EY~6cv`Fx+eQN z{NA7;wCVXh$DCW$zc0P(n9Em%`nsA|3^W_@FP*FU8n^Tss?9L*Zr`1l>L@?|jG+sT8KEs<^Yo;@#_x45Te)&(eCf*BXK5%g($LdWy=2!Y zej_rrv)>qM?((-V{=iuJevR>agnO`q18i?bZ75Jx?v_NgbR_4&R-i~?NTqJgryE+3 z2kR>7!4{w$mIv!9^kDh(HeQJNzC2hL_h3t7eaIecX^wK%2@BlUYTbQ}jecaZA}uK4oZihq-Rcqf4J|kSlgiuAcnF_bys@-7$URAA9oXEuUzosU@#q zeDkv2GE+@_tZiV|Xt*jiD%L3$uVu2fqAcw4PT7}qo-}PWd+md3{&MT1>3@9r=-xed z9C_Re*Q}nJ+;e~bMf<z!%6^TGYA9%hNlpp zBy6J2>S(-u^b2a8Ra%`PnAPf#gVZ?fk_j$t0p8YYrw6bNf zx*Mv-RoS*EE}0M*&!1mpq+ltdPO+o!vTtsvxxzzXf%)%gxa347gHF9E`pC{m?O^Zk4|n}U`@&|Q5# z@YirRU*9{Zd-)o-f~y?0`2~Aw6PmA&pFefI$-g49>9YC;MhAJyMvJA~8}OWUX?>$g z3z`1A0Z(m8^dB=7{UZC1D5kGyu*EG6!DkYeuVoaGoeoDunf%4X(M32EQ#)XP;i@=Oybrsn))ASuzB(TV2sqU`S#6r$Luk`>- z0K+0|m84!5n(5Z-=Y(bojYuh#8P0Dh6cAe;C^F;x)$6O6$js4savKd|XA}OeVP<;R zTb&V^8B0GU`)7~cb?Q7?%g+U4DzW9Zk5BH;5?ktb_(}Z^ADg|yM8CsxPp9{Zf29vW z1lsZOlox?zVDUJ!!_K(EA%YQ8c6Qp{f(FgQCjl^kKnxn)8>LFMq_N;u%SMt-yTmfo zSum3sJDCKG$iluL$BF}hEbHca;IZ@I<}x5N3g_YI;vo69Kn=9>U;xZEpVDDTfi3%< z>(#0#vH)^>J_sU4!ca!SOnlxUc!S&GYu2xr^wl)bMYDgrScz4?M4mw-ZV0&>t6hGd-D5NE zPve8zC5P+`mpxy$-s7L>S+u7mSc$D{Nsd1B?nb4$zS-*wQi+mZ;Xi|`W3e?sjYD;x z#-Z8{Dbk(t#X1mryE{@bb>>!A%l3rH6xy-flpQS=*PtvU%ZMbKkw^j}b8}=_CjmC1 zBxPm(9o3Y%H}m^N;4nel#XwkiVz>~5iU9*^Im$Fv8VxAbv2=fHX&#n%Ff0&7vknM_ zc=~GL$U*TaAhQV{6qxXov-b;TI{+-Tq6iL%5|Km_%i#$iOM2~>4@)1vy3@1vo^F3SUK~79@5^cqnY>WmkQpi2&3w#JEV@fVf=B*hfovD z(sl4GYMH9vgq7^5+bd`kR7Mlgwgn-(Sy|!@QOs~i@YOzzPJ@l3^ZR8=MKEH3v1=F! z7-L{WV#M}^;^_Txpac$L{LolL4~ zxjvg4h*^rnu5YF{zLM*iOj|3xPt(>KfNAn#$~TxoNKFq;FY0Yk6$&cKwf;1K1KQYY zVY$yEHH6CTC~B{AfpPz{e2$o8$aXLz&L0JIvhrNFvVRaDcOH=I!#X41hjm6(AJ!QK zKCClh&+u42kfZ}?L#{-C#mkUL*nV(0{TUoxARO!er6Ac8omzGnKp?14RFF%t#IWdH ziMN5Ch2kz$U_&|gNagg`$aMDU8XlavbX#XmbS+<(jp+`qxMhPY5^(TmP0SZ$%RG3= z-BCLDky|$FGHlU&oi?*+YQ>5C42;acv9^xuXf4_@ZEB60m@Y!-PaOXM{grgsO z!dYRsH$C=a;y&W3kZlEdmO(BBAQ#b>!3LM7B#W7fB*z46l^NM|M&gS92%QPG@Jp^a z&7HvV+?V;-^it>>T2>iH*c;+2q%+r37=pvUb_Lp;D2pP2i%{0I7Z2tW*fo$>*+ zwS;S#5)sSs$R#2wa+Hr?aX*5jV21mT2uOhO&;c;A8Iw#H-HZ_hA-l|F7WFVtN;NeU znu5WQX9=Zoaw~u1860B~9LS)^prUBG+>nP+4Mt-QP|qhHJ8VF9*D`n+8WcCxmkx*W z;3Ssa$P%AbTkRe&eGc#!5la#bk671 zk^kVEeI}0I@}|4vWVmAg58dm3fAQI0yL7x`!$8pxCk<@g_m``--E~s`5&QlO0yND1 zo4zaBwV3`irc=R@Va9heJUueaqx(^nx23Xz=`}FU8*|pf>uEt5#!Q6Bem6n3hl$82 z6O1W_%o;B>YU{2hi6CY;tOW-bG^u~z0B#P@$6j$QXebVV21A}b91Kl&pH{suG|0oM zHlZZtko8Rj%MXGqYwCy^m`wO;GHRY~tw}u!lJ-GIWycV6(NsiQ4AF?dL3yA{CbR&O z$u<@;gy(n6>m`tW&esJs+zN7w6Rv@y~+vAE3^#;BY8 zZFb_ATaIi!XTlR(-b)^JDD^}l+i(8niyyBKcw#Ghu6Yy?lHxVwdHNvOVN=SWMjI^o ziVQLW$!IGi*wipjc0opcvWEzu$u7uPun}7==NyE5HxC;XIB&2sPM*KZ>XTL)jFLi+ zH&ogleCs#jHHy5$V3thc4p~8MNBKte?0%!4olPW|cXnJUQs=@@Fn4ywe8SPp*%=F{ zMDx#1&^!lEd6u&u|MKgn9K3nPZduhI z4)?EWX0M9> z?-XGlXTNZiv13XIA`&3E6h+E90y}q}Hx<^Y$tki=n9ohlP5E^=Lc3r{fg;56VRg1V zB_}D>kgb>{%VUT|>eI?pyhzm?SGrh~D_wuJb|vFhAw!og*K&qte9KoOUn4j4O*Vy+ ztql%e4ZTioSTxxfO14GlWKA@=VW8Gm?W=1_Zb-2YfN(oO;db)aVR2JEN&f1db(6;) z<@WT3!?hRx;C`=)+dnS+2>&R#!OODRDWDQ{YCgQit;d~p{_%$mXY3uaDHe0J&tb6% z9+&W=wd?nOXHB!wsW`3HXmUx|-ybpaC&71?KZ*gFgLvg6U-3&Nrl*?3LocnM3SJ;961>hPBanWBAm$2&~RB6|tgYhl| zDkzYW*P?uZm*}2_U$gF#7n8un!WYO}^sVfVZ{a5g2&bj*6hrh!(1gyEwW%>&TOBBO+bnteKI_XA z0%$i8jp+r^qAB)e_W$vsYt#@!IqCgFxF` z%#NA_f7XPOd=ns4Ae>i+$$n)CtO;kQ&MkI3Gt}}7-`mvx34Xi`0O3BkS2T%Y!5f-gHEV9pXk{c?C3%91z2NQ}Iqj~E zo9;esWaPBFH*LJ@v=Op$<6Wl@51)S5#tnC#HavXVoghHX+<)k~SPgtf@DKQo;4H77 zlzmG(L_&Cj>}sNeYZTiL{Kn0{@s_mNRnmstcR%}v|G;^506Cd-6oBxbF9H?#Hep?A zX8t9ix^P>;WeFeR@0vm(4B{zLQm|e4(t^#v!9)BF$QWLU$QWMP_)T0`g5CAZh0?YH zAmhxzw;5*+!*miA^U&NlrI~P;{}Tofo}mwd5tgJR#>k+@FwKCd6a;|H+JmRZe@*%X zoA6tq@47eUcFJdVw*x|S?myzU=w~2Bu1p0|1B?24dlK>1=190U6i}rFJZ`6!+ks%s z_RA?F3fO@L7R1WrIDk<$$VQE=7j^5 zM4I7@kj)A!li;AOC^=5pc)u_&4O@~!>~ko444}TO!>dGUlX3NVtKImqy0h>5+D9&b zx_hhQak;8HmJgl(r4Aw*NMkVFVHEJwMxn`{zDK$0w2p~nW3bAqSd5!y{&@9CpE`Yz ze!T2dBGHqDJJ0#XI;X}mqUY@4Rjp48HbSYnYT9j=K3MmSktQuw+e8OoF!l?wNj z_gb)iU!i(wL2Vk zY^rTCrC%f)WvB1bbSr-UQjHgzj4@v9!|^>B(Y0s))oL0pAau{kTE=1>?n;$0UQ&l$ zF>;0meGg(^B}%jm37C<^M)l2V)S}UG0B3KrYKuv15kW7}gTaRbVJiZ`)}OixAds-9 zEe7m21J^g#Bpt(f;8IY^5;OIcFsIrsK0Xw1EdG(lzChs7tHF%5Sjt+9WU(u*gXr-y zcF<>gs1fYW+o_k#d&sRs#%IX%*{>g+etdh(vbbx<#Zwi2uJVN;0KJ6sX<14F*cS%S@IlXj zb<)K-03P$?D6k+9W5%->$O9>DpIh510<){&TnJFqsJ9jfqQAd-i-D+hR2&gy08QKn z7z!&bh_Py*DbpBaWUALGDyYqrN0>8xzX(}d0?8^&dPa);hk%~wdKB`4f< z)by33_k8xBcSP4V>^RFzf9jgwRa;iwc+!yh-3cmD;~A&5JgEgKB@5}4WB(JU-K^3 z7Vw3C2+A=F5{@~_6>6#QMng_#DC(_f3Au2qGt^vB!AmMCnnOjfJ?7O8=p}+4tp_% z%OwkWS9%S~U?62++!$I!TUQG{Fl=oo8n)J>)~y(^q1JGmy!$z8wX$3=2xUhqwYJZ^ z^AE{ll12qtw2m4KKVz-$QGZK?+PVarQwFvIkGa;XiLOak+NSPfxt;r|+9K!Tw4Fs<~4J1b#?=OiqzkX_4pnyvXwcBF2Y^7yq!PXQHubSx-$(&$6b* ziJqF%Tbmm?IvSc=rR$@ku_|?ARJ3U%R#_PvX^O;Rk*4-`K)6y8$ls(_p%R`f5icG( z+-PvK9t|$3ZmHY6-#~BaFfVEL)`%BKHHp!t(4s_((;E^mlxh>BjWz0D(%r#e`^vsx zd1ZNRsAE-c$W!To{|nyn_o4s*000310003Rpw}*f=2B000000C?JCU}Rum-}Wzzfq|p!zv{m&97gOH7``ze zgD(KA-Uwm<0C?JMk^_ujK@ddi56-r2+qP}nwr$&v&bDpazUXZ4Z1q}`y!5zHZ7Lxf z0){sZP%E%Z$H7@M1!+indkH0N24wXP;H=7mRw|48pq^tq&$@Ugkwq;*E82AGw%fqH zO5`?4L28mzBr|D1mXNaKsN5&%O?J%ZdK7J69Rri?E&9@KzuC@z_Mw_>MVp*NK_#1; z>prNYDxkei=ib<8sHyj(Qlwox>qGXVni-Fpe)a&*p12>T3i{e&7|i&GMxKc==Dpiz z4x^{(>3%a8qi&)L^LfD-wyV2twW^H_COR^i0w|$7BcCaR?0P5isu3urFS>)KBuXfa zYTh5$UjIcY?<>ki%83G|APVSz$Zj$qy1ZBSxQ^?7sWWJ3@}rJ^iHi0RWBTAO>X)=V zoTLBLstM-M|15{V=+ z36U>QhpVNK&Xb}?8!sJAJv68EaPoGy&P5eoY0e-6KUx==Tp^D@uJ|Z7RwMYq( zMS4th4zz*2CHjW5Q`~=QP?$6$zsOe7m>MmQ6d%jIwb)F?d6(Qz_RnTAN!@dAOb!fU z{Ojy{_CQArC4JN?mr=B44Hruvm?kJ<`k@H_D~N$!B-BPvFEMUohA$1l`?df800000 z-~iwN-~iwOiUI)x7zE-52L~AkS_hK{%m`Zuu?Y(aD+!AU)(Th(;0uZjW(@TWs}4pE zsSj@u2@tapOc8q#su9`}-V_ZKnH4h?;1)?1wHFW<#TYplZy4+us2S@Tlp7ZtksJve zpdC^k4IXhG@*h$k;~;4u&>=A)e<8~v86s;Unj+F8fh2k*7$x*3peJ7_iYYWHtSVD0 z4=YnFF)ZCJRxUy>122s*L@_)u?=ns^3^S252Q+3h|1~N##5NH&5jKQ35;y`lp*d(d zr8;Xm-8@@8F+F@ewmsHATt9q2-#|-1*Fl3pvqGvv9z#(>-b7DCvPAnvI7gXDT}li} z7)m5cFiJd1NJ>;o5=<^kI!s1PQcPY&C(oW=0Vo+jGZcutqhES4Fo=~b%b5n;?lT)8lt5dgA!&A>w+f(OMr&PIA%T(P| z?^OX+6IFIrbykN~nO3V-y;jdxu2;ZVmdcV2^Dm0!_eKVeH@ zTVZEmcVUTPn_;bCzhTi~<6-q;xMK%nR%4Z917xaX%4F(g7G*+ZZe_e?3uanpCue17 zB4|u#b!e+{cmM|gU;qRF0stZa zEdV(H005Q-kV@Vvsk|78+HG?qKxg@pkLjOOntzemg^>kn13(Z(-wAq#p-5fv6sx-%PTbv-)A!XqVHtMh z%gQ@<#te#dT}=|KxjJNMQ?l-wuNoz)?hU&I=a(FC=1Mtlu)+=v=UI-eQ)VUk59CD4 zbXF(WVAWXHZOiJ>X-Bjer%POkl4q|-m^Yo&ts3-1WUSuZ;=?Vz`E?n+sib6P#rLR~ zcNnv0l*rk27n>la>WN{Kbv9goBix)54QAg@XtqjNsq^-(udE(AqmH@CX2C7TB7@7f zKlsr8rLau=`OC%=%<5|o0C?JL!Gobf0RRBN`|sPfZQHi3v`ka9Xs!ji6HrJ|h)XCX zLs=kDu0o|M)oRqLQ?EgzCe2#3YSXSmr!L)k^y<@Zz@Q<+MvNLWZo;G~(`L+?GjGA7 zCCgTbi)9k007?0Z0qx8+qUgswyn&rmD;u$Rd?pc2zMQF*f&=+IO2?xu6yiW zjC4YggD&dQ?X;_o`J+sy8=mOZqt6}BB}wqY0t=n9NQ%W0CCiX1O}a))WXqK0rKLKY zmnTQAWtz1*ZiVGmT5XjzZdq%+bvD>&vrV?xs>wDxY`4>HyL@unUVH4bUyC-MV^oYb zU@*qSSox|{$G8~pmDe#LCaO{EOH7K%F(sy|Q}2NSl}eN<^u}8seDv2l@BMSYQBQsM z!`GPRly*P;is>;UX2z_T9dlxC%p2}u4m22sfiM6=wHCI$$>bHv3RGbR1>$mxSa;!) z%=GEUT@-x(x%;nMp7T6Ziq?*{c^}3U65)Gr&8dlMzc{D`dr}@sR#s&f%<5Bd07%8` zN9?A`$pm&^yn)Mj_7NF#%rY5iO1wg3sGrw{KV5<2L=rE@HyKYHDd!0HK=z089%1*V=#U|Nnti;ec%irUwuJ0znHIZHxc|71(PPm@f_; z=mr4D3PcPXssn-#8q5kF>)Bcu@e0!fr|mO{mFf{Q&wj`&#YxXW`a4;Hl#@Rm9LrZ+jf*o z^`mn}a(g;6{fI-ciNV;#T%*>b5mlg#ej{?)cZ6`l&*q~Q36<(|rVTbi8;EE<6oEts zcmL`6vpTi&xg|>Gy@n9smzb4Q1mnsWn4AWfmPy2h-fTdfDUUU;*=SbK%D`EqT+q#$ zhfYqershsne_`^w@rx1`Pi^Rj5)H{fv0L$4!t=XW0_Y+nanH=l*GZrt#;WR4p&Uc3 zs9JUrvs+VZQ`2$7_-k!pp6$|0LBe;i7cUEw8WQo|DOTn%kN%al4H`@a61FWa>>#$~988R+2tb{I$(XjGcd?Zoi^hYm5(el{A z7v_(o0988lv5MJ-3|DbS&;g7BKF5;s%o^i3@p=LR>RFfQlV4JW)VFqOL8P$ZHQquu zUB_CtS=d_vu5+DvdIsdZAlB7RJ6nA?Hlem>t%VRGIT4B96&^hr>yO@SrG~QdtT#F$ zp(Z+=oQ53sA-kE~tXgI}ei&^RSkV9kObX4(-&a67h)ce3#pcFeU+L@39!<)1hr&eO zxSM<%8AhQ=TPZLz$ga#sRi?ko-nCB3wLv5lDJUt|c$yaUPQSzw9i3w`kX7gjU{XB# z9id~_%q8pZVU_*QRS&-a)p4ku>Q*OLOqZbazhA#Q7A~wtqY&=K@x89gEcZ?bPGJw# z@-)4~LWgoSl86ae!EzAB92%0>SK6$6MSW$t@HS&_Vgs;h#K~vmwD9Yk0D35P^3@;? zd^>mJA5dff&ijuaW$wyXU(}|@L^6>pgd48+nYJ!pj34NYBj^qrx2Z4Q$i(L+5hay{ zLz_LHxRb{B8yo5^&k*!{AlXB*IUZFlT{ov8pdt*Fz)~KeXH|?Md<(al58NP16j*&D zZDkt?)WNmz*HLGN4PzFBh18$BzCYqn0FNMXb-Y&)&RhWA{AIMDZgwDfP*)p@01sbG zRDT(!f%JebO1u?7>mP6C4vMK_d@$6mI{`b8Hn{pOZCpI&8-+i2fl+hR+MN0;LC=1# zydooJ9O=sENtux9Z__)-p4d6ZVnlnTQ~!AP{(ZWdFRHN}q-i&CXo{REtv(aHm-A{E z<>6k`o#gQ*@emZG)gKgwPBkgH36|m{pz606bcTs2K~ZHpOy7eyzT+gE%dYQG`=&$f zlK~~G>DzLD00I=|7ar{!I3Cr7$L-O}uUeyLj6hH->=7O8dkM__ve*g|S2UqkYcg7= z`~!gohbP4+CL|ysBEv5(EG>A-3noHpf|}W4wOMZ&o0%G`%O|ELq$IVK&vdGtM82Gu z^W0$7y8YbIdOV?8rdIBdT(NAqRJHuuEC>%Q&j;v>@#xo;sgQS5TKzpRI$UxLb76nT zu_kG!Bvz0iL`0L)?8#<|N7qrjrNdLgr=_G)E+gIar#{ZY4nlAxvY`yOz}TS}o&<#j z*1FRh(m6Agli+;*qaIg_TmP(3irOl%L{z6Xuc)9Tf7+tu%FfQg{_*bN9vT8FGAtte zuNLG7@j}j6O~MZ)W-5K$mf7DmvaJXJ4$%JsRu3gzDcv&TYBN3ghDg9W9eukbqH>!C z1Y0jKQ(^rDCqrX{qr>a<%c~13OKTGpHX%(bOL(qaxAg<1K)-D5zNS5aq;ztJX3uFz&8AEpi z`5_?2C}#j2mgsJfSXLGcElc47s+5K(s?RDe;SI2;6GuT#R<`-YKJo7Syvx2t2^0IU zKXADZlP!=caWc@G0%3}TrAT*3d?>TD&gjq;ez_LAQx59> zj44}g_Y?Yt@rFc#_WW-1{wjgYsFE%=XEK?tO}5PHK{8EM~oelAB4BDG1f^% zkpCcaea3@@o}Q*|73CZgogJ7MnHl;YBkY0?=m~`p{(Fx5dZbcEm$L#8lFsCZteKp$ zR7yqT)#R1TG*z%2H#UxGcM@f1Sn2A)*uBTke;IuhlpegszFX|?8ylK3Fl60qwc1Qa z&S_r)6%SB}^#)TFSaSh;`u*QXFZds%<6QdwU%B{S@ElCW7bm zPahs}aa~Z~FF{G3ZRl-AeL-3h4@b}upD15{{=ZNIc5olh?t;URz|8GeAO7Vhd4t1A7CNg z#*8G=4I^@PJc8RB?Y2kg3^Sv?M6F6Qw@a~Pn`D%-^w`6UaZaLMVP|P=admlp0R>Pg zp^5ybJ^G@jF~>va-=CjPTLlFk!l~X)w-#F7rg8zf~ zv}v!&mh4Ym^(WCHqZ?mqee{1nd?7gPL7{qr55OGO?C3QjbG%p|QZ|_Gg5T^K!iDwX zzGiu>Y5#--N`le?bHn9UqHR;lRjKyc8k9;!XBRrg%H zQ^&2emlxZg_mVnhATozOI+**gmNY}FBtwRY$apZ}?di9zCw_&@xU`(G95$XgV$8_Qvl<0%S|_fEg1 z4&w%kfHu*&@C_9O!J6iSi1fexaBQat*~T>h{O}w#=zuKMd#|#ClSQF1C1`Ey$9kJSsc0}ln~W1j+Nq(On{9>%_VSBJar$9~oV}^` z5ueP@e%cRs2=ha3!!l(wmE%vln~cdz%C(0d4j}fR5^ZiBRn2lGAhBQcWLENTrooSu zt5i)c@D?=R>^-yJ^A+Gtp0#d&zF{5E5AF`MJ#emWO|Zrk2>ptPp4b4gxqfttT3YFY z%}+BfSwXlPVZ0dWLO6mDq)!|=qmxO9A1jFlPE7sDCG;SAxqi6%stuBN*jmp1ua%T{ zb*XdJpVbr%mF;CU7G-&Jl-7NRDCc=E(;k-HwAyL3lja_i!k1p&fXO@Fs$r~mwwaFc zSM1U+Uzdl|+e4DgPhA{QKio_%_yL~F&LB6>`n}(3QN&%bg;1$Tm3ykUmSyQv?b5!- zqR+4W2oV;aPO@tx2nDH>tNB;|P zE?6Xur1he+X@UKM(R0BSz%A;xB_K{SWiYRvHXZ~)Qgh~F8ByV=`AaU?opN9 zz@Pubz9137-&dJHzHC<*L|S;fZFGQ6!)TF4_Oe? z#0>;2vjefQNXXX7syWnLe`37GgWYCpbtGaQiPmHpybJ)XzS4QM6!WZ%0j;6XJz12c zU`om8RETNF9Wje!-amz^Q6F!WPg3MC9AG-O#z{l5E&{4+B1eFH7pZ=!3M8PRr}EOrJ9JwQRn^#s%DZ{(KxS9j(wUat zb1)r8n8sjKFuwo}c*#~4GvU3I7-u&(edRapM3gnhE%;^T1bNxtu~#o2Y}5Rz$h>i= zXoeS|D`dr#O^ckdIy_9E19o9WbF}!o*n%9?HqcT#-fSG{2jvpFVePq(EF?z|kO;1o zNr}KJ!0Znn90nPldVuvvZLS$wb2I#k^wfwbS*Ja+wQf>Q%E&UFzSL`r?Q8AbO! z%mPhC7*sZX+$S`Qg}Zxmx?dBqM)Xi-H*B;GQ$Tjafn=a)lt@%8(?IPI4*!RvrvQr} zg3nDr4)?+dilTQ8jc`fV{)QSmvojah`t_bT3?8SMsi*G6%4L;|pmLb_N*EquA33PV zepQ1j0{Ll2FTvi95tXfij6u!A{ElTwG`MK*XrE8tZ+s&pWA${@SP9nBlqeusGb8!g zUjFs2?ya>d4@ON?ltj^YX^`ic+@lm|(yI(U8g^tFs)b?`%N#4xInG43?iVAWf)RWnkE4PYz2aJ)@RPx>PWAFeHrQrY1>6{pS@tw zem{N3l4XvxPNJ|=$ax2%Qyl6bF0DeZYDxlA^tnRYTpow?%=03WvZA1oRsg*SVx960 zDiA5TsNd?@b>wa9%-o2p1)1JVnkca#FO!d>hhf|tF)fcPk!c8czWBZim>$$tAyFX< zIdPOpm1C?B;u5t<+xMOrv00a*M3DGpPmt~Tmp)`U$sV3CI+{8@Jo_%@iJ$`e*D#cS zrN1uo2SO2qlUJ9ATkN3!V?P)vTqU7Ob6kcfbVZQaoHGk5wdS@qL4VmZrGPUi7(fAt zYq%*?pfI^z+;Z}l*RP@#md+BZRw5%Gjq4=P(2t*t01l;^FnIlUN^f3mx9J#TW#$8) zvIY>8APJ$0LV|P)>dfEiugXDW9B)s3#4y6z1-HZTVv#LsvisNmuy^KOHSqh+3_f8} z_!`3>gY<3dt_*a3at?azfH?7(;#c_Lrd-J^V%%HrCh^_VBDgE*mH0({P5=69A}4x)qZKUDX3Q}?agdP9 zMN_<6_X=3I8oz8$XDz9i{-`TsMT>rf3tLZDOw_7~0sT)y^ zXz)I;#n7Eprg-60-Yj1BKb-VXS%3G6;SNLFa%x&W^HNhoLy=tdeqq$G)>y1vlBHNvWhKm0AMplWs4O*qP49q=IlR2~`5zNg$v0%)T(pxsEUTV~g zc#5?!3GG~;3&c*jbOHRis|K4R^1zMdx~PrLG*-OzjtvXawTHRvNAcv;KgHk;2q&i( zcsmkV8ij_HBcy~w{HK4T^78>xIc$cZtmP0erPA?_J zi9M{3(n@O$1)DPS9JTg?EU=JZz91GoN>iT1Al`o^fXfZ<*2uB4%O#p@rfQ5E37oe( zB<#?8!xx%x?COzsRSN#5?A+RkBu${2?nJc5>W`c!K4sQ3sWDtGD*MAyid8+w!Hh>1 z(AS9T-lo#Xzo}{Xnq|u!!wXEOg&}cIT zP0ucs8-j5uc5c>Ct}#(cY1{dN0QFyDJyXl0bcU;d@@o~PhOv=ycM))X;In+k#iK*y z@MYx<<&P%>x)NNXlv*wn1*jl#&+22aM8s88be7_pri5BBymI(;xm3%oyk0spu9_)v z6>Cg2`DY8dSRR>fM%R_pRu{Iu=XNLYdy8rrvC0VnbLQUftlZf9=mdTI&J6vw>`tr! zEC_hBaoPuZ$6nj_`g1DYB^@@H;Ggb%uZ_M!`m znU=4c2vSBBXkCW~qh-CoE|tP`ZUObS0d1-L36CfcYgp6sO#*9ISOiVwC6U?Uy|8Si zoIb8iJYY?FzxSspH1Wv-H6k*P)BBcKV+R|2h7VKdFeaENk{Cz}Pa4p2V?#7MQ&YdY z@`I-}Iy{|XhcU=xaqRDFtW*o?R(>#rvwRFaMnx|53k=bzz!yhfMx7UT4Nxg7uqBnr*#rdWPN*KqvtGKnle@fajBzYI6pR-qbG`bWA4qR`-92NKS8{_ej!E+AR>Bh*O0Sw9B6 z`B{aHP?}XTKjuUktROxlJ$myqr^Fgkf1dgMp%O)N3`h8jDc^*VK7(zVck}y=>m?1{S&)W#K*!h$ zb74!RlN^-Ohmfg^F)zEuuu85(Ud04?jsef`qHrJNHj>z4Ifa6QgWjakLZ=c?Lt%2m z?ZcvLa%58K^Bi0BdrFt5VgdC+cC`OE$km~er?|H8)E%!!c42L8)i@nZH3d0zQk~m#_{KoS5a^C# zcUV9|smH@+ygDX94g5)a=A}91qeFlZ`|1%HBGjAO=rfnpH%zp4h6YHIQ3~f)+hTd%@?Z8txkr=P;=>-kwpk2VCfM_Twm6!D>TR~XS6e_k z+z%q)PD0-)&;8Q;pfyS^4)A^>MaC(3v*PUYyu#frzcji9E%E%HL9svfagmdb;h}Z# zlSY7{;bC<~b(9y*+O2crNZ8ED{Yzm4VB}jVIQ1{y=%4o_^XShK>T1 z27!t7i41ESX5!P7{H9k)_V;#%z_%d&)t)AK>hCFJPn1_ro z&F9DdceB~mhj!-C4@h;TBHUgU<8UxNZ=dGAFjPYb?0hk4^X8o}g~?^R`g(bAaS|bN zrY`MUk0$TZKX;o;)`Nc;py7PnrMGqzms^~?kCQ8d60%y)4i6?}hlXC`$~T6i1wk=z zH_D&M@2H4cWXFzv%W^PUH>C~e<3DG@Q+eYSS!dcYy_Gm;(p^87R3BzI0&+|2cpWkj ziVL>0E-xzNEimS}njj5EnB0(o+aBSg>DOH`W9{NEv$!By0#;dRLgUR`I2|~R7DrcW z{NPXWpcCnGcp|3#Y(_Yq9q>7o+TX`aXZB2wK$ZS-V)Jgag_8{-BXN-}*V@JCr+Gq*ZmcT<3^HBcC8DxYduN?V5y?iqJ=Miup3U@xeu?^dkk+(OX>-OIGy zv)n-a^BECH&IGEsu2E~Hl^DUM60yAHlt?FN5mtGo`Mgw_I9Y1! z)tQl!2M3jH?~H)Cx?{!oNO?%n2?wh~WIkJmPzyC5Lnm$9aIBuas0MM%|3ws&-tJ+* z&o>}CQ$uqiL%aWq6MTlvll{=!iM0oaU~7EYa&g-yb2**tJw7LtKo(zqkLdpn?6uw$rhE zmZ-DNVk0)e4Lw7E@g*@ow&nw|Pu;_F(AS1irTH6BK6+vGK$qAqSo&=0VuGKHt{E9K zM+cdQ!wj2+%CAx=1i24X4$LoyyR|L$ct!}l&&FQhcCIIW_1>_mjD;T7#UK)(lEMEq zu(!(rkl+4Q_?t4c%HQ`|x!LI!%AK3#ms0~MqREH(p~5j2DBNg?sVH<*Lc z1iz$jrH>sn`ypbZ$R{O(aXb1LIFXD{Z#^jB%Q?1fIqczZ@>Uz+z1U{=^bfhU(5j znr_cEYpK)K$bNs$&{hij#mZ~{eFBn|LJI|fY#>dbZm+1VJ&Jhg|5n^!A@#5reAKdt zR(P*%k=(iBl??h!9=DJ1D5`!T3VJs-Fp+&DNS&)T9SN|%~07)mYdNR-qy zZtUSPtmEz#lqGqgd!9{V+P$MMg6OG=U;TJ^GYOe_m^0gMBp^Fnd)_Dnw*hr(H+Lk~ zY@#4}R@djxZ4uvKAlSAP8#H@Rg~8NnnA#DaY4%Vn52IJpp^%Ew48l!PCtSqFqhSNU z;mTcza>X_(O-LnB{c6$b71h{%sy*NgM4EFqbpC+#k?{n|&yn7reV^fXGc>Wm47tx% z!@x!0U@ra+MNq&!m7!@6Z3(S8b|&>ll`dzVLpgl1!xW=UQDK$fR)1jtm1?MSu9zzX z1Ft8v1FwP29&(usvK>N~GYh5hr?K?1O8Fonfb8M531e^N9zKMR;ed!$D@f$*z!F(8_$atJB606gZH}f9I1D`ij;fd+Wy{`k4Ziy4m%&l}6CW zX11-fMHULY<1f+c@uw=?AB~;pv0>W$bW(lChDZ*a z&IS>bWoS@e8V{>wsjufIvzyJ0y2#vcOV(mp5a5<1#nj;$S%o!_EcN`v;~0PMC56Nyfh#nTJ8kCBKW@YL4VA zAfBeXC0U*LG~VK)qu&o}UySAmgJy00L zG!Lp~=NtsoNkW)%vCVF_V&GpySV2oqWl392M^Ei00Uzsv223E*AHR;=hNh|puKb;O zXkI4`)~)L;MoYq&W-5E9#kE>0%YsL72Z5%1Qp^6fi3pY^1h>|IwSmYOtT3P0@66MaU(UUrfkbCA1H3zIinqIzehy7rPmiX zeqB*zKTQ!sNP*C_qiiR&(KNMDYSst_SOb`d83RF)wLuf%SC_Y3grIDW@ffvkZ9&uF zMRxMRx#N4f1W*JdJ(7e$5ffieA~x@o%hC3$Q2?p(HAYV+05{C1>LGTjuYg0K>|R~t z<4m?$x|Y$`F}jRyKEbw(MCEi$+RY7x7O{2YhT?YoB5sWaH&@-$KgUlA{RM=JCBo0A z!7JYj0wshoDM-^qWv*#*Uh+K36vjv4ZED7)kh_fn`Y&*b9;FUu5c`Mh*mR_U2s8tw zcV_hCu%P=O{KS^W8j6E|6(XcVQDL)KmP}%WP*Q_vBoz-g2Qj4^4LWW@!XU0ZWBmJ} zL@k-beS$@qt>_N|4IbDfU@O()G&K~+X%EVnqq-1wZ_=KX`AxYA;ZkFaw@usu*6SWH zeK#QtsH(bbXL@-0%kB9#)_=l$30(LX!~l`Gu>ffmln6>Hf^bpltd+aQ43CQ{xKcl{ z%R;cLPfM8|yNQ|`yzf8+ zsT~bw%N}43F*r9hryP{sKRhh&w;ajq?RpBlOpf#`x!s; zKJB>Z5KXf9IWi+!Dj?j}TiEK^_MKFeVv77-fqmJQ^gilw{CIP+2i_9sElCO`6NGwx zq6h6(!fquo|G;8*Tj7WrLF=pOwHfxnuPZZGk+d)pcK+7POD*z5T_ zfsV<<P}t}<9z-ja2BZrXCn;Kr`EP~l>o#lL9OmwGONgG#=33YL zlCQ=5;&I=-%7DeA{E`BBOoc-y!3YMA5Y$_-tVV^OJhI&06|H#;XVVGsMZJ0Euw;0d z42jB;1#`_FBy@%wBen10LYYTX#ZM7;@w(w?Xl<}tK_a;KPjiTQMwRwRT=Jd6HVi|g zP@)h~_asCzroZo8`e9grfYZKk8v12S{!r|fO)>Xu>LD79PmL^?KZFB^gWCi_sU z9Rc~-=mOwQA4DsJ$FK*`xJ12;H>Nx{=u0^aKvck!z4Eum$$U#eZZ#Nu<4;F=>o0aA z{9+|^9>fF$2ZZvZ?s$vC*@NAg zjnz&g#s2lWh8@q9{pgTYZoK@sq`^5&BU`N#W6&yz+Ox12x*Q1$9U}LQ)Z<>t>Mm}| zd?QVTN6PWU4*&Etj8EsGx1Evlu!w-TckyL=GSsQgO5HREU5L$U+C$2yBPetH5&AT- zFpV^eLsd{M@l6iTdY-g3&u!h1tiLZ8HN(-XUC(z1cII!Z(vz93_f(95n@;yW(1{ls zicdTw;;&b8wc@9&TAe+yGJ#dm9{*YyH&~^`$U>$nC`-LjWw_lfIDd4Tl_VjcSr9tv zD0O>XDQl7wrt2P*D0>B*^|$li--CadQZOCTJ*HKoNNY}I{SlH<%?45SvVT1XJhYz#u^9xb1$7Lvh(y!iH&r*pOI!ghsAh4xZq*In>NLMGE?fnh8}}f)zq3!u^0*J^bv$(vCUb ztYu7d%mt5eq)DUMv!NaW_nB8wOA)<+)*(FiVP$P!5X6q5)H<&Rb8-6yy}8)9cHd9a z+rLOY?O&i&E_Qh24YK7A8ql57a#{?$lw)1{To)CxJJYgdL0loBNiiRZ7&#`FU)?-8 z-JHDjcdQJXX9iF&=%hgit4|u43l^)#<3O-*yCIun${kO~q%osKTGJKuK`#EDrA{=K zS~P&Z`$WKu;H?l(chC4|w~N{X6U?4D5(* zo>8Kn&MiODbYWUhHn9O@W-aEO&_HE2uwLPQH(VUw%J^p)l51xz>|6qFP|Uf;%0a8H zzSA_Wu45q%q6#Ny^xlf_G*ANfbr=lqBZ)}hZhY(nP=`8%CZvJJMt%1JT9w*en_&(% zqb_JK3i|b5Q($A<0!s~1f+_Ms#P;j(?Kq=)F@T}(+OvU$WuO#~DZ#G;qma~wPgccj z8L+^oLwiZLG$EOKWy3JBf3}Z8=4K)Hr;rCZ?y-E*n4tfNMc|^dR`Uip%(DwY2>7F= zgJl4G531q1s8f`Uq(yNFTCSC7EEuM-wVlyP*09l)q(crn2_q|3c9CG+H`>TN)1-#O9Dpy)U`UMc z&YV3`t5FG+t*X!?qJ^9jnS2}g|gTVWQ(Lq#K7%- z(mz663Y3lreQ-`9mBhjMml~D`rYOQxDn_Tz_5!TfSW-ko2u!i8SgAtKsjcJp({i8S z2bT~z)<&N5)Q$I;%OZXH*S>8K*MQ+^y8ue(SeqP;IhMwtjptLJO2 zuZ;n@r%dxLZePNHjThjl)NEU*-uaX1cNh6FaP42_MOXSO?Cg6p@t=$>BS(9tGL@aK zV%FLUb2kEPN!3?he`&oPewB_Q2mnd>Wvz}Z0=eL%K9c&O*$W@`Wh%k*A17KIqCi;=Jnd^)R!DEj7^O7~aI@mO}xMSLJOgOUnUM`h{URv=r2-RSpUppVk zC~4Bl;%H))(N$vH3k8*-2G+!1GQg~R7eZa(^Pl#2U>nAT2fv;?6rR7T^>Vn2tZ(P~hNhF=N$42GiAAufcP6H$G*Qf^G${8o)Lk$^@{!Z} zr`7O~12d2{5IQle_|jwu*D&*NZ!5V3p@&XZs-7JYQEizgP(Zng50?>t+Y%B|GBB_# z>bb3ePgsoFB_l=_#X+D9(AO=p>jpG2p+Em{>F>h0vz*dQ&6kTSHnfhJXwQ9NDGtOl zJKyrg+`pX8)w&BOz4Jx>3L2QKph;v7e6s6je;;#>UcP|Ok*g64!?IU*k!IAvnJMq@ z1fTs)0@0|Cr0^OTJ#vXKfEK+GQr-L&CvUh&ENjVB&TU4Y$T>xQ`OJ)!!#Mu-H*fuP z{bFkdcp(2pjeACSt}zhKaZr6&JR|xgxUH%gqJ~+2bP7hZJtdhcD#J)I5SBK&{={n` z$MCUm4>JdqWCy-uKbXU6)uPJ|G<@Z`4Sc=Gd;!yfdAg7fVQccp-p zRFfcKp;HN~CP>zoG-+oKj0IqP7DINS;SYftk+ifIY6;yd%-KTQkE!YCvAKYXOo5iQ zOq0GiV*G8>gC>nH8-Rzt$n8?5dvcL3wtgAc0IUx*^MB-%@Na!gh2~YezCRJgr)iVU zksrrnWHYy+)p90kT#Rp%Pze-&@vX7XCHWGy;VSZX$42yi-|1!045m2`ICKq4dr%ml zdD3FPUDYP*c9D*+R}H+tQUsg?o$$Kg6JAR!-ifrQ8H?nr*PXHJ83~R*O99RQQ4Z$< z(k8rLLf4KKdOg--s>aEU`rc$2Y|C$S&n=*=PtKtYpMjZ<%o*YHktWCv1y}2*Kn@Qx zq#g13SY&Y=xgEXGb26E2FphqfOodUeC-7qOxKrrRUtb{5QW48AB4=X(5aB>VS%iQN zn%=;X8kHC`z|JPm0m(`t!7$pO-#*34{L!R(GFXXR6Z$YyW)*NITTlb zHsA2eB8PYe){D_W!9`<;pQt}76`pdR={OZBNV6W8uvlU+0+*}{cDn3Q5jNaaxK~nd z^Q+kbV;>l`yjjK`RjBr_mr*Q(j!iSF7Cn41tb~oKlNZ*9Tc%)`J_n)pD$Yn8GC`W8 zyl!cfEIp59)xHou5@K(!vQB9nfzKg+3fkTx1#l=_ya;Mv#FZbEg+>xt`T)dxBOt`p zkvPd~rn9-uVZqZkJIy_&YsnK(+pq6nBLgMEvYG)W5JTSqDDn=@>3CAYtHb0oyOmLw zwOCF?v-ngenvk$o$=qFhobBP}oC?o7bv}odYU!a~=>xnY0A(c7TzxUefY!BD7Pk;? zVJL;yIFcpY8%BMVS#i~9utRkod;@}9pC$zoBo^qgIK!uZ}zdG*D?=n;6Y>ZTg^ zav_(zdCs&~L13Kd2v>B#DUd%nU&sil@H9*>rtmR@5i}QLqRGFDm;_jX%`sam6Lhs?%Av}Pb%iwmcL_@f(&$x=|pydz}k#G8lJdM>iKPy@O+6#U(A7j+_jY#$uM034H2XETT` zyEWrM)R8Z-EmNwa)S)~UoR}Vjyg;$;&!rpamia`&*d?DzXi0wS=kb+;!;!GzN%hCk zg5YWX!S!BZTk9M_>Ki+nXR#RFpGi0ZlP+I4FO$}|&C{x17B2VLseevAdowsKcIemY zl*C^lZ z=vdN}g~p>9ZrA4+H2k=DN&_1MYXJ86rCZC>=)@4n>OD+tYd!1};9YEPZ-PW!i;X)E z{a3>q`guNAG~2$kr^cqc^NoZfQl3H7yVR${G$yK8AqObXSlMt`Bt(_mS%;po(Zka+ zmxjh3<1FI!zx`Z{Q0WILI!;l?;D&YYBuBI9m5BzN$6Gvj7hn{z!U^zqU_)`VVu-Kd%83(CeQEBKuKNA;drgguXLOYLLKR2M| zJ$yKc;4q4-jMI{Ogblb`1q|qgE8HW|7|~*C4jqOQAhg4XGb*79#K>bA(pvWP+!Oxr zp>cQiFulGnNBKUb+i2QPpDz6{h%P-123TIUl@1L#dI_w%Pz&R*3w}V9SnBf$27kVE zeK^;*W_&lGl4rH{hqrD~UAj648mFfVl(H_AwQS33R_rqjKHmI0KZtCdZ(R9Zd8tj* z(mAY=Cj2qIvk6`$G`=HbCZd8u#drl3#>wf)=wHnpWA zg~Y+Gcsl!n;;DLxL0XlgdU8-S#izA{mi%Pw;QFm3Wb8BcHI&hI2z|P}OtU6!*Wx;3 zGCGGOP|KacXpmO^q+81n7-=k!H{q+}riSm^2ry`FLJ+XAu2Ja>vtVN47q zjl@^Uhz4q@{&|jl;ZsNcBE`20VZTx#t!-`z8PT#ftkNWMfc*l3flZroK3IaNjS)9R z<1+!v7-cm1lMcWP_be4nOT<76yl%boF7t=?leQt%+5HD zn82cDmsTtLd!XP?CA+`ZC@xuJb0bUetn?)%6&rX?Sp&$C2RNyPCnV_bITf}t0-lFwGUp^BHiS?i zz#HbFJ|Z+uukxxC!bXX)WUxJ<1rv7}@DuKyl;|0VY`N89rf32DTG@1rJcphk_#`*L-E1`{w~Jxr=QZLFBhaSfYNBe?DU9zXbdaY2&$1g!4KM@RxGduQR5F(k zQB61B_fa`Q7@VsY$UF0e@6~MGSRF6JOrD5GXBUF4V9ZLJG;lHFXcZRghMx`w55g6k zFPxdO#I+tJ`lQAvHfTzhKZvjEbwWAZ%GoqyNR>#m&}uVsBVY~pOUhD)SWW6&Xyrq{ z;F3V<+R4!fr`5YUh!xk7#)HMp;E!uUre@-jJ~2zB{;lKJ+Hv zdLe03-+)s`pLF2pSRstjx97;%b<;qXaBg1|j7DVES;t|pN3Jkosyzwy6eFG_Cti*m z{U4d_l^o22)=(&?5Njf%wEpcut<;0&7967`3e*?rAu_GhOc;pr9ylm%r2vqIlFg5w z4T4OS!~yKOf5X>cU_WQHak^HGdFMgyfX#Ol0pV265aHOHCh+8cEZ~-#d{G-!hh_}- z(1wV4zpBo!V6Q=&#YW{97xIox<4R{hsuSO&J_p!Hin;1tSaI20t7ARqmGSK8-uW&Y zP=q}P96M%|psaXGCnTw-k~bnM(3NM*Jf7XAF8!&Z)~aGuOk+!wty5H)WS3^~6BH^$ zre=_mOd^oROt0I)^rA*l!$R)xm?&QeGwXL zQ%>Q@DCRIEfA2RDKpgA=y|b=fcWu^!CuDV3Y&rU}kJlj-%G4c(Saq+npOL2H*ql7c z{%Hs3g~G35U1KiysRTGWHRwTE?hVQ_+#fH4k?L2gABos~A#W9J-GQJs@=BKl$1AEY zc}$<}uTaH1XWZ^^FimgY0}gS28r$5{31$fae0#fH{O~pIC23-3xK{AVy`O&a)l)6r zh>M~>r;{vuHgd{7S``N!fRoS5`m%D!I6Y5fJyWtyFS}B^qSHaxD3}WDys7bB!r~^0 zP`FEi^Yp_4u)aW+KzL9-HrZa#xo(nJ`|GG4B93UgM#RLa%i848X!bh&eT8Un-Re*X z3wCID4177``Fu%FnsgLQ9!FZp+bCHL3 z?=3cu?d+Gf_;G{C$Uinvq1;4vNS^EkGqDid6c4YEr~8a>^_y^7cg_*rOhVX-$Gg{K zgE**ea^#_s{D0VcZz?cuSw57;#iXyp*jcQL*Fi7EG!t!%k`Cnl^@FS_8y>(lx4qlUEGVsm-^aSVFFJ=?-;bh&NY5hJ~y^7}+K1?oh$}=%fU|luHDgw*>lPsl@tg?fCc$?zw1MqTS@w<{F3<=44xCcHX8_%xh+4Ud(ZYo_YI_9-yg?OY2w#=VEY6e z%PA(Q*~N+EA*v1t$ZEY@H!+w zKQyv#wq760gh=%gS?!FmI|yf)MVNL<~Anf4s>U0Pk7km9a^rpDsYREG4v{Mtq zT~tGMky8-s^p~w{)=aDXz1NH!ki+>p@xynKj(?)%K5=g9i-hBTa7}S{DuC%(FxW)h zD}C^3aAv7qCvp6DMb_^ppn=5^c=i4vxG^p}HJYkZfbKx`Oc(JdlryXi5A5f9`gwVM z+=cr^dKhEAr)PKC&Ix765kiYzegwAT%oPAbXvO& zwkAN1mnV~y(+FHP#z}ASvR4%4?z;lBE{8$)aFg9DvwA}tz^xsMBMN;`P+ts*1%UjM zX%#;dIsrj-YUabJK2yD!b9NCF2C+}JQve?ys0~MEg}lUzmkHq#<8dJqhqmmNd%WMc>BT!Z&uNQ)?cMVQr6o^b{p z~xO%A4pc6CduWuZ4rInssIiv{-qcM zW~)BPUL;(&h27%q*_WjH%;bD-S<%LgClv-~o(x58-VDe6m8WXRy_6=M^Py)qG8M0l z*{q=nK*!7KPts{6Q_(K&wQ-=^r#HP$4JTEE%K%sOfnI@89B?g z%L6Apc!m*6Ay_A{ax(>Y^$`IryFZH_gAO-}EdqFRMzOPI0g6u6@QfFGBvP54G7c#` zN)%WBPXI6`&)Fv^y6ht1+V6cGv7RyC_SVh1CLHBYLU}Xxb;-O|_+>fw(5X=?=`CxH|6Rh0Ir`s|#pvA}C1$aWfHTH(l$|eInOD zZVVFAbFyaFVtb|>%IT5%D;qpSrEh%jSa?e_?mz)6X@|uLqbNaAXk>+I7is}N!s=KE zO-m*g<-*`1_AGc`{hR#eO#z)XFo(PCayGV-Gq*KA62dS=E+rf&r&*8SLJ(NHgjc=6 zC%^z0F!Wvf4>e^q1$qu%ClEWL9tPYp(wFI~r_`HA^=Y;PPxMs?AZQaLW;FLI%gLGU z(pd)c8|6zzMs_5k)!j>#DPOe$-gJ7c$blvlyf0HlELEh^2@+EYa7s}GDF7N^XR|FT z&JuNQ?sWYTC3|*{seZH1DwlM&ks}s1ai}YQR8P&SG=0M=w2}RGfbZMx?**kmx!j1k zoZAf_Q~rgwc^w!7;&pLXInJjB7?65SSf;X$rEnyeSaUumP9md zvG!(Oau6~|%nFAN7X@%=I!OC|EZHU#D+{V;r%@+Rzg^~c16E?paog2+Kp4Shz`g@U zUPnR$f8`R&Pp@V}5;Ir!k#za4zzN+3idt}^IXCTwd;&-TzmzoUHJbDoq-!+fwga19 z2ai%Hh0)V10Q16IEUSA^e)orYq1|?~?%O;KIs7ql-}-LvQ{rLCo*tiy$rdUjD>mfj zvWB+_)-&b{-*Q|%$--S8s!L4?aqI7#dB@V#4u!TUl^bT=YsCw9jd z^Hv~hF2=%(j!K?}V%U=mU6nAWdIX^1 zSSUzvlAs4w0q{G0N)CFxr*Jk-2e1KCnF_^M`R`=Xv-~1%fMfqP z0dwkO7%Ef%#15eXt;pkni?0XU+0fQfxVj*U#YjoNZl#U8AWsC5;EG6q~F zZukz)Qo9j4gJC>7;U|o!Th3d6S&(>}bsPgh??q4%exsqw(6Z79(X9n!C_5o^(r{^X zB!scg+;$>YS7cBsgheum1yZso>B_yLfQ;vS^2R0=WHKQo;F~A>#IlxE62UVcl=e$p z)psyoQ0#*My8)~wEOv9`W3o$bpi|&rv=N(Azuo!-Q?gJ}h5VF!w zhepRCw@SJqVzWtc*$CiPI2=fP6BTvz>H;7GDOd*sm_L_+0-YH!3IyD6{2=bl0gcXJ z(-!cDg}AX09-BP zUYJ^aLUo3hzkAlVmF)I?myS)o_a)Oe$=*n96sZi^)WTAxzeU`^prIpzW-9Gwjto!Y zVt=+~t!(Y_SuC?R8}$Mh1VEYF^{4>V4lQ(=tgzlUrO{f2^#QRO4Hfg>g&H-Ps8PG+WTGpanQ07Lo z8wpX3NH!sEI;Gg~Cn4WAAB-KEdJuL|bqeXIo6Me0EWJDdN~Nrl zSgoiXR@ep&O&c9HN3r@lK)ZM{>t8sPPE~1Hx1MBp&^Br0@568xX%rDbzpg5q0X#Y7 z=4LI7GJ)$-ok0C`m{N4ehM_j~Sma@uPGu; zbVgbZR;DHfGXQiTr6+wlx~>~3(2R)iBmd?q_GcL(HLU|5>QGnyte%=xN%}^i&}x_B zfF^yLA7&g{hOMX2;bM0KkBw0P*oe{q&zfC;>L@(whpV>$jU<5R;5M|F1%QGFt~Qtm z9^4$uH=n+9T_s$=X@UrJ2ShqLc84~!30`?SaT0p*8CHj-RTNKFN|Uxu=ILC9x&gEf z7GrcRuJ*NcG^5XV8ZuEp`er~YJzN6>oSY;HQaSwM_dP8tjnIPW0i_Myn?CIPc?O#6 zfQ>GPuxypF*abwR$$f~-AsdIs7UyDMW0pU^q zCiSK|MrX2s96bA(;J@cU#-FS(ok@F|2+6V(5RH5n$PLSSdpq}o*k{ak6YK8q-EJF} zz`j;4vRIC!Knf@NWdRy38SRvfa0{UGET6%qvMV{4G|GGor4heI!ZZYw0Hw2{gwaZ3 z{bB^4%MB>4uM%O>tEorKb`x>gVu=8@OIF>WGWShU)d5C2y4YzpJE}e=f;t(>Lio8d zZZZp87T!auLyr8Mw`^kX#flN5`0S?W>%)2ntd`5O)!EoH`j%0N-%{RbO8;QvT$K(d zHpkr_yUZNYn-X)yK=N-h6}yZD-*^*$q2!R@$Q}Iq0^n=Delj*y5^<*cotbuiZ;}LG z^eD7w#=N)LaR~UkG(sTi#%w5)NIm#wf&}$H(h9WMz{}N}8a0^aIys&MVM-&N;&mX> zVa}Gix&Co|dYs123-^U`v_F`SMHVo>OISSH$i$SZXe?4_%OD_z_}_qPEQ3TI{qAh# zv%WR#06sY;5cR1L^kHGSd~U-0a{_L$sMG-Z;JZNXW7)zUhp8AcEYT;g-NbrGvYpCs zU#$ed3oqvp^E(>S3az%cVAaWPC)Weeu{&IGtYJaa{!aq{o)2k-!F&ua-tHvNV-N>aiyA6j}6iC7Gwa%r!vY-}g`oeNk^Gz#h&vgQlsg`{84KX&C04Y=L&Ud z^sjJVa9}Hxzid)>1jM`XTm06i!_9g&`YiuvBG%%$SsG=Vj~Ii6DP_|PxIGu9R0 zn)i@6RKV_L|>|b)Tya>QIewD zNC*Ecdb=!-v`du3L>1r7$T5uQ3b2BOLwfyvw9RVXOzl+W+*jOv=4*7_#QZ>->B9QK zvGXYK#7USNhMseOe9a&pbfgt~VLM^KG(pc+`s9dL871Iq8to?uZAe5~AeH)Jqy4Jq zv2d+z0ERHZ2Tx^MqGXb!&LWM?xVmU4vh5KpW__C_Hh8!h#M0mMT+_jjhF(T4Q$0;%&um6hQFTLxac`a|8kPv`Bh9+!3Is{4)}8gl{x;AjmC9 zbq4jPW)ZXC-q(f9W25By^t?xuUEB-{gI*u=4D`b&dMKLbZVVirz?t13kx5_$m-K1M zTia#kvRO+b7TArL%{udX>|-L}K$o{Br56Hx=cBpFEJ)pO`7XycZ-vEi#$jxtzay!g^|MWV`QQa#b?5IB0R2ggc)&Ro5_&c zDAI(3Q(ukmw$r)?Ew2Kqo1+~){N6{;HO}Y3`diY!Mjjc-l(^J&<=EpXNj&QQxO{yY z2Nq~E;UK?K0QvnSSkO;nr3;YNVod?IWH&_J?N z6`mS+<9YZN7$D6iV7|>Pma=QU=D-*Lhf`|bVkKkVy-5WsV2)See1f1u+g1x zqbe-mVzS5BL}Q&wpfbuhg%Gd_0yKEvZ3>x6(fziZGo#Cb0RXMVCM4AxfUk7?VYMhS zTJ`Biwf-K{!|-N@{a~byv?#`xO%lGkixs{^py)zT&<#AZoM+5NjisxHZ~|m@w2SK6 z|7?@k|Gk|oBeK*`g1H{O`d3rX(*q7U2M=$|iUe*W$sz$t*zeY(Jo=*2%GC+fOMi1z z*5h$XW&rDol;vwDKd^-ES)e!wEf^zU*wGt3vKf$zj>B|1wCvg^At(V#&9g*t7_loi zNsR{ss6{rP>SZ0hde}@r>-k7=$bM$<b6&duS54TK}^<{kb@YNONv<|z$Ni0b)#Fkb3>9{GWt zN4NtHFx@24DLYTDPEN1?9(5o>&po74C6J7eGgbE!%Hz{?wZ9s=G9PrBK`VZiFC`Bf zGu;L)&XO=@SK49|eJ2N5sKh2!z(<5iRgWLL8qyj~G@qEm^bS~{LFJh2c?F+sCu_pniF?>sWNa>(Y5Hx^~Rp%?IhXavK-O#(2t@CQ0JrX zhq3hm?9kilzYS7v> z=LjInd*Ya9fY^^L&`8t|>CnQ~6A$5$#nvf92Myz`^gZ7{?z1Fd{_Z)zV1g-xqO^1* ztJI7O?oaj%VF;q0M$RU!vk^k{ybvaw4}6=~QXMz5j}z)Fjscokk|~pZF}ogsiNJp+ zgYyNQ-Lda@2thEgQQi~A!h4)hECIW(51b>{l8uQ;a+Bud$G2D_slX6gUN2&3Klqcf z>K@KYFyD9#kPE050nRy&>px zF=#=6z7bcMCO&c7LvGN_MUin~rC3z94Ta@d+ zjw4XgoLA_}3(?B<-YOccyk*R1pAU!LD$DcJP*HwXs~;V1H|y1MF?1TIB|~?uHF~Y6 ztg=x}Ap;XVmNKHP~3h-NS%Y>W#L+em;?o5p4JrrrPcMKRsU+$cmIJ(tIjO`Ngog6;W%z|LqBx=M)s}GwlQMp#(}ueqp5GiZSUGEaX2&~ zUHb;rX_$cX>1#L0zs%uKTicDL5G=rfd}mqmV>)cRtl7tc!?6x?|J$dg1}3QeKewhg z60_WHq=G#oHpLkjj0lKIE6L9 zrVZ&WL7rKuA?t~mi9P8lIiVzrqbCnL9h)FPgLiO12SD`v39ZdKZMi<bK=x&SEgY z0G!~{36#Igj8mW6C+nIt)*XL~ytFcNuBCyl-;tDmunt4~H5zbB6ib#YA-QkwzB}$7 z%G@ ze+|MTk5v}^ie&yCQAdjiS~Y2f5_3%4<@T#aSMz2E5JB-y79zu0*jj?XEn?}F9N*Dk z2&kkHB4NV<#|*HLGF@G?fRdN$`#x3;)6LIWe(V1%{*oc{~{zi|CIsGs1)!nm!Lybyt2 zvbz@y!zv9(rkVj|KvcM-S*}2njvDnQq}*g?e{-}064orDsSn3d{_${{`#0^w2>dJZ z@fq&^xUJX4ypk`1X+dcz+i=gZOI~U;zLU>m0cff-Co<)2OYeLFl8(fS7ICA>f-gyk zTj<)nd={n}V8y^#`pLz6Chp@Y0{`-O_IR+DrGY1tP1*W{dea$N9nLWB}@EGikO@0_IKxKf1`f%%y{2@*J z34?4b)pz(a{!l==8dClwO#Vq>0)Zpiw-MDxmzkmd{II4RJY zXK9J*Gbkt33H`9LjvOQhQEa%fp;7y+U66!BJ%mT&rcs!`dn}qOE&MVQ3 z7e~+$18axEk_|9$muv)bGlOk`nIEkyYj}nn5J?{J<`A0_+Im1oH9M8=TpKe<6OMD} z^--t)IIF1R!H%51`H<}js$O$n)Z+Icd(e7MA#Mz3Zm-hjowu;jp*0$s*CZ zxBcp#za1YI!Ylm?-{pOgR!Kh}m(c}L;6}i6j;Dfzt1#CY5`Bc!Sx$dZ2^NqYmkHDf z-9|@syo;dnX~l;JNPZNPma5gF%fk_%N8D^2*aRK4B{Os$0EiQQV8+|T9+xaFdndK; zL_zD21UZ|8$h}~rKRgHzoJ-96&ClufKal?gRBOYOQBvK-Tcj?SEJxX{EovDr9#l@6 zs$(zNqh?%s&gaF`7>c}u{OCHk8j2k*S79?U-jQ3ZYR!&-G` z)jpRj#`hzvJVMDM$mbN}pfZ`AfL6?BO5sECIp`24koAE9)9vi;DJm6nZuZDk$t=yU z^P99%^;0anW4I=-nEUn^BJY4B-<$Uub%OsMq}wftf^8b_xD3}$zyhQ+EW^TLzqAb( z@EI&mos=j!Fbpg?ddnRk9JDlxmJ2OzQk8bo!w8=B+3rqjsAUiV9a`aOe_fJAR{@93 z+-{il4ZAKp+naM^NP;M{J6Vi^F|Umi4cVyGy>22{@ti=zcbffyCgu zefnLg{U`~09sSdT^uU0h)?2o9o=!l;&{t&zdpdKA1%H7ms+SW5@oiNsaa*eW>_Trh z(kya9SKiJOk&n)RTAg8oWdo>pr!~|v2qHPG{U;EF#T(yIGKInf4fL>BXcSr_CGJ+a zAkCOQXE`ToPllIi+Ssc-t z(UuTXhZ3_Uel}hl6*H!eg%~`g_fVezEkG7Z-C?H=SfqxH0xx|gMhC5*G#ET=ASSeEs{}c}342V`5PQ z2lovjrY%<&nrQi5(_4sh1*_*{Ustj8m)FCg0<#r7P4!{iO&+onLgQ*-;*%@1@jKyb zaPtSgsn9pEI`hJ-01aU15_NnzbafGsn9^t8C^Uh>gc|@N6_cw#_>R}RYuyQvTC#Z@ zZ$C&OB*J@L2S}qBQDNft=|+eiU#fF!PChV#prP-Xb8{Y?IJH?1AYwB|mgs;eL|mL@^R9n=b$M}ewA;+bzOBkUjbvzl+(jIZ*E#I1 zq45`~osvgayK2>i9LYn&jr;yHujIh$vVPWz$1N%S=k@)0o;M~=ozFKv#PbbzzyTI% zno3`S9m2>qauiR&>U-6RgyK88N#^}3Fakyc2i%e#Quuzc0vvl{2Z6=t%us{1)`NfW zqs?byTUTWiIzvE7PM$YqiYd6DV2InWg&dtz3B#p54)UMUv?n(l)A5Z)?Y!N=H_>uy z&*{en(gnqoY7zBa9ZS@!(X$fnyzWjPG=!Q6Uq3t0uF;_3-f#ZhjUM9Fyfu_u6&Jv*yc7Z zcWyF>>Zyx?o8w1WaN?`ZI3VZpBpy@ZKvFE_vZvH$qbuu!Tkyvv;Pe6xP~L0W)MEO$ zK`KW3zS7~+sUo=DLl~q(z$X(YsI@Bf7C0T%(ar%qTwwqR0rLmJfcGB0PgaLk?ZKlF z4`W0KdLPdP2Ws4!TA<~%x#}z++B<~Cku%f?9`;WDsHRNzKGMVZAlKMeLbSxd0VA9! zW4A}F+>wr+CVSkK1Nt!Mlqy7W)yGd5M01*-o71AjDL}YeOCdW;7|yuV2(R#GZd|;k z4RCsDy-RNX3>;T9Tg}AhqOJQ{M@Qdheh(r)BIX1x68{wt0KfS6V`9C3+`RtZN5vLC z0^pr{AHLQ%dHOHXzcVy#pj~E04qVs+AOL1B{VxILT-6Bw?6PkLZ}_##u>I$8BS1cA zxOq9%yAgXg$~Z52P_bg4Q^}N>%=(azwDoTJaSSsDWyUe&yj~M~vOm{hY2Y!$8zj6w zeCQR6(m57UOa9Y}=B8_06FnSiZ=WLTdniX{hB3%M+2LPV`HM&iTO-%=;Y!o?l1)3n zO^1xVl)a56Vf%j5w)^$1$Eg?*>IPN)Y{2aPzV`HkN_t8COeV+tM1C^saql*jH)~bu zP&*jC^F_5hK|KVgZ5NnLBHFpy-=jsP17-YMw)UTx_)Iu)@p~|S`yZ!MfkU%-tG;wd z{m7FNI*-0RAsq*3+J`#Vp6FdEu9;*aWU~3mtcSfDUHACR?%f*MwS?=U-M6<<BiKj^;Y9WzJq%-lxlV@}l-OqglK`7^VF zlqUqHztG}X67v;W>rPX<>sRW82Bg9d*s^g_M_WF@E{iobedW1vzP{%zn^@;dsOQ~R zZSOWZ-Xmv@`lnK!D~o1xc|=&|fv?n)h4o5dzxu&y!kJDHxBC5F74k&iJ)}D9ZuXT{_*tL#`Mz3|EXS~)K9zQ>i&jL6{ z^>4~W@V{Bbrcyzz+IRg_Rh*R_%Imf|GHPnp!!leVWhb*IRh)J|DaD}=u3#^}`JhbsTj_hZOwDIDIYKWIe@v`@QmvjLE5~NkY80(1 z4J5G&Lm-tXIp-Q*oGx=}y+}09>A7qO4hC;kWx@jdgVjAm219hc&ZyXNgFrFc+PwWmO{QO_R^AMCQkh970n)z^oC)vPopc@`QAD;8z4cy?LIsMHC{}8?XcS(C+xJ#Npp4C=&(N>42XUo9dR_E0SkB_!aI=R6R55| zL9GVXTvQNnB0L%8GEjIiCH=FDfYz{7%{kmzd#bIbI>)&*sV22bO${}SyQZE|R^6g4 zrRjz&9c}ulclDfJ=C~k#vU~QqIrf9|V!CeeSnuh4Z0y5CVxF;``p7H|X^%s^N*BfH zV)gT@&n?bg`@RkUv8|^a=#)U<4nwuyyhH;Wz+*Uq1le z0r}*@wy`(<(X;z`4$#Ygz%FS+XKU#3BRg39*b)2(Ko8)Lc80d5KU~C*4$Y5!2#bg! zzJtB93jpBQ{KGx|aF4Mm7BCJ@ra!jMH9vOJ|3MjeD!RvpNIb9&fg+0NYy}>e^=7N> zCfv$Tw!@^c*}7TZx+!_EpYHk8DG>laeHy#fdHr`@C5PYmRR~5Upo^#E7uCIB9=o}v zV7El@SR|Z@;jPdB>Sv8Z54wW=ai{N`(`E3Hz@Ywjtv>t5=hu7g)8{3!&5QRj%9v|i zoL~8LVBVpxzcux8r=0y~XNSV?8Z|Y)YUtEyP(MW$1wSfqs_esZqw+(o+P!O^bo0q3 zTJ=0yrnhG%B=?E2YZpXIYFPhxra*t-sa^Is<1zi!gMLl6Z?6h)AQX&i@=C738n zlyPb8Ir&~w*B~Wy*D(Qqftv+PhA0flfshgrAet*#q;YWwDjfTsGJxVSB>d<>g3eA<{4uSk9>15Hg-k@kzVz?j@Al)o&Ti*; z!sNxuS_fWN@~s5)h)|UhG$GVwE7lF`%4Gh+Jh07JBjo8jJ6|=8Il9H|qqod2A7bzs;j3KGy-)HW>2gXN4|tn<;;hxkKkmgEVuY2DiY{?V-xBM{G% zR!ZLVlr5aY&mK{D2OhbWF=oB>IeVVs6(8p>QXSJWZuPit@=kD2*rMuq8h zQX20EhG7yBkMqcN;Dav2NSdNF!ay9uG{S)_!!*poJcVSQNQ(5&qYYXJEYqaah%npA z6IXs6ohsiAUCBy1{ zX?_SS+oov{Xg%&ld5i$LTiBGUvMsOm+(YQcQA0o3=7mFF{(z-%9{lkDDDVBBA=Eoc zry(OLiqe?7CI6UK#HxzX9gi~|{lag@a=2I(A7U$kM; zv_nY8X^iuW2Kgj^4>9!a?p2|%3`w=KxN0w)#$lYtrkz-49KBNO8P!Q-dPhw^(W&Dy zK2a3q0o%{(GxvC<&F5jJ+dz%HH#Qy=YMw|byz%NGtAo|G@-(jYOv0sm74KlJ;x5T< z%^jnQ|LG4NXTDj_erdhiEcSL^8SAp&wb;_V;1}<_FK`n zUn6=SDSs*5mi(V}P17D1+qzSJ>oBg{q4&mm~I}^wk*zt40S_uu2I%XLc9G0M^`gLH=5 z*178#_}<5*2Gp3=N`F6jqwzAtXS%(vX_(IYBKcoTXC{QF&OX$u&hkCh?7#nY>QmPp zjsKDe+G0xQ?RH3b-un%={%_3rHfBKfx2W0pe~lir%iqoOa^Sf`C-dd$d~cWr34~#f zxc}d6(wcKX*EWFvnJq}BSxCTZ9CiH2AT7rH5B0A7>`K>Nm3`=!d#{4u)?2}VwyNbf zRl`O@@w&p-&|7idV5WkN5;Jlh$EGXxx$`QjS*?YxBZqY)bsX}v&d9dO4fT zx$<*eH?k8On=oElhcMqFY+ucaFsrcV3ATd4sI*I}X1@2ohWYjX4)c8OdzuqxmUEg( z`}5-(|5^7%h$NQ z|LF`nU$muk&BVIX-kC6;WLvj2E_4L+Hgk8$E#5$(0{)@S9^V=f6p-b5AsX;_YV#3{_bg6 z8pj?YYtZDeZ25crW)WIXq~G+-)%$K+^`A-N>Gj|Xj{Az+dtp~A|GS&yO)u&1)7~{b zGf0^dE=P>4NJC_|JPh0 z`Av7U;6Ct#6z(ph!?-d(VL0j6`LQdt=g*v<84mz>Y{*UkfrS820Q1kiH7#o3Cn(+# zG>C%e5F|(^`>ugS1R0nyeWUWU=l+}3M~1p7P#kcCc(OB#92E9Mf8u`a(W;~`u1?aq zvQ?rAIsdYDfqnb&X>4G|XlQ3>U}|9S+W^(jz#t`HZmJUlj?r(=z-<56=qDMP8QB>a z%$XY)+!zG}B~1YE!N9@5ND0~M{8eL+*V-6sl?)6rV3LgYOt&FQP%tt8qTH}BKfYxq z>0y8zaX@db-`i!CI5ruZj)Q6o*XhPs)K4Vq*KN{GMVHOJkU)5|%j~1PX6@OVps(d$ zGcxZhUqX5mZ4B&tg^T?Y{aGhvDvCmZkfsuiLSew&-Qk~2#@ISZjGs8o2At{R&XY6= zEy+P5x^fJ{K-1Q~OoI`*`8la1Pm0s+I?jrUpEfLuTa;w)&AxCa`H#TO@pHT!?)oFa zNAYny>reY9z~!E2cRImcxHAEOYiU84pS9xuBp?C65s<)ta=;O20{{TJ4gw1Re6@l0 zf8T)ag5ZANd}aTqUs6@n(@Mk;Lfj6z@x?YoDjRg`cf2>cmsj6FPs=gf;e4I5OvJ$F z=21B3?MmI$Y}pye3PY6;29_{or*a-I54g9~ z8PYWm!g%PfxD?YAi=cfZ&L5V2U!#6L@HZuoSQSpmOYMyhZ}}J3G+^tfz0cF>po?Dk zE0Y0E(?WM<>W^H?dY7Ul7?b7SoQ5SKjOvY-?#Rr%J`+v8&08P*OnJ;qn~8sl1dCx6 z;)5DFdN}HbFe0GUsnC1O%1ky+(&<$&*uEwV4oFT z;UQ09`2s!!arg!BK$;AP14)8teGSn=as!&ouKk*8B?(?!FqJ2&Nw2Mg2MwJ#Iy7B( zTU4Ml*ny(cms6@%_SwdS$UGATP0SjhQ>)yP8AJ&ZHTk#U?3YF<);qdt@0LrFs0@?F zP~uJ^=T)ih(1Qjp^o=(c5#h!C;7*g$@8<- zDJoO@oM%S~d5mHWOb$Xe8$Dz673y4toKZ;pbY#V+WLFxt34`B$!oPb26a;#Yv%@Ht zCOSPl@<i?1#npU^q+glbWp9rjMz>q3~~n|5ELzR{Dpug;=q0N++7 zknC)YTOUSx-ePK5m`B_NeUjz(VQ=o0SKr$O z7f~MfdysXHC0547vuawG6>|3+%vJoMw9xmjn9( zu^J&=DkNG1;#{(^HW{+SR={k4iw(d9K)FGvDpq4_;49b-P?oX}Ve62dCQq6(o$JzDKnl4`9+8us?d?essJ#~j^j~(d4g2;gLS`q{ymuSjpNuNNhK&u0Y|lO00QRt-Kmr-nk|krO&9`geo0Jov&cowK(o|{q`BFn<-L7dKRB$d-QLp$U~kBLE?F+C2{+1XTdZH8KTSW z%Dp7=ehS2JO`{PQ1Q?F{+cYV|WGqDz=NAA(f=T3G32_J!NuUyXY=c5&9$^qcECF(1 ziax0e2IEj>0R$IsBVpno9C>c5ztLm+*Z5&Id`p@VY-y`P#qXsAs+O=4W@LKXkBOsc z{dEbm?&s=%0(2-7uq4UB?FJ0&5CR7H-I-di8`FP7#ii(?LHqVwJaSn-;xx?~d;H>; zLtqeyK_S?L(bo9qXzNt`i9V|=pD4I{Wnm`|M-FX~JaTR|&+|K0X&5SZCbt8E{0_w3} z^^W^~T~L++(5CX))4#J8cUL#J6{lKE7N%pz-z-RUj_?2EszHmEulWP->a5t2P8k-X z1QH5Ngn$K;Y8ewIk-&wlOPH+Vp*A-N$t=vMify4W$fO07nB@ow8)6}LzUr6 z-LN-?fttDI#D23W$dikTDe^Q&w*jIE?R3?TKu~|JDqdVTkyqrJ%}smu`@PK)79 zY%LkQ$rXLwWb6L06}Ur+os~2rFv-_`*58@>srWsQ)Bvc*<3^iEAJB(>8x0VAO3imK zEF@RK-dT!s@>Xj<8X3wNY?)1rIV8}Da0mnv(EyMmdP3{P@U~ z0@H^l8CfGrDTpfjuv&nGUW>UwwrsMgU;Te&>`K1+9*=Ac^_6=m} z+?PAUYL5ta+8osPl18@@{v>Q07s)GHXFK;d>tt9po~zR>k5yCYYkoE=eZ6$w^`=?} z&)>UOuo)?%7q>Fc`?$f{e7@UGi_5N>PBrGW`ma_QBX4LcMl%RfEkPi!&b^8E3r&B+ z#4N%+>*0b)ch6Fz(P2|NxHq-6|E!>9DVtTfRv++K07DrR5SYvZ#FG0dY9Rz^td-1D zut^{#mBb>Yg=CJ(Df(}t&_@n#erbvk)nrP?VKxhI@)FY-r&X{4O~u&5q#gkY2gUpo z+%H#1x(^Ug3C_uKRDv@Sk~mq6AhcVG%Pd>xW|6h0IErBK(~}SR#v`brsqpDVAbC~2 zUa>x=?Qv6X_;b2399_4o@)66tfCIs@%!%VF8z|sBBssIv%<}c{S+`gOEe3 z?RJo6}hNINpd-7t}xPDsxcDLzrc{*!77e{~V z4)bgM9;_>z@oCN!^%wVMaey8 zCP07-I)_16!HH0o@e)+L!kRQ97j*J3!hW+j!$VA_&?g4ugkxYxO<4;{gMq3}rj^%- zb$%fJwW3a(2VSz9@|wT-!XH&ZEJtsJGfA}ESx=bK?r`UwhoAU z*OIa#^4O~$y0Z(!G)88Z`Ckd)*X#9JUNXecu?0H{JB zl8Sq%0#RGTgL|byEdpAP8mi+}`BMX72)j?vFf4>Ms%Xu)m_CL>KgpJH)pzi@T^Ub) zVwzsZG5fJ+LKnVw^8_v4*bUp(cVh9P`JJXZuC|c_!&z$uN89>#^PJiLF{N$X^jTXC zznX`mBaC07WmFe0dK$RsRGW*n!AkYGOmW^d6&mDfX7jH^Atq6%85_X*;%Ov7z=zpxIcD%Kz`*9-Hi8TlRO^l{c53xRt{|bMfXRX1-O66rX(kIVjmJ%o)bDJc?;Vp?($@EDJ;{dA@*3~>x;4ll3~0WrXPrh* zRppdIZ-u}|VH!&dDf6i>wq%oe#j}_-rM5}>TjvDim+bM5sdnkH>a4NrxXvxJhN*i$ zWm)b*;}H;g#9tb|33|bw{$jkdTg1*wmj7xzD~bSO&Fec8nBsKZFe=#_jT~R-PNtG z>sN3*pR2p0qse?^kaom?M=5;}bRNw{Cs}3VwoDj^j_<5`rXUenScqbhi)>P<5D1SVxsgkT6}tyy3&su?+~fGP?GOyMS19yWS6)n@jQTu^%- z9N>rKI1SnQ^)6g}K@azjQ2brWafC+p}k9ey|Wi0NW7fDjc~q97rP2?H^n= zi%~aTwrR6OMQ9`vL<5ySOP;ZUO6wWKY4D5bGp56Tqf{ez zbha)m3?wTJy{(gzG(RMyo3Hwew<6hNXq`QZO3%#7qTxz$v)U5xjoDFT1 z4GDSXYcB^zKy&oe8?R&n@6ovvc!uj$Y|LAItkbP!xPQtgBD1FEr7PDLS7QFUvuIdNobcNB(5(i zoFa^y&mXj(;}YS#NJuwBe2(hP=j@@TyLz{Ot+w+zC7RCTIh{5{sXl;7z1E06O&f<6 z)T*g|wO-%5%ZwcRPTy{O+qGSsTbt_7^AQ@%yH1P0zHFOf4NNVDqcrm{e0uN zTwT7H9SAeva$heN*ypApY5Ul9Nh4(15TXM`j0XaSSZR2RV7?fPdj8@p91YdyFatuT8k)}gpsxS8xz7Gw9 zBDk-1W)Q*<0@4@mXPM;HjKY3`IVdSas!~TL87AhQ^RyirxKf$uQM>caR;&<3DOq!a(kt zJBn=|!%Dxl;CXroD|&|p2qcuNoX$})vOT|McV*-A=RK2`1dvx^upmhPhKVQt|N8;8??bGfFe^rABplg_M`^O~P@O z{Q3HA!*)_kp4Z*ty7zL_UL=crgw`*5y4J;|7B7MvT>Y?fbtY;UTn&006WG8w2MVh4gmvxKp6m7M*Qa$Qy2dKsh2SHJmSG0&vR-tCiG^nEx^{O1}B}zduMB;O7dA$j z1o3F<3hxxta+<6Yt7A(}!a!)Xu)QEtAqJwzyZy3#aCrFAPu{M%+??h3wk_TTC0xl({r*D7x^mrA9+ndfj;Ep9 z{yD4t>jL>*ecRj8|GV_LcH>)Qh2MSps^?N32g8GWg*C}icL6oljn;BH#$|X6_i=l$ z@=eK`WI?Y=9@c#|I=NndIdxVT#mPY-C&Y#4=Kq|wx!ZsFz3E%+R=(j zc|TkLm{=fWyBJ3Gj2R${XrY#O3L+94&|y!zfBXjlmAgoe8jlZI!(p{>FSO0){swhc zhktf=D_ceHw&qI3FUsG%uEmUAbmTeHT2}+2yWxOoLHEzUTV8ItT@EgvJ8AE*I?m?K z0+`TjiDc$82#}j>+)3{9{cdUJU0x^ddqv z2mlb2$c5{KGgX)3=lm2NhcpNx@ICpB>Qm$Abz?jrnn=Uma z6E7XCIUrm>e7Uz3dAYonFYChIaD7*)=?fo?SeD-Z;`MLFIESw>KAuRTz05AzfTTy7 zU*PsHI>f_bWs%n^q@<;rReDi|7>}efV8O%V{vC}P_6XPhzL)HO;xC!kFW8sx>)T?* zi(mD;hu?61S~hPWdgD_Ms09WALgO`{b$z5F$MgbLM}J~19kU^X<>xv_;G_5(kHSqJ z!~<@8J<`TgTeuSImP?X;3&QSWV>_+IkNvx42lh#9@omu1r`2}}C>y6U-FE+=?2#&; zKRL3td+-<6ga%PM_7e}STL)?SJCf90Ud_6>rhxC9RxB1Mm@ z&RCG}aK^(uSDno|(v9u?KHE-%t;4>iE+c;DmT{e`4aODq4eiLB_9oN^_WIi`>^_0t zJpEWo+z|I-q)^Fb&?^LYbLD!c-uv_R zidq@Awv!9`m14uPh%d7$fSC{kcE6BYHSDpW)2NAysa2C)+{_+7D%^V&*V{sQ@7`8Wed`q%l|M}-tMF9ZlPCy*LU1k|Eqj( zv*&Ak)7@>B?~ZZ!XtJc}=rvHl@1X1GLfv+6<*o4QqS3d>yLPS9R&c|>RXa8N4e3?I z@bh*LdAGyP;=J77eBGSG5Q@kfSclOfnAo}?_ce(NIg?RVRL!v&U%R423u=7Iz=cXNP^xzUn;E6jl%c@upjmF5UEn^>!6*93M|GF7BQmOV;7Qf zGMEVF@>xv5GHM`X2}uEl2q39CNbWafUVK6L+cZT`+#f;K&JX-)!s9|gFG239m z57mp?=imqZGpM|E66PK5+ig9*gN^HfL&oa1Ui&9FPL+4_Z!_(YWlGY2%j3#kafdxE z(Ib3sq#~oO_j$I|od}yt&W(w7*e4Q3yYS*sea9e#QzHIiGeCJ_F4MNE2Gh3$l)j@1 z5kC7uU@0D;q~=BJ*Po3URe<34P)x{h`_|5w2-4gCTT5}~3a}Z%s^98Td)3!}O}W$8 z-|YEzh4FE_*s-Rw<+F$k(P=O#v$q@_0e^mazV0#Bw7b3NiD-eVW6`|garxI*ed4o! zaN=XC|EHedK4JU%Cj29AUEOc5@lzfjm*Evjun9II0sB;vj$N$+^_5R?njO<@=2?^M z@V(}{+XsKwHfQqJeLG3&UKNUj{FSfhYy7Nimmn8^_?P+T|ofG&MOTX@J$9^7b#_ zxhAhtw8UkwTkuLrij>F?H=%H};JhWZ#f^RZ>iid+of=Ct;=ZZNGGi&KOcd&WmsGVX3mk|Qgt%X10k`FcTLxY;zdIVwI{eDlQt2zI zJG4Fh_gzn8+~|((oD~D&qu&h6I5qLBTvsw=nSy_zxqQx%gQO4@fL2nBNi!vqCaD+G z2OZ*Ms68Sp;s)##6T^+=!1tN;wb4V{_~HSlfs!faf><0Du-r`Og3Fsf8gE&aGv}s{ z;QYqH$ja(1zs%D}8rxRic^c~=PjT1htv_~!$=|sdqJ7tHbtb1pvev4%sHs2fpY)Oj z$9om-yAOW*%Zv=q`dq5BJcvXISI&P1>+uUR-*e`6_L}eG5V?ufPU>B?va{2q4r;5U zMydiHl4g=hE5jVeyZf)|y!Nu=J59O;1otE4 zOX$sC9AY@5`kmgD%U@0mW{|K~ScUnOH?Md-#T8?EQD0?^+XTst>1ribq6+mPMFvF# z_=A<}lT0Zgrh@V^pyXEWp=iCg7o}{ZQd~5^TGNQoGwQ}YXJ*izyw0Qp)Gbgu5u7yD zzkG_FN#X_zJw0V8CqG^dtQaE9Q~jaX#eK{Ut7~gl7!NIRin+CJ-(y{o^`lBJpPr5) zW5vRI!FKEJ<$XkMG!#OxW) zrypOS$X6mvnFPI(Q_%7J#JPlKb>2iglIWm+HO8_2qI!2O8|A6YRvAjD45WxAS%g#~ zw?QKEC;~xLNs2O#R5Gvz6jh^XuJ@%ZItY|S=BZqc3C!zbx|3DC(-~}_L%v-6n~X7h zb1^o*9CDgydlfx}Y4XT9z?Y?$Re0N35Qw>wp^b_C&btm0m~3}9-Ti*fI#7v^ex0f2 zoZwr=f6cjjs`h^Fi3*&Ry_0I?Z|>~$eiq)O?iuf_!{>S7;==RC!L7sPdC0oEGWO2n zQlrB4wwm23kAsE7^M;z}K}A-Kz_ps>6ZpNWIq1J$QppEMRj@u;dOvXSrSSpKz5>S> zwd;sPw959Q$I*ywgU|We?HRhK;o4l4@W_r0^8fL^`tbI<={sFy$BTQgr^+4iSGOu< zhOYB|E9%zgZNJ%K1-~=)WkkSH^rO}v;8X&)t*S!gW0oc+6f zRF21!ss0qE{k388<$z|j;~3*ykCt>px@SvvejfCp-gl5x=8^42o0pV0(A?a11)*X! z*3MLKblW3{qd){RW?5e)&Kn*GTA;iV}eshqGrsKRmk-(gN=r3rMu25LW+?bBpzxzqueV?&Zl0W%=MPzsn?o*oEEvCxPVZ@{H zHYa)hi_zpqJDvx7Q*zMsUXSrtIh~H`&tZe3@b)Ko9aovg&b7RMiW9fdAVQM&4)3+R z79(Y@-_F@}T;9SGI|e?c4(Rl$(zSY86{JS7yxF#UtS{ydpu4AeB?VeW-wf%r!T#ty z#M~%4Q$8{up#}+yQg@xnTRo{J6MZ4q2lFcmB3<~%HwsS2Cb@trOsAa%P-WH5PzMeU zPS71%hN3&9@^|$H`XVidCFSy1VW`RXw~%rNjoP+hnN$pKoJmz40RySDm)EJZw26k9 zhSMsBA_Z$${z|BtMtlG+Y<5k<^>wuwM zPgRdwpgq9vd>xgq)&Kq%Z-2BZAE(z&Ro&4<(B0?$F9?>jc=EJ9S&}bSak`DjsuIE4 zm0a!X#hXA`1Su@ZQ?oT*I%H71Ld9Cq1W@d+(SaT6&IORKsU4xgq=c85rTS@+g*~BYVOm;(U>Fh(+ zI&mg&nttZn0=MVa8Lo7niA$Cq^NdunCZ@ud+-q#%NZ)sPm-5baNQ0qit*a>TtFmru zgWo`gMwYE+8i7Alo5S-lnte|#-OurGGAGoup+Eb8Rup5J0F<}Csl>QCWPbOkY{4+mL`14PY$$rtp>eD%+w8- z8P$%P{M7P;X|=<5v8KD)7RsV75kFZyCohybT7yCQa&j>;jj8ac*+Lf2gQDJZb-;od zYt@Dt(;E*HvBcxH7Ui7Ncli~`NvEqizE!M#(5~NO?cX*uUc^VpMR`8Cqh<%oQ>4Sw zNO#67+KwQ}a_`xi{@Ics2*-ch8?lB~OQ zUY~z6oe;_7zU#sgs=23rtXhiijpbO!Gdi=CXe|eFE%_1g7n0`FLsECk&-jPsFQ<{b z3z-M~UG`n7nEa=+9jCnnz#)$l?2-ykL9i>)Ew_p8GT0=tt8RBK%T~W*g3gy!xhf*e z&mPU+$i-DL7}L~`+(st1NkHeXoAL4|$(}ByO;YW#R&)_)*XV~b5LqqDO`?2K;Z+h*fe0+tEqa|)HBxKkPDn|-*B19F@xznS zlIIvkbDr>+Sw?h4lkXNF+K%PCWWl75R z!=+-jD8KzKFBc`T?+W%B@ozZ}Mdt|boxJMbb<`gtITB02%$O^=?ge|O>*|Z#*gE57 ze14@ZvP+~>Gp@N^$+=%yjBL&?$Hq+rJ|hr=Yl6msas&Vp2E z{SeP@_U%r_NHnTip0z;J=5fTy(Hz56aME5ZgG8j6yF!vT1`&B?V-$g{nn*DUtMUya zK<{?9sWq9bEK9vXS?4g{PP>k!e{ge>6$cug-sY0;bsSB6-*M!Qn%q$H+xwp0ZtbJ* z%5Ip?+ShKe;k9r_po%MguPbr0C0*I_>$o+kbng!M;@c+Az?B zZYfdmfd2})?ufh_O>0i=E;NY9527_hO9W)E2Jub&+o)J~$gP1QF#|nPgjfh#1hzt4 z8BZ~cV4%NTd-NUGIVnX(# zp+t&A6=bTSGTECqDXn8EYFN%9*PI9+x+r*Y)5f|747c~U(deBrx3?Mo>r33$z?V>; zkwt`ow6D5#GC5<~G>p5*uT0GaZREO#scipAX?1+h!yZO;9(1aaU(FWKEFdX+BNm@y z4a>&w$ElyVeri3_0|{u3Qp!|H$M+o8Wh0c9B9s9!GI1ObN=%e;w-BQW(gB?rSmizp zYOHdERsl(Kj>8PJat+A8EvTiMRRz&H@~@h~fxp7G1ZvGi&2Q#JbAxGNU16^tZPWF7 zdW|QQ*<)tf_g<~z^L0f&<>2c&%hPc*Zsy5_Zad}pP!|c5;J3i@mcw0?Ge)sfF z;$)e;g_snPWdikvTSM<{o+o8K7m9FnW)2}>#6p-w-8!l1DXG5xLA?d^9nd zs`6KO2_{d&532np*;^F>>1#wIiIiNb9H7J9&zV1oxNT&WK&#{HE6@?pW7W z9(vL{fVT}a0nAn*byU$5ibzl-YholNgn~;4ssIZ)D+{xw{)YC_*?MFZL`p8BWR+p% zrVEi}2_{Nayev*GnNZg{j<()aVSyXkGe!6}SN12MOD)chC+JwZx>t{F==GI!IGW#o znP(mGPR^(Hs3V#y{Q+Giu=`^yF|K=dr`xDscDKW8TMm5Z@643>-oh>OJ2I`{{Wx*I zMmuCWU4-Pa&lJ=xX9F-K z5fecoWxMc*!1VX8wc@w%1g*hS5)_bMR$`7|AiS~46+}1WGG`S5IjN zibNT-CXD>J-beezg+-j$qQ**vM9E;CT0qdo{n-wFR(3?r`m?6+_VUwmV;Tq0>siv6 zyZAeW+iu3bA0E3M-fphhQ}7&JZ0qwp<#S*32X)a+#_D*6VrZdw7@@Ep9V%@ukONhy z(rh%_^%j3v5+cAoc9IlN`thO*>f^8d0wG~Xx}p&VFIW;OVl(CeAy`YW1RKQ$EKs-1 zmHXhvo6M9!S595Hq1B`oSxwpN0TeRr+ z>uGXebhx6*>V0*U~l8E{IwSFz-z9e%Tr0c`m zuD?aqu<6fJv{ACo|k`t{*($BpGV8rJyU`v$EynICn};qketTWguhGn}w1O4qw@j(ud)V@}1|TxYbA{=>hzL*LNK$?RmKZ}*Ztf8VW${Sy-- zmG@LZk6Gim#F}(a{24qr7@X)6tX^G3-hOyDpiNXfBVIRY*aW3twZSNzSR`IDJh_9Q zP{l2bM0^;hX=qy3Uu4yQs6?eOd|bKm(3pHI3Y1W>4*=|8{6dXT)1ew<29n1(owIt0 zwDPuVIiVlH>>~Cny&L)auSek-7F%t*p0B)%(cjL{m)YHG$Ljoi)Azb6vil!BTAh_; z21GRL#jn0=Y5reOejJ2Fy30k%89ACYzrV~`w-m!7+`6|E$fN@-_uyD$evuL>$W)Aj zwCE@TN!3>}DzdgPd`4UIRCfiQ6AydFRu&3z=wL{(&QObGTz>8{W3RAI*};cznzNUL ziQJh(1mt)NdWvkvR={>sa?n)?f25BIN;#3%+OlLvs9CMV)p1i5Zm`5aNPrOgs*aLq z0*M1||LpPb=n6bkie`#laPcE2ouRkogKOFb(T}=9`m!2T)MMu^7qy(d&Iq)GskZ4) zrFLY3B=L0BPe}}X>v(*&+9jVJ=*6=tSs1Y%FDi5MtKZxshvh@QkBjT=!+~wdH6^N@ zV?w?+W3|=$wpLX6W6E&~$YPy%y4nG$pLRB=PMdjS=Ix5!ayar4$yCNe7iaQ+<}!#YrAsiuB(m@gilGb`f^7 zez}IDC-(<9xz~>??*8WZFzo7T6+8V)qVk>#GN>A^GDMJBi7W?Y zWWp1is0*`Lut+Oi(X&N1*+5VL0%Yh;idXf8ikN(m8LGlgU_>gj@gl9-Ltqli5pFb* zGfwcY1lUA=q(MP}A4+%?!x&5p8lf4%1`ik`Jk}5fyPAuM;6G8YrJ6Osa%yS4adOI$ z^A@i=Sf_cs3A;WjbX?8)O6%298QWp3axirWmTde`CN0JVoaw=p?d0ZB880sS=P+5J zJb$ZEB*qGCxe;=0)b<_={6H@h?a*k!?zt0`)g-FbsK{fTS_{0EOkmYP#X3&z!nmZv z{_E6}WD{qyAtg{(!nEQZ`6kW;fZoEHY>`>0OnDBKl2#`*-^3ea-fX#Lczbb5p0g39 z@idI$f}*_(FGS%t`B|)%%wMrKyW(>eD8@b9N-p=iHe6E2-VKK0L*mlR9!I3f+!DHN zRr?X~BmLWf%i`j;UWeg%^lKd4?)%~5bX}Ku(|5N^qdn1by`Hn7>bCfpt*^7lYCXOd zi;r`7o{yW)Xa0{HU?TfspV(`{TCveUOV4breDNEd*f?M!uC&C!EEq_F#3ch{5(6bY zQ(w+8QmYkGs&wRu#-ma>#?E=Mj7B3zJ)2=le&G-hHeo{OxouY+^VS-dUK4@%#!b*Ug@B{rczliR@q zZ?d$9XKeIW%?BpW{j=C#j#~RcoGI*YSDT8GTFrEL7d0*IUa9J3hqM`&-Lrel-OyB# z(BdSzn>sk(qfSResEf?#TICwZ(ZTq>RdEl&yXS74F1VB&NNt#qK>1k|$Soa`T1d-z zI)xR z*Xs3p**QNS;`cTmEZ|ZT54M_cq>Rr}lH4PDdtGHcS|61`cjEQ@@qQi|Hq3J4-r{p_ zrObf>H_q&T3@#>TN9TR~T^Nk#UqGjT9K%^GySJg?wlf1NEWYaQk#uQDnE9Av*SG`? z=@QX%ETQ{*_W;e6vUuv6G$yr1EE+U%1d$}Qy<`kQagsLeo`1lbU8P5FnSu`%oC9Y< z$q$N7Mv&EFq}$z0CH09ynWlVC&}69^If8M~F8J19oxMb5KjT+0d=Dk$(KP}w3b zrQ}JmLU$#Y0?L~xv81#hG^maE%V$1tzN{tiP5w!{GamSnsw+}X#Dt*t<6#2gIZ)`zbx01TJC8sasvBC zu}`LJ@QQh|n3m*3=R~znm0ufVE8cCDw~GCcdVTs+KJ$XuG-=?VbyY{%HTmUkuMf1g z;`-=+`Wd)-^gp~rQ#>T+oK z9*g;Qcs_y8OcQEbN&8LD!^=zAm>jd&Q(o*nDN|BV5LZ|*mp z6JS7a9?A`?U*;YbRg)^#U}Yuft}h)TM}7-By#2nykUkf2ub`Kz7wOaHXcQ0Ki-w43lUAIK-n zjp6%xCwImjP!W1sH85~f(a0lTJ2k{_C*Pm=k>Rf>gOJ4b2AX@YF>x@*jkc9!=Beu% zKEQ+|kxMR;$_P*yvk}I8)|||$eLH=q78Fr8Pr5 zeqJ)}Mr~DZ>vUBK7&_uX8fK398mvBVJ2S>IY+qGb-3;5e?|gUwiz+S$H>E=n)puSb z-$8+IOa&hFB`_FYgyr?euN)dZ{LDcc1?TlGKiIX(TJ5*jhU30P&3);(&lxnXPj1?} zv)w`)tQ#5X-?3S)T6gr(EBAl>ee31-1Tz2V7|UMnaGLB6!|WI2K)`J??@KLe^oj=q z8T`Wj_eJm$_XG5u)B=e6rDvcI{x|3D>uqnPcu%!7*2-Zvidgf`_u3H_vI(rnSPS15 zHD7xfl8Y=WNCk=4P6)XQ0*c4X5>c|EP#>WthF<77Vab9b0Kg!D0r*@Zi}Q;zaP6bP zf7(e-kyS`mIfx=W9)Lq$X4OxfgTf*dt<7fF^jWU52jYHM7LOd zb*}siB(`C52EFB~Zwt*#L>6UgpT=KK_CLSvi-%S;F5THX<&G!fSMUAxb@qVQ`oO>? zO(yeg-b~E*v|N+yiTw`%hRyIbF(V#hNJa0@nJ9WhZH>vGt-qain?)7{S%65G;9CgauLrYO4Jd1J=dQALhacHuFP8n$yn$9jJdZ7iTN9UpMMUe^3Uae$glV|p*>Nb z-_W%wmEP2eJ|9fY{Pe`e6EDAfVj}?7?I9Fcr$?*N;%_y;RBcD71{p{6U(p0cEyx(O z7-PP>@bDc5-DAxBc;QQ76WpD%jgMwhjfrrm#4^;q6d`HD$^oA! zKm$jRD>LRm%uHkadKZ%h@Rzhgrgq$uNs+W)95)YEk4C6!?DOit|Ok^f6 z*?q}mX4#tN&N2&9=i;8>r7e>?cJG*MnOc?V(riexr&_0Wb=3M>r*>w8)#8s`cBjwT z)l}0IkEgm8Pxr4n(iFR7tkka5(h|!i>yzz^cZ^LPj3@U`6>Lkh_eVRL6JAGapds57 z_qmz@&;6Tt9sZK^5c61HSs|OTsu1MMa%MnF&#Vy&M;ZZ@)`4K!fduv)XvH6(^xRVs z3SBDujGAiF{q^DA=9-%3-f(??x&|GpPW9JE_?!@_?@v`r_HYjYF>mY%7pi}heFg!N zbEl;<(lgKq<8U!No2x;vasA}7++cfayn$NR7}iE3YSiYBCGN98GfWjgGXNPRq*hNs z3<%Ld1Af$n(aEZ(tXx2p3`Q&)senpCX$chsQB5GdM2s3H2Uk!nvP!3~e0Gi%p>jlu z)lr%&U%}u|0U=t2m zjF&H8vGlet?AZOqTgO)o958sCUgwc(2BrtY4!84bd%kgka1x0pzColE?!Uh0wwFG= zWy_~uy6vI|?znQQdFzQ+Sfscxf{#kyg9Kzzch1|GOsA6B#w^*pFmI;Wh=J{0taQz+ zLxR*yCwLZ|O{aQLWMGc1Y%v~NL|SZ@gRYqzsA)iBE{p80ECh5iG&jn~Ib;AJ1rW7s z&m)P3m@hwnA^K=@MNwCCt|*u*iZ1KGCXmZ~A?A`6VUCYp7OJyad`;u2f>U6)Pk|3ZuN!7Tb$clSRqT^Fsl*EE6L_uUh6;xpBd;+C;1!^UwD$aFX z-PFRJLFI|X)RtJ71*IacQ*yzH?%E$rJ>Tt_Hdp(@`8Uw^T_4<%aucBcV6y6#$@Rq< z5dB}SwYyeP{4L3K_}2?fcWag={?%b8i9JUe#&+eJRt$GI>@AV}-0D-eYO~-bdu?-| zCK0ev%dB`3zf-#Mf;7jC_Y+)DN|R>3tQ>6%Jv6WUI2+hH`wq z@>4>xXUCBhD~|5$>DhU7#fl?4dQN$h-H}Ll(p$KS+m;>L-qW-F(6S}BZ}08he)~kE zx7qJ+?jmsbx!|+cln23%|C;NUPY^Bx?bVc9}eSddDsX)^v~nCE531BzJ45YM|b!1MA^+&{Q&DBRNB+uJs^ zqpf4Zl3wrjYF~@P7I%i~&B3-^F2&1)ye1~Ab~i8MvXQCkZot<_gb8fzR{I80K>WV0oiIPS#Qr-Eqm5TU4uXH@J zfF*|bAW{nn-38F;x)nGZCTv(^1Inf0gm|K42NtAa9by^{(n+CX&C>Xw$Zi=xp* zYg<}YFN)%I=~eyp_5G{T>6P@llGX3XpTG^^fB^iE;!hB)c$0{!M}XO<%`~dWV#I)} z5z`(FfRjkXT3CQr2#cyBhf5pcjtcGQ`K7s1JC0OG@5+J)(uLMYZ7m|6x-AIm>cHD0 zUDSY&!jsWh#YA_OyTEu1c-OP`T2GC4(bCMf9O;3mJu$I!pm982EC15qGJ8Cxdj~9G zQUoyClk^%4TUpNc60+)Tmal;-_+rjd#lTJ#Nrwm3V4~Q;%p0o9qt@p(iA8XliftDt za*{1FTu`ACYRc+XWcIV`&eAd`#}CQvZm%<_jGcaZcYZ*$pr)>v&2HTMz1jPYvB*DR z5dVYp9Tr=9WS-d4kUq9lt7*bvlCZ7lh^dxP+2%|{e0O%f!KdenK1J_YesFU(yZPYq z$=jy0+3DLRvu$nJp4L|BJE^tTFQ2?|U78@2OfJ8EZ7QD_U%h&4Z1w7K!0;||t~*N3 zbslJ@=elOU3&^=H#?YIGP!}sO#j8jnPt1cV(f#ZkXZM(#26m7`GP*2(ri^$qJHpjG zU+XmbZGRVFXSnY~8I1hP zFRLRigS4_G3m`D-hSn!UpUj02EMGb?#%nTnb+oqVcjKCNO!c;7S!qL(T-a!f znue$wZmuZ;8y`z??``Ia!hhW+t|$dC?{yWVnv2S^u;4P7eUqApVl3#)Mk?G~_Q;Bv z$TrL7b9aE}>%bJqU0NpER6(>s0;)o44?ww1xE(5YWU6pHp&E1{2b8llOVcUwvhzH< z%v@BeY^X!8X85i1I@zq(YvAk$HRTf_#b&0bp$aBp4Qv%Ykc&GVTcib=Jf z$Y78Wj$8Fpf!R#AZuTlnQHIrt!N#@HM6}ZUC-22kp%?34B;?d4q(F<`bxW-7hdyD0M|qw-T| zebQ^h9LU{r{`~=ALpFTA{el$)WGyUJwhBv?l^wGxFIRuqA^#jp+Dy%b8v%q}3om>4 z#}{TKc>9I2m62wwd{)>lhFD#Yrz+G1>Ed-kxXW7-B*g5u61CqJj;$htaL_VYH6KZ; zG8+b!x?En%uiI+nf%+`x8d1Ob|~JEkiB5nuzdJc{P!_IbQEUk#U^a zSQU639fnHuH}!P+v_^jm-J_$wtUF0eh>RHfuV*Dj>`|Qn)=;!&VChVU1 zaWWsg(l(kV1Gfh4m~toGI@El$I3G#kG=5M2?q*iQA%B9^a9DxXP#fmb#oc5Lk40%! zJrNV?3S;57Gg^&AJlJP4iXbgV3JBCMEQ>-h7lN6FN{Tu#I4gzfxT1KKut7cd=gw0U zXQu*UI;o=eyPPPMgXWV%5zC5&GX!`6~Ubw>kYMg#L9UsL|h`bimL>KFF+QW&|G1IYT@M%R?+V7OD(d zRff2PD6WX-(`G?FSvBSG z;vOEg(nmB#-GAJHLv^U@LAAt(TJYmR@j6!O18vNIj+Ofmy75h{(g&;hfp6PPD}Lnf zdNO~66#d|DM!Jg4%Wdks{0JRUjvUV3K)d?pzgv<1rk*aJ*644c7j*QuHToGnT?uOR zHz*wttcNGXl=u!X)7oK1iPjFoiV-D@sN0A{Kf${~y#yw{Ox&H4|2@4DL=viIdrt!}Ie zgyMlOJ$d=nZ(p?z+naXvQjBk*D;&zh;w?Ii_Go0KKjJnb_ij}G5Ci&7HT8N!F2mgJ z{C|D&Ti4?ky*`Tgz51^1+1^@$`8_ws(Tk;thtGnJpCMIl{_`y4cmxlUe81DuPhbLmLnHWybN#)E7}aN(Kod&ALfaHX zNYE8s;GyHPzM`^(R0w&F=#>c~Xhh-B#$D@Qhp#R7aBWML5F=MFu3Wm`knU{^!S_?q#S@oSE+PEBuE!Q&WH z>8^O9w_|GaR7YZ9Y#^~=+t8+-n*0x!f8b}*PnKPAOSWfKUvoTBQ=4w>S$Sac;yX5{ zi(!ksEyDy#R4%MzRH|z;<>M z=HWR;8>a9RR>TqRB*gIX3;{mtuG8dMFH9cj#MOb-T9mDs94;ZUP3I*WnM``o=i8Bm zbaW-@Xv;z!5#b7$5JZ_g#lS*^^t}VNatJ`HC|c=N>w{h+^so5|VxkadD4rE(NV63SK#Qbxq1L1L!1Twi9hU7ip4sm@Zk!%nnT^#nyVkWH zxaR7P?5^q6k?^LyH{?F?kiYxlJ08DY4|n_Ho31|I)c?8d8@E}}en(<>_Foz5ZBNq@ z0xuPuxc!N%DLUiz`^n4_*hA47J?V+o)`_&|f%nFymXCIX1>eP+1Cam&#GM)+S#j#h z%VR4Blli}r0?D?TuFmS7ix~!0NB#uEU>)ZtyWt@ktsbeXt)VA7LLD!j?0iVXU9If& zGkRVpJNLXNJH4n2J=wW+Cp*2IKkQ`Z<|n(#g8sB8J1v&EGQ4c*kq+Ib9_bQOckb>} z(PYq_V+HTsJs^oKP1UQVBT0s#Gt$@xAzd5yjdluq%x@K<#7>o|Sxi-i7ZDqp3)sM5bf z=yy{2Dt#}d1BM<}Dg8mn!Z^GuXY1@()Za1QIZo^5XkPeq3ldN-LvqTt*SMT^SwXe> zT&}XZXWi#)&uw)Yqpmi(>Ilvhyu%?xGLO6*BhslktX1V8trQnM=@-#q&~B^8opC3< zbqQ0$-e)g*V$ke#j2yUiF#!=i@bs}2qc?x)vd!=9b+4a%?t%20;iM4UcTv~co?y6V zQjB_Bj*!u-SY<(k!#zx!{KrS4Us+h7yst?zkhP==sTZ$$L13Um-S@V9L(M_ z>xitpWB1V722xCBc-LsXdJ=D7`-#I#{v2J3y{|Q@p3GFFUspmusnK67p+Bb4 zUoD|Oq|x_MItZ{1J}9<}f6Xuzn_-wEM^juywE|$SxwH(q2ngoOik8$!Qgn{GM-e3i?%fq+;3q~c6^Ne~5uM!< z$Sb&gh;czs!W&Kxua(IGbeI4GLVaLRKW}n@6qb>hz^B1jXpt0wQ zn}m0bfAcyD{?+EMCWpfp$G>$wg#c?A^pJz$%-T=fH`SkC?M8j8y3s?fPw|?i|VN1Blf58vTug z;?*HtbroRXgSF?xkFN+O)?LQDAfJW>uOW43%h=0Mw%0qVBKFU^uJi=g4QF?!3njPD ztn>`U{Xv?Z`J7gK8^c8YgqRT{Ebis5Txd9lV0R!#C75n!UPItl4*0AGj8O6j!~VbmUB5^P%t($okJWfD9u=Dk|HKnt$28GiV~hL z&P=nH3129b6rV0=Q*j>Bc}ok*0)XjxnpKSGg%PwWSKHr*U~p02NdHJzM^iEuC3^;s zB5COT^sNu4EEq&}A&~@8kVJ-7EdrZbCAVb5X7Ofz_aAizt4MA>U@M%5vGzVy>-%tRX4l=tqU~A6csG<=Kn(UC> zY@)744!%`h7@AhH)iqe4MzqAbj(OaQ#C|afJ;FL7*pH@?`4?!>=!Y8aLTiNkPrTe} zyC;8p{xtgiMgK&qh2Sp%Vz7N5mVOO(xG87ib?6L=_Kbd;$tYtatH=}@Jh!0kWovZb zmm+o3z;HdYHg1)%@4IQbt@iLJe>{0b{)fjKt|74fuk=5Zc4TIg_^Q4~6ZRH-SHZ){ zX8AUCmj4)lb`pL@I|*NhEC9S_vZ0Ds=tYyc8USi*AfIZf=dc)PVlH@GvH=9Lnd3rp zI760*2S8V7lY(iYy%BLldmU2h3c|XauqyMh0%fEh6d-bFNG=yc2ZTr=AGCyQr=(fG z7YC4miZtp)g2A9k1ie7e$pfQNFD|!CCrPH!Dup5%K>vlfPP|c+*hH;O=b9{X(SXH~ zHbqA|nbizYe%AY^q`bTh85fX(j7FUhSWqP0o&JCZdsh%i1Q~$77shKa0eykReyAv3g-9=y zUL%F&e_cVUa^6w_D_ka0L{Z^4iYl94X(<0iM6682N;@)s%|EEUb!HN%Gox5 zWVb5im`2Gyjf@SBHnbb<3WUhn6ir{P@1> zo*L?VZ1%BT)6=^y-Lgdp77YA)qdr+t>=ssY$&(t*te-9bqi?=w_0}RdI=-5l^y$pR zDn2VR#G#ANSda%wrx?Z4Y{puz?n{q?)}H#w)%L$dptWBnoz&XD1c!Bg@}TA?e*vxOV?<2bQ>v(&l!0%8Wp&Cyj^yJ*!!`9{k??LG`jrV1E zw8$&}M&teMyu2qh-j`^oOwWL7mq zAy-`3gY#@mN1Yx6Q1ga2R^Z`fNg$?U7WKudC<6%W%#9$fXRVAKNFm%*E-X^BU3-xm zB+4w!%dC0C1)|erG2+o+V4}}<6!GA{Uuj)=*AI_n+8cV3HS)@Bk?7YQ z)~UOGcxR@4$p)(fS@GY^UVY&HT`eDNO*tD!TJSsFhG_VvqXf^V^F(XI)Ye;{qg7RZ zDt-We_b*>@)D^+s{i!o#S*KWJ*($F$Mx3Yq12u>rFdLUh7K6beEiqV7ME`^i`h?^x zW-YHd%^#za)iH)YwB|I&#tR`|7e~$$BJHP~5#u`9CY$Z+$m9L=Kk~#*Wi~94Y=$cH z64{!6mCE^mcpa9d*T4k>S|%so5!paH_PKzgUsinOLL~qqESDFmk(y#7ZMC&+BeB>h ztxhuvfMLD34d-Mh%k0bMOd*m>rXnev2UJ2uqy%raFl(+)j%;jg+dQ63j&E*j-8hnb zFwxl1)YQH z8G*=fcyUY@w_+B;g1UJM>06L*bfwVD#o8;e0xk_{4f8c-3BE`ILTT69>p?I@9SA1o zAecPebO9Vp^oT$7wdmlwwpgw^?eN!rqhWAeYizhHE$ypr9J+LI+*j)hkeek5asvpy zfZh~d!9Tbl%#1Gx9Wy`1KX?u}zg%^p{L=0-_o@6B36G&K%I#1?BkyED1o0+==+Vr_ zarKzlhPk?w&me4Lj(l+;Z|`Ye{SS{K#@9r8nkemG!5tb|+8;0-z|bMR`| zgh%Az$K}`$0|hn-m$3nWB!HymF^IUFU8~2TEgL?8o$ts+;26{qhl`_g5)V^{Bia?O z9Ufa8O+?nD(`zEh=;HBQFxDM)} z&zDm^TILULILBuIMDf+Ik>ab-*&4giJlJYioF{4;Aez~aLo~CWN^}95FRQ;o{{B44 z`gC8p89?}{bP~*v&dFw@s!jAQT8crzRF_QJW)`!7*V5>&)91cjRLopM6dO&vf#8ZR zMt!-^;t2v@K16H}?dj&mM13SkPBJd$+eBb1^f_rn0_sL4gAQ!is2CKZfdU^}3uwg_ zB%6_9l$CN2WP`y(?@cDBDQr}AZtc7>OR;gQg5{c)>3$6 z3z!v)nbKrfuottM9Wf}B0!k_>IHU-qFVFMr?9 zhORLOy#7dPq<8C)I`m_UmtZGfi_jr<^A9zLwl)nk1*@waHkbL>_-pUK{_F4FwF0$~ z?wY||C)24!M?jjFx#MhR)`m#HY$E3z3^$0)H5~3{QpctkBuQx^+_Hq_c9y;(w5sI^ zqDEu@2^**+Jsz2UugOvG5Vg1PgOelL*)7l`9xaXGBltLMp@@;2DEUhGn#-m*O}iY` zHBUZmJ7|iNF^rpTusr>w)n&ID^1nR(+=s=dnwmUKo?pAov-i(joqyfq^LdbA{|vqq zD;87T=ksIeYoBMRiMWlTCSJ&%n8F~=Tti}i3Kd3nN&f(0B<0-2n%IFF53Q0a8?*>C zM-@FeA*rM+wu>cwXjQHi8Ee*Gdi-nFG12cNv6D8GMD}8IVv3nZooBI>*2b2k0+bBT zB&3%J#ThQ}>55}3NR~v21q+B-eT{5MQfp*$8T1k{%vU2D@fz98s>`cn4_=IrrvP4ms0puJ{%@V%f800a2*F^uPggZJA9{X7i2{SGaVfOay3bUIy&02 zOdm+%h;Twykn_K;N!P#in6Wl`9!1oeEILo zr^)jP62728b}rAPmUh(Eb}UV4 zRxQBN9R7s-HU!||d8}Gv)EcE(l_W&(klw7M8nYszYT!y0Oj4EVv6S)rfflTV4Orjx z1V0z-nre$J9_ny;0$&JqO|{Z{`5AApd-HIVz`Ix1lA8tsn+^XTzybA(0000100001 z8lZvzc79(EJoNw>2hacj007F9UT^>a007G0E`I-7{+kIN2XFuY00{sB00000004N} zV_;-pVBhvHjDdkO;D6MAElxS02rBpj0ED^*3IKT8ZIc76WKj@AYp&L|ZQHhO+l z?Ko?Dcfz%8+h(x1zxrE~oHQQ#cGW!72L%!S3rqvlSDe-3Fx<>RT9VuKMQOVU#RKm# zTy;cCQd8$dMP6$gxQn{#CHgW})j9oJ_6m|2q&8_x94Q`Nw^J0|rTP4HYEd?vqSQW2_jpLq);|?5#D{3m2S18l z3}8G+F1eB@AK^o6c#ifG#fun-7xc{L#U{}`KHLoMD_+!$iK^@mi~fw;$tg1r6(f9z zhqfdm=^F!jA)ZN;U1gr^D)VH=usN7!x>Cc_C@uTRjD#Jz*K?FM-H}{;HdVu7#D7ct zjT7l7J-i$SmXP+$zq7y11+k6aP&?8@(ACk7G!b~cENSZs(!&K9PNwr)>&#w3dkCc& zCz$t0OC8hlee?WvOz}Y<#2O5S3ISk>Lm4&M+C5Qh;C z5u*|O5>OJF6E_o>6T%cL6tooS6@3-u7Eu&*L-s@hL=Hq6L?%QsL_S1gMJz=)MMOnVMO;N_MaxE_My^J>M#e_cM&3s1 zNZm>1N%BelN(xFAN+L=wN;*nLO72SfO9o34OCC!qOEycGOf^hFOifH#Ol3@QO*>6T zPDM|2Pk>L1P=!&9QM*zMQfE?gQh!r#RKQfsRM=GHRPa>%RR~oSRVGz3RYX-#RtHvC zR;O0xS1(t)SKC+nSSnaqScq8MSut6LT3uS3TQFN$TZCJ(T(DhbU4>pbUdUeYUsqp# zU(R42U{PS2VH^Mf0002{0D=Gq0A2tD00ICa04)GH0001x2IT+(00DT~ZILxnMnM<^ z8+RfOutkD95k$DVrMUd=b`p-r35e+`7N^$w%{Omq1?c3S7MfbSplP6~J8}~Pyhd)O zpO?rj9P%8w^_!6m7oMFJPxSu3H(>KKQ*Qaq_W6673r>P4xn^ zj)~8_z_s4+XP@E6PQ#zQ2CA+l9wqlg(NUm+4g%|Vdz7So6Vj@ILE>(uNzBKbcwg^- zmE~K^kxiBYCv52q9K^f*%>I)wPWbor9B(S#V}^LzY{7$}LID5(!0Ub6wr$(Ck;iJC z#>xwHCjg2mY2{=I1p*Z+RjF2^R-Jkc8Z~LwqE(xA9XfUC)}vRSeggX%|nm~j&( zO_?@h)|`0@7A;w}V%3^;8#Zm(wqw_xeFqL5IdwjWP>CRT&-StAUL@zD0$a#yUS|Uk`Oli_( zXtGp}EZJUJrqc!aa^+dBMVk{=T49wnR$J?~bv9UUqfNHhY^!aWZMV}7yX>*sXLszg z*M0}IYWF3^#8`udVqA<@pju5#h>2c%6O&@HT6Mn0l$aXRV!C<_9x7C&RGA`gz4Os0 z|Gf9Xe+M1&%nv_(iy2Pq@XPO*8M9(`%!#=%FXqRBksjtigJBp5129x;VcVNbUZJc& z6=qN%F1Ltv7cR+6pMKm$!S|oL|GMQl&qJkX?P#0#VN4+rz6aNwnyB`RgIcgB<)LI{ zRd&IwJ{1RmRLp+FZmOJ2VE4rvxQu5Xkuk?ClaZ#xD@2C+d2RU96*x{L@p62V@x+mW z-juj`t^WblaJ=sT006lN00;nMAg}==L?EyOBXF=3MIa!sC}3tFid9&!0wrOv0YzgY pVz2@uM6(GB0|G0v3lIYWE3*+60|F~qvIHmwMN&kw3lIbXD*(HyTGs#o literal 0 HcmV?d00001 diff --git a/static/fonts/lato-v22-latin-ext_latin-900.woff2 b/static/fonts/lato-v22-latin-ext_latin-900.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c756b8bce3d860b64086d9b94bfc274e1f6d5656 GIT binary patch literal 24304 zcmY(qQ?M{htR=c_+qP|6-?nYrwr$(CZQHhOWBzld>Q3FfG#j zB*0<1AOxTxAmAY`Fw)rZo21rRVl%ej$9~;?)@0icw&Xi(*=9B40=D4!$~LH?e}0n- zjG@3g2rATjz$W4OQ~vXsuOfvCF&M};wIbJ&!IC;;@$HbapMCWF_E5+VFXU zN7Z{7>6{dp9)cI(^H#jy?wg?qnZgcQ%l~mdhpq>FcAcK}@dNM};@IiVe;Uby?X&33 z@;WAE4v^IM6A=-Tm3{6-po#tg$^-lbaVk|9Ssdj%4KJ@sf{o+x{fffi*HhZ#aKlZ# zj)qKSr(CZGq#BPgJNe%S;x9q;c$A|-$HifM_*UQPELZIeb;f@e?Q#TZ|7nb*>hni#@8Dg55 zpYr4rxLttV`6vHYI`e$k3%)yQe?^365f4QhNe6{ z#X5*VoLmw+^dKicW-PWH?nEa>Nt#S+rGYFFh`ypxnP3SOz?(bvq&XY~r<@Qt@y#*1 z{3l*`q3%~|XJOJ&NH7VBGyfdt5pCfjGL2UEN&&;zwW?h24@2yxhbIB3E=~cNHoX** z;=g0QPzC)x0IUpY+=etBi|#eOkOu@1$0;X_>4QM=uqf=qb?cjfp9=nQcJXKFdC6Y( zGpy5DZ|V6>DS0ovt`j`=o7R4R&Q30t=+Uc1<(1{~zJY(PW0mv5WRmt*<3g!XbVe#S zy)@=pi!&xGeF$8iz@)?y1&!zdWCvzZboOx2IhHgnyhSyM=+ZkK;ZI88JW%4y)8%hM zXrx*#)u29i_C5T!C@`PJ4PyX;oIaqPPr%_WLW1H9lc2uNQTQ+%j!KTF7bqf0QjC&V zB2iLMk|aAvkrkmq7v`9fUAa=ZR4iJ>w&VGHxn$QLKht^%Ehr==IMP2nI65#wPC!CL zMo3zgUtCyFQe>v@e9ohEO5<~`r1zCuGxht*?-iTf;dnNYRd;3E1x*>72QYXeqyyg- zrTGAt>``E;OpAHJ#AT+PLByOsb7-+4rHVQ$Z5`V)D##fU71maJqva;pjYT((3FwRp zh#J&gUUSxp+x5DSIGB-PxOCZs5)zel_a!3eY91Oe(h3e`Wv{PdX?eBVYP5#OBQz14 z9hexInHrlLuwWoVU(NUaJ3#AwNe6vl=i`lxfP|P7KRZ2Dyh5QK0$eQxi^&N}ipolh z%L`m2tcvfQ7q`EL1yCtu;vNH%QJLYH*`iG?n62%wcYi;sMp&irZ7qNw1baC80gv1y{ z`T5WdkPwj(lJb9@;<5%q`@fnvv7D&OX1gM%U!XN^g6loqJm>Jjr7_1_^<{Ygc^p-B zv}(Dt~hj1nu zkjrH7XW*i=h9G-gKU_a|Z>ABqkABA2`@NHgV-jezY@zVtpnjySYFhA=qeq4Z>7ssL zl`{#{&Y|KW-3zirJ-A(~(aGznSX*8;|1a7e+Wh0g(}SCh_5L4@hHM=({@0eSw78_k zZ&iT&Sz#@wX;HERKwO8X3Z}>A|xg#s!w>AT;QpxMVH5#*lWDO7A?1@0!}XFb_jE=)|>Sf z@VNfr8TONT`z2cXii+wPKX&&D`3k8PtQM?k{$*q@X2pUv;9}AGL8> z9ec3jA#E6g1uE_^tG3(Irw>4Y7shI&)_ZA>cg%A1=l=r5F%}lQ7}_<^49jvBk+nJc zua53b^b8EmwY_d8aMs(Z&2l<8fLHshO*^z>uK%~PAQS=)3j1q8sC+&JDP6f#4~OrB zl98rmilS6S(&2S_;*7~}=-&xTZEKS|O5Nse;JKY}F>nW@m6OdfQye`PQElV2mMoR7 z5@yAvVvgl8>hEI!uG44Kw>dy1g?}RI(X_~1 zG%QUnZL0~hCVvqz6l-(ywM!2!+AaIgR``ggwS6!8HroCw6&_&$VE*E)^F#dWv(dAE z5P|=LFBT@Eu>UWr9h8TRtuOsX4Edzf957h-+XCm?2ipzndR{rV=s3$p}<+8ve}pGc)Eu=O3?$5%!D z1tjKa)@+XagZw?JT;bsa_4Qi&x!Ib*Bt-FUQyc)k6F*) zNa{7!G4I-dQxwi#teWQr%wVb}x;q*>%rrh&29=z_=Ka2Grt>2VqnHzx37wL+#B#u- zbUq$F?Kot~pSxmimT|pE@7-A3cMhr!P|}K$Th;T4z*? zlgXtoo0bq`rU7EA^N4-J{%s9!n-?th6b-i&^WR-@a124xJ$|!3ousvmYEO`eHrg1| z_DHVJgUOYwYB!f+|8>>MAiHkUr4y3{N6urZu2$=xzw`;Yf2>tCyF!Amr}!k<12F*W zombJ&!>#sov})1j)VZ;ombT%NxIo_`Ml_;C^Wycim)tzT9X zPD{)ogSosX&&KCsNxA>JK#y$Ozk^yb4|^0>7ac%mPLJ%F8jA^uaV}+RS>yKw+IN%; z#nXSPq4LM2K12bB9=6TjQAIgtf;VYZDT;o(mBRDaY^2V0I=1jc-$CUt0=W{|`pr%? z!!sY(Wt5?kKc6{#3Sq#2n$u?m3LR7wubc!CRAcCt3g;oY%ASevI+r8HCB*kq(hrWw zkYLFxUoj8SfOL1Tu-36nn_Jq2)IW#zASs4#*UaK zX8j9uScs&G@P7|%t2j2CL3C~tqQfMNc83asKFerC0jBZ>ZOrI1Wz6${6TI~B_1vNQ z>TJeqb$RK18u4Etqt6)9aP0xISn9VK|B5xDRKxb+s5|QujM2eA$}n3y9T{jP?^EtV zyB(m8VQ(Td&ZhC@&K@zIRLI&*fb14*l^j3_TmonFi0YJ^vX*FzW|j~}Zn*FLiGQZd zc}Bc}aj+8z`?sAva_24APQ4Rjj*0D>6t+mlOe)P@YBX4JV<-5C3t7E}CBq*Dix8dw z--ggg`7dLGMyYjtc@vJ%*lKg9KIgiz=ejZIy3wd?Otx`swsDNEvF#$#>=f*Pb*+w- z4?tms8NknfUQitv=Myxx4^SWrAie-#ZLib7?BqRcRuBL*Vv$gOfN@DFdQy9xK{iZ! z5rsn5yp!WVwO+K81!BeQQFK&%1(%6U>5CNup;7jA$>~8*J1oAO-WQC)-k=Lh12RgH zd=0EeI>Ofkd>0JS*<%-e)va_16n&lOJ!U&O3Iwe1AvX>06tN0OG$sE$ue>QlW7i=U z@sOGj!h7afd%?N{;G`$8xy_)gNS5tD+LdeKC!QYTOw&n&zDyR(azZ(I+w+S9 zG3=wg&+g})N#D3eRe|u6b}z)0ZTDDxx;RZdu(SVpBU1~g5s(899w><)nnRuW16brV zJr)YHOjW0b|vfzOj!+788p zQ5@w*F`>82sD{gqKvG0o5jsfUk~bTMUid`#VYEhzqV`G&3YnQxVnD?~GH zI-0AU{BbZbIJ8WzK<6gSScVOGLTnNRl+sN`MDTT(b`Q0DHdB~_1ke>&5W)eXGRicT z^ZtTl^q@J`0WeH`EZ}=azTa9%u)iKI@C?Qp_mtsT+3DT^(2BCQHB^oryxe)Tf>s*C z=v9Pwc9SNu&Ap@AUgU-wKr%JKG$LHTWw8|M@0Vg_;@(~vhCxq1CIJyQ(F;Y>LRyPr z7XpExj^5U=r>FaOrQP3w)c_H~ej2%J zKcKk0A6i}JwzTwhTd|V`Eo<7x_FO!RS`p*7#0X)|(IMYM zdar3eZU8C#dTK2H2tj_70CO^nTd8u_YeKpy%japtKGGd$;Ctn}ON}a*09^VzbagzI z_XSHrJQSN{C={JDfWjp84G$s5aXjl}H6|)0jX9Gt2%@*_!}I9HnEd-mD9Paz0`f&m z&g$}oYQsSgU8@NY+gHT@p{}Lv1^qQHOq{UuDc8=N0_<2dKDjOyeMRVF! z+`_%V8|LZWXm@#|=QpHMG$t*VSyXewVOXq1App$i2Jtq$){}sKWPXp-5`>P(2pwAxnTsfuR?YMk!v*9}>x9-^c&Sf1a6C zhHBE`Ys99|PnZlzOV5W7Q)cNTR`$VJ<_1X3ku?YuUUMlYn;j1EW~!ZXEE|9;S{Q)A z1df~1f+S>Io)o2D?aAhQ+_j~FP~N(^E7^suJq?wN(3^%4Is`)Dq*8=KXqNCQX)eJ` z3~aLQ6x1!1?+s%bLNbpNLT>UPe6}w5d7pJX5)tq06}&cfg43TJdTh)(Hg=xS8CeeD ziMM~+9!v^tMi3csop?;LK7INwlAsy9C6o$zcNWRcH`lJ$Wl{d0#5mUb1 zNNZ$s4U($Ws5E||s_a=+yej0}4!ejixFR!8KE8Ei8;6;-A7=_3Tslm;mYLKwI`y2Ibc!Qh51< zjS}gei$p!O^Hq4jw>XBZO`jF*7#(@xH-hLwDX+NahW{$mh= zCv7HKOC%}Pn7km&m7|(*?cNv@_mxt${<;@zJ@NctbjBWDjRG`#GY-)IH&|&n_g)beax#wT8eA>>>Mp{WPbfhtLfo+n3usM>1qWl-QZK z2QM0_*83V=rPO?py0!bHx_4v3B4z84(JHbi_(5WVIRX_w0HdKY(iN5TDE=EY&(b`r z3TNRbfo+I~l`UsvZ3v=Dt?b%0cbM7doyCBra3_7&CW>}gN`IGfp}j@QTG;`#slpMr zBgG!3C()$nFf&0_iSSkaOG#@Nc>Fv|psrI3*yDbiIfOsXe8(&M5+{W zbk({*6|CJ*olgOOcC}I!aiCLitJGHSoz(rrkXSxijbS^Cxg<4}&@Pu>*VESJ^TosP z6~@337@6Hm#jq^ewngU{S=nR!wJ=OayY{A=b_K-JT>Z8CHe`U3bmxp_h+4iR0@d$r zrdvN(i%egk+R~qYLf#N8@v4zhIq4ZU0wPEZp|C2!!nj1gvJnvfRZTN0r87SsThxAM zZTO5S(&0Gk1f4**zAS;`vQODpJvaLrx_!*$aP3NIlHds(REq4ACr+*6O43ULV#ZM9atI=WOd zbk8N^?2Wiq*xcfN6RMT{~=B z6R}SFH6qFe4RDWCpJQ`aX&H5=&iP*@zywb^G6WHkB1zH1vwxKY@LNLL)z-JVZ@Dq} zSYDshz?A;*hB70^%jyOY)E5G0D+5t$-yig=7Khr+v>Lk)FVC-!8YxR)hV0i{QfABM;eNe4jp0#^pW&y+kEW}$ zA#gR5ZBReuX8`_fjk@89p*-c2B58ZxB2IOVWO(petUlPqQ6AXRr=G zMU4fhx;MwJkcfP+uy0Xgwj#;`S16ZVin4v7H z1idZ2h|MA4r>DyrYJDtGk+4$U{espJAq|e5Zj;WJ5dO2Rt(wM?dDC>?!cETM0=P^h zd(}Bn@GI$|VmMO(1RL!M;a@MZrAI;L!is6`T{|nY8)6A{5@)i?NRH}q_d`()bxsWr zq{l#ZKT=L*lik~2L9L%7CC_YR`&S=vdmhkYbgQ?GCVsmcEm7a+U;-mXITmZJb{|@@N2`M@~bKiB!SnUnBKi7G>_Xih7Pj+-ag$x9$$==3>@r_88xz<_43~8k=Zn5&g(}UImaE!p=7vqM{#P-8P!196Yr{ zMRAonNM&U7l;e+>rwfHTJc#3-?ak4~wqSZs7~JDh)BMHD%&g)WDV-jmw7oma^sBVK zK@}8B&W}>tj@8_J$5MNlwK&x?-zWgaqBQDA6wLJf`4k*g*5$GTK^0utj)bnkj%Vj*swf4 z8yqoxAt=OQA;Wv^#s&pG^WA0S=;$Dq&_r=V|c{F@84pt9F^8fcxu#S1_R6 zPkwY$QLHvLF+bbn{$$huEJuyMo!-b^Wd3A=&f~x?uh9?W;DC!L2tZ_wR!@JBVTSI`}L? z=qHKy*k17k=SK){aK|%X-4zzhpBJo)dohOc58d#tIxQ0O%n0QeOgrJQk|B-Z8WuYS zm}GXj4-3e}*4tKz!O=Eyr}V3mAm+sZ15MI}nWdPR9w-YfKj~!Ul$vZ|W!_9ktXz$g zxegU@pG<1>6IlG4FoA-v;`gn0GER3L=M>4-S{ho5;*Nv%%F&%NqC=osEbkr|o{SRd zihCj<;LTr}Pe3c5ys+8AN_R#|3M)n3MH%Tahkr3?c2{BvF0c(y50uJ}C_t-0v1(Md z!AtnvGy=9J+H2;9UXPAj8;UB0nNAzLna-|#oOL-xiY|^IAHd(5V{iz(+W;Z1*+ad zEx4a1}hYNTm`(PxhOh|nGw~5ZQXy@f^jkFj%T-?4EEU0h~sGVpcAR>d1ALt(nV%EoDBUyTxBN#ez_x8s}PU0uuZb6Qmb6+ z)4J1ksI5W97hKy@Ct3^{M;<^Tfg(B13bmn}gKO~#agQPx zwi{~~^3K1bIUzvUjJo;?EQvXNT{NMaN^6dfDMOEGX<3WGmbD^Cqa%gr$aNu&(%_Pk z&T)1~w&!f%iIFKNPW(7|pDHqXm;R1a2EXa68ipDq9rBYakn32k7;v)_tpB}9tqoD_ zZ_&#my(N{=bHI_Zu0)YJHa7>pJRQ7*1gULgpr27>R9Ljbp=EHF-Mo6aX56>D&5 zkKTY;jp2Oy0fR!W7^54u$Swi-w8Inb&VPx=E{jX<9(xN)opIQu^ERPCEDG&))t58r<|9xh)JhBTrvglNbV;7EkFLJ46e(t9Uj5Fy}EiqK?` zLasMfNtbwMzm6jQ=`~wrc{Ml5-9<8n6FJZ3=wi)C{Yu=MJ1n|O=+pVTs0cay;?1I{ zlpo4WglY~&lk)JMTGQOS8M?>j^H{ruJt-xc#xobO=%Pbi&5O?$ynN>$ceDOI$B%77 zIp(%3h}Zaf{btQrt*23^`{&H7rBB-(Fp)oN;JssOaL2{0w&(ZbbAF*HAk8YWHNH}C zxNW0AdYWzKkMoohY2-GXZqH?3{&y~mOQY?n3vh#?v>o=FSe^WnJfPk^1gYO z%3VaCc5jO|V~53g`%crl>PTit<N!Bjk<=Xc8CSBl^X(wI+xFVlQsaQzL zjdW;ND`f`)kih0H@|Rob$KR228Im+>COq78^|eZ`5ACyuisr-pA3JkeP^5SN3H6@U zShT2TZ}?i{{fRu?ylA-GpmvXIRX zp@5FjwN9U5_h^-Uqm`v`qvGW_I^0LXVM=7D)9lhBPN1fCBml7%Jv3;*SyKb zodgxh76*kB^BrU&`>XBnlL-P#JR*(I==O0PGPALMk^`3)QdJPEK_`%YHXE8sukG-T z(Z=oWG!jz;H1z~LM_UwlD7Kp|D3b2RY`pF1HDzp{1q$)hLQhrkx%2b(3bSfXNc|_L zfq5K9j=i8z?}R5B6XOsR93gOI8}H<>fcc+p8vp4g@}aO)d++O7@?C9m)k6gF7zc*Q z#wl_&GmDLy!ZtFSx=e=a)+z(>Y68?B$vV=nVye!P8VyTt$BO<2v^=e6sq4qq!rMCd zR@8rGV396>K_>f(`OmtVWaw*a`x5O1sg<{{HVilI-Kdu_h9r=xJ1S1gm~@n2C7tBp#v{S7U%lzsEOq0THRo?>*W zYeZ3YmhcB!@WpTq^Tw{sj4mp>!9D!#Q4V!r3#%lz<8d&XNd>VE81#A)-cM?Y+?UO1 z-w(+Te9)rzHFA4w#-8RXvpbJ0({m3wOd-<2GlXug25||iiIQc*zvaz!YvQ^kWdh#C zEgzK)Dh=p6gB1xg8}8R-!FXt@&KLqlbo0h_+>K-`W#k4jvaM-sx@Aam?#x*#tdW}m z6=SPt8=J@H?!Dn=ThGC|tKPWcXnON3s#Toa&bZPEExH@crD)a=?_$c2AD z&vTi=%G@=6b8&yyA;q;ekP=tApJgvRE8v3ZW}t^)*LrCwJ~r^pu=SRzx;j0jLpH%Fb*5j@T zbZ?F=3pCn$=soiL1M85TS8jx9fGh4DfD^A%F_Q=z0QCC~O0;zX?C>`D;H=%7X@TD@ zSLd`!$^8zj@0A$M_N0y@cKdTh?K2^@c!rQR7hBcd9?4Kv5aFq7`>c=QikNX~%*kIy zi`~>S#mf>NiV~dgalKvRQ*#SGMHdr0qx7!#V$nf;I{Vm^)Yvn%un3g4aCp28pMt0a zG)_mOY|_@7gcUXXrr&FAd)_0v9hG5;Nn(c$E^YBS2rz^Q7zbS7B-nsqd@V{ z2&sEK16+8o_p|n_VCk1>3^3%7^qK!GZ4+@^4rT1%f-%0kxGWpWxvr6=_PT@=rK^AL z)AW*S^oqWW+tpoL-DW^-u6&AS;3jVfK_tzJ(;G4{7~`A4m%2H3F`5dR^|Q@Lp}Hw< zw*>am%L0;B)+ zW%kPV26qY*O(oVx!*|iA?sW;`p;-nY4}eNR1c{&!&4c{~L?9T2I1)$##6zI9Xw|&s znR=Ot{nFJ$P}~!G-oV!OAM|E#NP{@qhJn}HrX0oI>ECJ(y8Fh6y>pUFbkukp`UD(? z-PWk^Y6w2skkS5tcH6u~b}!e~A-ZvN7mqm?s065k&O2s4C}!wN)&(ZOnPY@;ns^}%rGU=Q*t3x#{v1^ZO+Xs7bsoRmz1)9Njt>Y|UQ$(84)5<# zO?-w_PBss+n_JDVnqAK=8_i<6r+aM-2l*6L6&RQp73ybJ^8p~hHah2%Nd0k0Jo-q#Gq`s*g-SaRC;F$}bl^uvS z(u+@BRF1Dr(!|pIYto%ZjXYLZZ8^O8wLuJy5~k#U6^dTaz|Q$>^CL)6vb2XQ=^0|3 zA`K%4$h4uJj#}siq{vlLq$-nzn(`%#mrx@AZWX6@$KBp`I}S0^`-ST6yuW`|Ppo?x zgtUCwJtnCN?dh+7pQF&gz&j6Y*X-R_pf_53 zVyS@Pel-6QJ=!7P?+v~^7Rt%_+sw)(tlD+)F;^3WG4f+;@^yvP>(oHC(53oO`Nepn zMuYb?N75*kgdboc7*LT|9cGfkrM+ouaMh1ks)L>60 zcwg-D9E2=ud`~cGSCaBNwAfpZJ{EY7>jF;K+OxajYWywqGk4#X)Qz4s|IZIE=D#jY zS#EVfPQuPd+|~K|R5`W#vv}T>t|1FPvHXRx;dv&{8qT6>MOnZ8ACMq5#ca*Vr$%=( zFO$Ux{fqmM#>S^1eawK{l!^$n+~#ir5)VwITkvNmDRGTeZLzr210x_TpXiw0#&|tI z!`r&=GOH41UMr>N9!UL-d%+-KOk&c`69!K^e$DsWOT1&8yjpYZTtl+^y-N$=i;kJ< zWpgKUEFlyqKX%%WIH-8eW8?gfr+(ofQ~CO1p5OZ`c9FrXx3GuzjyF5V;kLT7&F!6+ z{DkMo-r=JZxP_2hm$Vm~+kV#NIQx}?xfDPfLmkbB6FQ3X>%UB*USH2cRW6eA+4|mQ z(x^P))=+<+Eni-kr8L|@m$}1Zw0Z|e1mAEO6EmL4sGOQRu2RcY*Cc3E%c~f)7L2KQ ztlOpLirK}JRnPgFKsEhCS3cT3_oefp_b%dOyz2lSx7nZ5p{3xwxu3>na;jwteEh6! zrpA&v5Ci5WA*(U5G4at>)Ub?=68Q||q9m<0%z7Rn%TY1cn{x?9mNQW3o#s-E7~5=X zA)_oZ?1l3~)_>TUn|~pj>U1naW=r@|3mQpQ2^!fx_;{MaEjdetdKo=Je zHWREs-0pg;5S$N3)M(TUd|@5lF2=230oY6xe)>EEFs{JK2*V{8yHe&{>@x!kI{OoD`A@*bv}zasDK_D z4`8AEJ~WJ9D2O`CXHA36#_aIM1Gf2>9)3Lk_D_a4^m)8*OmhadM)M(@oY|+%ix*|) z{%WetZa8BEkqr>Fng|-?ddh9f&jt|1{P}ImFn^g|1ITpbLy@Dp{)3g%Xk{#3m5YuG zg09CyN;i$PF0D-U?V;MEqgwf%E97}Z8`sl_CU152OHoGE2@yHsRM;RzLEG9ctR`}+`Z@Xw9R+(x;SY837cM#oxqdgRwX@em0!H1QV0qB=aID7LM? zh$9q$lbDQ_J&pk)0)(~L=;Ih4i~)r0Hwcrp->qnV*Zi$H1qH3mt;J{k$F27Z!EHIe(&-us)+U$f ziC41OH#((vUn=}|m#BkvAE6Fc*AbVItCJt3>3wbcEaP6d?2n$#J}?PTn)u@7H%{ETpaC*Wqwxt>b9p{! zMU;l;Z1!q*=5O~U>b9)tBNq3nSo+QxU#^zIthL_A-ePpjlMd!V3aR2mQV|m_MRHNk z1gF5lf~+2}Xp_1Rw#?29NirzGIG1a2Tv>X(!;w$HPXWiJBA$S){4ud{oJU2y_Fg-Q_>X#0;^gE?WI|s$V!)hj8suFdC1Aw$UOY7%|EA=@Jylz=Hdumq%AmtMvBjUH8`Wzr3-unG2+@m3%=TLA~n+sq3v5 zO>o;>`=nSq0+Z0(^?G?Y*1^~=I5_38?X%X)KKc>iwj(HMpjr|W2Dub6b=M$Z#9X1~ zqIy(6o2=`wfgS12*~g~B0JxQlPU{6_r>%kG!|RrA+j`Z#)WOd}lSi{oG+GJLmoAiT z+LenAE^Ta~F_c1Up8s0n#&lpbH#(E=Kd>y9lvRF&exvXLL|hy2;%L3|vo9`Mwo+hR zZhdLuCFog)O;T8&QyFr1t!dxJ8erg!N5KhgWI%qRK zz%_2Zd_z4~r`NafYjVMrw!%=ObTDIE?Ifa>sbw}&62Xr9A(6ZuHXfaXNY*YVXaW<3 zWaf%JFCm*^7&Zg$>)e^s9$+aQBwQuZqCQ_@Y zcC=nD>z;j(?W$sT>iu1BWscVs>Exb$OzxKv7lpx}BxIlbDV8`WCT+kDDc%q`45ydZ zv#$`;mQ?`-hTBBOTS$1Dl9h3g03=rAt=}izaIijz?C}PF`{gk|s=E z%%USO8#0kO-;W%-EVhP&ErxaV@e&lKw+i{{Hm5IjXTUu8z2ZA}=MuOWjk_i=wgD8fvHtEUpQQhxgXL=uO=Z}~#9KSxM zr?)UYKm6_HgYXyJlc)`T1>@)Xvo1_{CU_p1bav0so!jKGbOcC)p)-&;A}E535QTsM z35B2$MG`>5l;pU2kR3@m?nqssnUoTTI_nC0tmzz9jVK9#MvfQmXsKeTMI#Rrg)FODPau zTshjD>iyg%q3mmHkRsKZZ{41k*YFB2@4By=faq*x-!3{;B5JBRdo1-|94EfGKd<&neJ~ytL?i81oPK^N!t()vANbvl;Gj^FwbM2%Vpx4Cv)Vj z+M2h=b9K{MQI=O&Zbm+d1K3nSKCI0trrsE6*~Dpw8JI!M_5gEjeYaxeOOzW}1(n%t zbUA^V`KRC6vM(fnx9YUJ8C(V2F=`*AyaZd{%mSQ1nSy2Vr`eUBc_j3-3Fi$)g3DJ# zjAw(q&Gc&L#uWu zsqS%h+`G+}3Y}zxpWORr=sNFZ*kBkRsN-X?GUx^mN9W>l#B{&lUx^oel>oAQcASEl zCV)Turp7h+<+b~^eeqx*$>ss}z+m~M%OI~th`0!4Yz#f*r}^>3F?OK->L!Jkt4?1c z_lTG-AHuxC$%ByZ`+EK%qWL+zl!*jFz;#OBr)QY%r>rd@u!N#L!0JxqAE44V+k?@< z`oh+&qZmL^gbz{^LLcBiB8-{`V0}IO(rfIyDeT9?BQ|y42av1cJn;*6!*EZ!4*{#+ z^NIoD)URF{!u^?+{6&HiNsHxMk{5y~G2O5}{7hLd<2n1~Q&bXIBU4k$qOMLLKj6K$ zQAQ$0{K&T;I{?Wb@*{o3^Dut{+z!2cFj{>Q-{s$9`kwK5@3DN0S`i&BSzj~nhMg{= zHG|UYtiH!~!0(-nl?tZL-P6Ave3d3}GW|j=g_m=@D9?@Gt1H# zw)^@f{b~1cxVbI8-#EXCF5i9}Sf5?u5%@k=>yYtxO7CQJb5g(jn+U>q6UE#)#SeHf z*`y(=u%AD%HFGsNUiG(xTe(^R$M~o5da~K#fbvlDkn>o&YY~xjQD{Zj>+)K<35$^S z^N0x0(IZy_K7QhJNpj55vm1G~9^sN#ty)81NBV4S2>yf>-)312{Jj_L9s5n@J~`xw zI5p91#Jgr=jQI45V`7OlWG$w3G}Lm~rue&FIc05T?B6SsqU=vL#HsqxO?Wi%@^qCq zUQ;Hdl$eC1C-UUIZC5t5p62o2Z=$6NpYN=`Oa5O#O#&{O>))C{4+m6YIVDP;C_&i46WmR$t9stU zDJr|MkEgqGJH`H~vr{oJVq$uX_pp8-2-krBYQ;_sLqCgoV!0@A0g&rPw`8p>?z6k0 z*FK0YgWtzZZ-em`g@wm^NkuN8i!BQasm=Ec6ESA6;xd%`2&=}TG++#D*dJ%mXaGw$UlHZb7AMH7ETOL?pwRBA^5jtaJo6b7V=#P44 zeoZv9X{SUWUxHRor`DRL1Gbi`Et?qi`(&te+jqn>VK^!4y1@fLfJ{}EaxF)o!^B@W zl=@$wk@c>N_xJH_DP>_I*f-Mp<}O)U*%4j*?;ko!BL!ztBkI506_1iq>PvY&crIgdH17Lr>DS@V zoZt|MZz2-c@pOk4Cy@4?k4UXVB;g!pc3bgyk?%Lgd^drYCVjI;I+;$b!>1t*dk{F8 z^u}^UajSjnmSh?1UGDjeimlX4=pITN;1^(MtlUh(xDqQSyf&S7Iz4k@)})dy_kYfw zxnL3Tl-B~WSQ_BL9npg!maJQ0>yZOb<2Gxnl?=)JcVW_6XB7=)v-F>PXP|*$=iaz# zRsQt93c6sn(-~EW?G=EvU)Fo95$e|EpH#T@tunNXaG=L98EGCJHqIXjj0PrCs2WBz z+zEk;UYMH0qWNh@UI63H?uq&n){%%uERKnmk)gKw*!4)NC@HX9%=nS66C-_x0byx? z$5ryKPs=JMmzpAXysAP(sTAWz6|I^bF{?tx+|`i5D=dI-401((R-Yoo`6`z{5v10@ z+Dsr`MX0L<^-XYLB4*X5`zZdqvkk9M1+9y^&ZXTze3~U)BbEYDGvk0;D5>m&D`c4R z#kr)o`O>^C#wn!G#yO9kF8++|1bCdSC|>_+jO^Ndk+Hc^NhYhwSQsOiv>T;a6WU@f zkXbRE#(xG@LoBpu#F6b)ODt_0aq|Y+TQ|BL2J0vO=D9eUe_U|}v;vql1A*E02u%nePmv)SbjvLZNQ1`_2FOs*^*4vg9P%Wl! zW)ZB6TVh3(SI9Mb6TqB~=A>hf1rYBF+X;@WF_2>pb^<@hW(G07C^+xZu zin{gb@vW4IugqfeeipAM=mRBuVhsn_L-*|wbYkHsQBrS}sW3dP&*S3Ey>M9mV;kG- zk;BlR`LvEhi-T(=X_BQDRTpR{^$&5a>Vwn*h8mTr`XZm(w)+?JNbd0Bb>r2(ymo4d zynZ=ysKW?>`ZDiA-j1--y=bB0Nc4q~jHbb90+v0h{;tvT`36naI`_`ysFl>&>;1dF z8t^t4lN)V5fwY+COuBGtPbbrq?eUoP@S%*C@fdIQ;0a(~STUp-k2&>XkLx;C$F{l| zfxA=sn<$%%>#fC6tf*72GZv(KySw3Iag~GN80JWAh8f4k-NnRxQw6H zEJ|aFnY5L>m{4YQfGwDX zaB=F3)fA5CL-HG^P=}c^3S(FFb!w0-tggV_=vXaA3O}X>=PqUcXgyYAypV5kPnbOb z@I)D?2r&Is3OeJ1zN*dH6W8XBg*V2cff>Qr4^quT>wJfjnI(e+C>G33W_U>Q9|e;v zhd=2Z$EQw(^W3wO{C@&=9*NTQ;@6I)_>mcMg1YNL_+|u6B432y`_l&?`_k`yLaK|W7)GD>JbiGYJ4&P z=#UJ+pu>(DC_ua@iLe&gl9fzw^T#CMXT#STlvpzC@jt$=%P1hm7!^F|M-L3V42ua= zG|QRtS>{b+9Dpqk%fMOaxQ>CO4QuW6xW7bD8AWn(jY*GepT}^OMpEALp(eyS%IeIm^4Wz&@8*#31WG4uYoGOa_@H<}Wp}nK&4!2Qn z??oWkg1N={c|kWUTgoD>S@mt6`E*QAWTy~Wthv*d8^X!~Jn3R-oMBX!1s`^(w`=D) zanu{LAOvC(8-<30L4s3z%dPp(T)J8Fq^UF~8xEiLxC!q2Wi#l3u3LQQHB8JcbERAF zd;^sBZ7=*Me)j&}_175<7Ifm4*e%^VK}>SrUAhe2niZ{d*8munbVq3{yP zYiZc{D=z#%TIcjVQn1%!cqB?a=^1SA0Bp3c_w7{|&-&l9fMGFJ}jSnULK+}ilQ$g_lObcSp^ z$tXagQJB?*DS$K1 zR?A?6o-Sg+%v{Nqm$cA(Q{*qyg9=IZdLxsUEUMX( zg$7)0|M4`&%aE@k2xa-2G zX$J^?vN@K}&4!71B2B*rmYas_6>E$KRxC51g#t!Pj6<6cESSMgPKg_N(>$}OA(ujj zF2*75*b`Sqy8R~GZZa{~0cfODQnya}rh56wr22gtyACnjD~#Xfx!jobH@4RIO4wyD zgVf1IWE~b^#5-z1P%&{V_@47CiTfNK*5zFc>*E3wcU@^mZEl-)# z5}x(NN2;ll+Y|DFk9sAdJ;LYd zxF)Kkz^*-UepLr{XS3S8R}75WEK|bp&%+)m1dSAkRyZs2k*(JCBN+*&cF)`c(?HV$ zcX$Sal+n%ox?JtQ9WSp}*V8d*SB38p!=3N+a~?l*f7GL0Z2fS_X#1m)3HR%XhIy0j zNvn^fD99dqAqb@F!%2`mg#l69192a+ljSKm_y`>^=(vFBIe9+_U4%T~MjUuW2x+(z zEV?nawUYDI2GAS59+502#CC9a*00`E&gs^l@Z{3eSIa&ci))>8gXsy}iz4q9_(3)^ zT1ytKDE5sKVC>5$H288YAzU9%0YI^19l>I4PA~bLEbI{!Ob~&T7{2;oI|~5haZW4} zp+9Ieb+zFz3CiMvjZj=@aV&RDg?UGo>Phn7@RRUB28nb`Dq?OAu0SJJ9stv((k=UA z7|PVuhUa~fmrKabf~R&lr8V~i_08}2NCza^%oT^&^1!6;ip_JB^zM?*qj?$(o@quI z^3-_4o7Yk3+eB%OjzJBkk`Rir%gvfQJ}?!>YFay;gwKg&YGi50>>RzO3e~sRGBzO% z#VVTbB1lfHC_{r!ppQ-352A4X%bjrQ8Rp#V@dp+Frp|eGhAR}cJ z#ftw#rw*%*{OFJ{%o!4MDT&8yaiZ|zuS$dgu)PhYaDwMNi%q2dT#8|vYX{))|(km#~T+rX0JHD4gz)&JtyB_Vakk0NFcZ!{y~|C+lLdAM4+HO zL@{ux4Q=PoQ%USJ?RFwzWMmRLkaOzl{qRK0Bb3zgTe%W!`@&uX( zhO5v6)?s;XChu`-r7a+WH-+pAwBSXfr!%cm(JBd)(#<%t%p0o4CZw2F#@ygiu=bUO(!CDz#5j(NM%k$$3TiSg6 z>*sPnKVT)@hwi<<`R^Yw7Gj?MfXOS%+^mC0Y82vb&{azP zef_U2r_d35RiIZA=?riwriV3r?40}T-l&JH$f{c+k|gd9!R>l^GTtyFoVUQfyV_ezCRzMz_DB{sbbw$hj?HLo-pWH;5X!D#Lii^o68%H zFKSkOoi$P&OkCv(S7riM);PYl-kV;~r8ZB~8Qg_}~bOHIS zl%GGf2s(XMIIom2@8pA0M{x6FVJt#Q*`(Y%ZB!Ub3}fy$dw)nv^c?MmHH+!7+~pRY z45k32Vgivd_%2o9yT+cz>HkQ%vu(18hrnBhpQ+0D$jCAA~xz zS}U=I!8fR(+8;wGur=u%IZ$;$IsN2C|GDjPs5JI-Eg2V!3NPpOCiPt^V0OI>@X>k!1jaes+I-&MKj*y z@ocE*A$<1D9;Mx?ad&P&L-IQH1?#%`R9m660)=2=91K8$Sp%esL9bE&T$v4brrO4< zWbK72rnN%y#8O#Yj?+m4{1c}>z7OW1%hN$%SLN#${Xc$fdYrM7hMRSE4Bw)6i{(P? z*dmrZvIb!|A|sVqhSHa+(|Cf6GVF~AJP?+q*FsjlD-9K`5iZBd49b6=&8MJ!*tPXQ zRQKL{>3hAK-|!e~HKFi!qn@G<#uU4VDR$ZJ3TnM#SdDN{3?h^z3#9XF5<|bt{c$)} zMLe5ui`tC=6{VE9`LUntOJLaJr)b4wIP&23GUJixOmOZC+t?H)2U=YqQ8-Nim(pc_ zhCmJ7BPse}>Uo-F0jJ(bYnKaNYqA;0wGYC3&)l+!u!4fcBLsK92eX?FSP3J*$K=YV zqDQ_whq&_-B>p^KEheMfx?Se6t;^hXq%!q7C9Y@t&z32XpUUBO=p%B69_z=n<}Dqt zs5t#3X*mX34_eW}A;Yh->LYhrLP6{#!^850fWx{UZoVnTX{zvRLMu|6u#0+@=|g9c zTww57!;=*TM=1p;UaWgqJ#dXEBg5@wEy}@Oixs56gpqgq5ToaQ(P!wNx;usp`Roun zJ>g6h#{i@1$A@+4+U5dSMGW~tzZqP*;tKTTdJ-C>bJ%%nJ=KS#;_eMEB3txp20cBR z9W4g$KG(d2J#IvZqBY z<~vpsvNcMO7+yS)bE{yN_`>4a%a^bV3)!~;A}=1nX0=I9bSbPQNIJrHoJSBWXTG#oC%z`3iS#X7X#}w3ywC@ zK)7UmfsqDMZqBnO>IfSV=?qG@k+p8v3)Sjf4D6lUtSam&1fYqO^JI49a30d-$ZwMH z*Tyi<>R^3Ro-?OY8;P;8!UOHO9xc%{#h}K>~d3{ULOZc)ImU^1cCHbOm<*TEhb}u zT4*(fMgF_FJU==d_Cfo0y`0yDAbk<}f&4g2qzfqgy4{T-ZGNFX?bX^pB2-+nn5TI$ z9cZKX_JN7fCX?|K6uo5oWp8xnSz8p&u8jBz^gP?GV0w0yN*U_n*|bdHU>Z-jsEcbL23ChWhPumUEuXwe~sh9D{k0Gx?%^ z3x~nEe1IVI45@mCc)3N!BxNx$osD6F5zxXbp#0USa$c9FiZpOAr~DoCQ*NVwvL20Y zKYy?EApZtM{2Gr6cN(%hJ_!-k{iMAnvnjEsP9I7x2Y}+@co)4>nvV8wGE_4x?d+hK zaXBwd%5cVJ84rL0mb8*uyZP{H;%BnjCdPm*V*~3)uT&A^_IMn6 zF51sI{ z4;I4(Xy31=!@6y2f9{+A6#8I7^S0w|ld0T1WpE*VdaKsUKxyxusfDoF<7dNW4!v<< zXe`hZ(WT@|Sf@|aZNz01_(dC7E>+XOzf6& z^l@y7Vpk70mMN8iOx#ume#5@oyn=EHdj@ap0UE~ZH*R4I4=qagOm1h2h1X(l+vYsI zCmSiuIlz3fJv>8#$X^7h0Fl{ z{nx?QN1n;+knHYf3sdLg%jfB1=_5%v&97Va@)b?rF@G8lhtRf+()8MqT#HP*CMg5yr^lD__Y+5%G{lCOj`^51$7bSsG%Sp5)LLj9eN*>`cRPrTj^RJsFdtap}gIfxq+rwM0I<()2pdb%F%@F zwSw*Jxb?7noCsUxue^QJy2U(VPZMs)mcAS>ig(dFh_ua{J4GSZKHdOpMmtDnXgqj> z0`=>v<({5L!()PtcW6$#R|L{cKS`r%?y_1SJ17tLRR_X6rc}%u?g58esp(4jNWxnH z!JqZPES@zVyKU4|m0dB`my{NO6;~d5{Rv9r@mxF5izQ;wZY!hv)YA!P_2hb^Le#g8 z7e`0L$1==e)o$vVx=Kh}7*O+LmHk?3YC8faR_{xUhI9m!eu*Nog4EBM=@`oDX$u&J z@4)EIHQGdvV~9QerCYt2MXiQF4t^#U^f1`*X$iyXPNgQJx#PWQ8K7}AY`7{F;>~Pz zvw@XmgAIboFnIWb9LP-v%)qVy1ZTFUBFz*tVVzw!hBVNH&((Zn=*_HufNLL)2`AJk z&&TKc`KQOb#=G)q>>Jvfc~lGrI3V^kC9WPSc;R^pG8n9nXZP^1NYfbnDipVPUve9W z%i>+boyv6Ul2l*GpoNzLR?$+Hp?HYGi_2nROzX0`KSe+xNMDBL6~xb{aXTnJ@@ld4 za&L#6&*sp}mkY+6(ktw-=E^lJqGpbIW7wqg@LqGqS#SGNn=#7N&J-Xc#XZXGt`V5T zyipSle_n(Vase}{46k`TefL?c^aO(0g$Si)Y5p~-bjS7_v74&-16?fR9>W(3Zsx3Y zSWU3S@014i1AB&Hn4q4}8hJFjDvwxfkORg9z4Hd(QTREG!H+#n740cHMWz&d2(I6? zZbS~z8BMD2Ga=kpqrC;C6Uv|Vz&IW^?x)x1*E3`zNi?Fp`9VKc5LCDK*tmVhDM%S6 zX&PU4qk?)h?bSJ2wQ($+b5}ddVOMfCWAOF?5(fN-TFxvPod(cly*^P_zH$(X6Qcc~ z{7vFon>tataoRZ6wn-!xEp?h|Xz0BA_@_DSb^DA7*v&IM6!sJkuQDWsjNY8F{W$-l z|3~7h>@s`ko(@lMY~iePCrN!d*?CU)V+HIt>Ll`X?VI2k_SNCbFu z0X!0!F$G1#@zCf2Y)H8l6M)D;+9mn$60J4QG2HAuwV@7L2T_6 zVO1tJvzNa1U3nIZ^}VVKbIvvFTt9}3HZDB580S4*YR6he6Grdfac?Mq2_EAuLQBXZyVi0%}ovO>M~6{-u>>L z2XKk1=yFnLf5SxZX;R*NnBc+;RZzxTHl9S6Z5Vgdym1-W@u_;|#mbQ+Lj`Q`S+ZlJ*Q6+>^L%oz{ zQPz1i1;2yC1&eS*e1jTn$r(Tre%r=ZYUEuV=Zj%HrHXC#@^0Bi`Z>^t+8TbuCIF!DuZvWJ>wGBvY}RKPxnf^f{R0;vs6w z^_g4+IGL+h3)u}^_|yErMp#elcwL_qy!!E|VOO%F;`nnrqlm{yMKuNwv)RI;8a$kM z4$PP-W(06yA{U{#j{fRMFP2*R#6F`{&_aBx@9wY)nyBrbnbP-3SErhTB#G#!M~BUT_m-TFB5RlCKx{8Xo|{;WdACcWX1V#BbexxdOa<+0^;v z5%RgNU2Xc}a9O$mSOWzRz_ROq0I*hCO_IBd5AZgDue}wr-4-JN@{2QVfQl{)?lSCb zjWt$b#5-NGmL_Wn8WYoH8F5EuzR((KO>C^*bQyUa(@R9jV`7|hNQeKynZE2;pgXPn z&sVJn;_QMoj-dk6INagK1^v1vQZG|Fn7#P|In1`!SiqRkGt--wYK{BNRJ8s#C?ov0 zwI}lDHwhja*vBzgHRU5r;UnbNT|dD$Yh^dzdXTjeyDY0o06C-X^=L9x8rubtbhCQu zg1kZMHvIV-8Lu#->sTMQJJUV)X@nkYj|xhQpVztxZ46dl*xt+ei1h${fZ#eG(Do5z zE&qTMs7Xqry#_b{k<7MRA7Tz~I)yo--b_`K^O)?W*dtoC*H7)7A-MUYl93C0O)+vz!FeyyS`XdBP}Zv~yA^0dfO>OSbypO1)y_Q^XDBXe zqTFSMfK~(uftHnrry1QtS(&4BZjy@LjIZ5_?yg$D_hfGnV?zia1E2%!$Y>b`tQGSi z5C{b3SkN1T<|*OzAvUdQF`wZzzv|5&aPoot>iRoYY#(>=}5D(HH+r2o<>GR#Zsw6C;FI{m+CSG1*+rc zSE_&(g%R_aIO3sY+N?3gR4PQ!EYoq@U87j56{i9fYyC=fs@Y1ln%J}qJ$9->8OvV3 znMAV^%O3XH#6g$TAC0FgEKE_~YMlZ_>Mpgej<&>QSWWd?MY9d9 zyztWgFd?SIjF|h*YpXo+)B_LQwasy-oOay~CoLFZz(E&Xav?0N^@}5phGkfV6xLxA zwqY0cz4$_5p9YRCXLPI%IFYR_K+n(Q1Z($)mC6~AFSq}M^&t=csiM%0yk{`r= z?%4aFc=!1ShwCi;b1J%qFQ9R6Z`_Kqe`qf~P`oIIWmI2UdlPkPJk%$2iLp1}=hQ#- zpVnJS9~9G9Voyih`1fD@`NivE_5Zus;Te>h1l_&oIskkZs}>>nIslNN%?n$jkju0+ U*FL*0I`do;tDcYRlbzSaC|6#juK)l5 literal 0 HcmV?d00001 diff --git a/static/fonts/lato-v22-latin-ext_latin-900italic.woff b/static/fonts/lato-v22-latin-ext_latin-900italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..7f5004460ff02c05ecc65018588a12f0f5ce1652 GIT binary patch literal 31256 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

  • ~1k}g=}IS2&-l-cMc}J`^)jKI8lzL z9%}6L#L@p~cEjD@!fS1YQnl_W6$u|9pm=t9Dx$JDxpJ! zmXGEjrg4rINke=5qSH1_Yw9MEjLi#Szn@1Qx;|r@5V*6UlH4K=YAmo1s>*-Bnm_Op z`+8ocY?1bz7Nm}sMm#d%52L&kunprlC3v8?viJlE&5hHFrPW)lZpngw;%y=*=lp5B z<@3NH$VS`_Z!j#}GNK>-(|U=!feG*w6LhQe@w^nlX?wN=rFB$QunIVbb=Gq}w%fTk z4g?Tjn!F22K!y~?hXXbSUG#8$duStwAbzlzV^(L={Mm0Iz`p=@)kgA=;?6L<8xS3v z^LU>lnU95bYEEFf6uKK>&-@6ON6vo=nV8U(X=@tQ^k%l(=mn2gf5vzg)Ji#4nqkkK!D0=QKbJay1F7pa@Mx3^M_Qh9lEMnszXkah!i3ZN={Z_>wy zA^!OJSL?_RLp^A^%#Lz^qhhgwiKnX9=_>ZIdm%o3IBrAiB_i(<|1E{>WiA(>|6P#CS* zt1j4#jMB7|a+<F_K8vwZ60-2*kZv= znr#=GNSYLl-MY;T&@zp9CcDv$-plWxSCJQ@*Z*$ChYS0##0E!x))PG0{-9-h2oR04 zRokj=>0&@0-N?=@*Joc~pmsc!z0d80gl5H+1<%@$vpTTyHr>iwY_neKA&FkW{aYxKI&`CTJUAe9W(pfm26u{qGy5dvYR?SFvW17OC}Vk8Ycd@ zGyw^vqi3Vm#!AkXOp&r*(>jH#_^-5@f^A5KjOfa623=?QQoM&;d%t}G+|MZH_8afs z{nux&5f5qs*zszaY#?dHZ)DalwSxXz&0j@Gg7JD9wIlJgcD0o5AURsmr2FkdSqZI%LL#j9-2zN#GzYVS%^xDZ=oIUR_;j9MEJ=R3%(t zWiI_mNkZ}PUPh0oOnAeBHoHFG;6G;2linFaXW!$3CnPT-GD)h?TG0?=^sg#0Qc+m& z?6F+(wDEAjksGTE5J>he^IuysVaMIo?Mq5M+jOm4sDrd{mv$rJEf8NpJqDr@ve@sPF{Rqpr#!B#_ z$OFtM%>O2IC_azfvO<&YyOK7aGfQoW0)s!lh7$f8LJ_?|Akj_nvB{K}pfw=Zz^ zlQ}mSyakr0J0I08!wCr6EyIFF4}k}S;9BXqfK6i)1e)O~9eB!t?OQwDihyQtkHAh$UO#pTb{32BJQ)4m{j3AZj|ej|BPdab`7|teOBNJ zebw(P?I})%oL-0f4bMQax72dOg#I_M=MFgg^w%Gnn;H0{4~8e?V*_;w??M*ACVEpW z%z$B?8&S!EGpq808_hibkp13%8=e+7ld>B}z5P1VceZXtJ({&6m@lLwtc$so`=!;6 zBD!ryWeKCWRX!`H`moN`L@^w8lrM9R&y)q`8N&{$bG4$M{b@3|}cxaBTqr&U+*IrDg)jS9*FQpy7_9x9ok z^WJAW&$1>oRt>$s&W z5xJT`V)U=l#L&&q5b$XH7=pShz`&Hee8E~7I_d3|j?dBtt!oGuruqIkV2m+1Tm6c7 zoA!zD*3Iyg)+S%Ng^?9aj#}ZWw@|@w3vEaB)na>#JhPW}TqWA8MBGY4>~4;k98dwG zqSmVbcR%ByY|zP<3li6m7Fx+e7AYbnA^AfE8LA{dv(N;%*KEfk)5{*4f)6fCq-QY8 zF2n}Fwp)I63B@Y_T;kALssqE02lWsT3w^QTmShPA)B>Bd^PJn{Md5V zciZzj$g0f7ZkEPrHLcxe4=69_jYFl+9dLS}e^5YoX?OUfFb9m$tfRZ!TVdA4px%>9zi;p+ zGcw!G7xnolF0!#;OdXr$+#UKYXI@VUnA-)~O#;dZryTye!EY;!IzZ6EtlFZ!s`tH-SFrT1*eg843$W%_fHUV z?4dcu2;EUNik8h;ZoHZgV0I0KA*XQZ`e398YmiI4`{H8i2K}0rlp56$OZ%pcw_u?a zzb+vo&7v}v$tE_;GM(Lcb34wQFvt&UT^rsvH#pTL)YV&akR&f7iDrrIg34Okb<8JD zMMZ=f<*VU`?Vqm`KDBY=OpsLr#M7Q8CjUb&cT2!`V1Y}DVLSO`A?%_^gy$57k|B+R zaO(XEGkwnwFR>CJNFUn-J1dJ6ZtCR9;M8vhv$Wgs$D~=Pol+{6xm(gs9ZZmc=784goC*=gPlqbP;ySVl zA+_$p9uB&6qDADZ76YjYJ5F?ZA`C=?7k0Ge!4k7?Qp9hCF^1@@m-ZCyaGj3hOOHvC zo+zqC2&$kF#@lbf439RmR$DT5db)hkR^J|1<}HetN&$N2Rg&ZBH*cjlJT_HQ6s5fK z`Z!mv(5vasX1y3&KKoiZ{gYsl4RinLj~%;t6aDZ|J1S>XPi|^ku~pK>V6BPEFqw9v z6B|V<8QBPkpL)FLe|r%;@T^tQ_xm%22Kw@5qCsAnl(P+har|g$)EY7)lQ$;2_^pI} zE|RffZ4v=wjIOXhBaDNq&NE#V)i;HOpyudF$IC1s>8faDBGW`njb4IMM*g~sE<%jt z@HtV*%*`yU>!=Y9gYOX1kC{P$#}b87At@PgtYf6&Z)qtpQeL1JYXS6)G>?M zv-^wpp4aCj?pq*Zk0-SD(2*ZZ-=ETRm&Yhj4tQ3`R2mQSwD|+zY8Q{-!OzDbJT)>B za{1Z;JNO0IXo;Svki^7fk}FC<9I4MV22+|OirVewT8T=A1nfCc;d`DwP!8L}J{PHe z{g)URwN*FU)V=VC{)SyZJ>op-U_FBJLkj9Vy}X)unZFoPf-7^?u=WVN8swb6R)zk7 zzl>z_&hJvgq$A87y!*lujbcZVO2SwOFXlU?G3oWpob-2ui{0GTzSO^VSG{avf#`d= z*h$tHg3*fd z$)*AuAH)ipCW!ZVr+14|iBZt$QuyU5$~Pk+^Ow(iPj}G% z8$ATC5|=87FrHObs~R2b+f4jQT#H6{Gf5h#E~2oEu=un9blTBySk%VesB2pji#=&8 z+tF!#l^ZmopF#M+-xf_s{*u8}q5nv@=xBmQYjKrZ*)Z<^sIP|>>m#M-%1Jkfb`Thd zh_m6(S+=*u>gOw8e)M+pv7s~i&7q_-VSQ}x;uoSJT!yX))$IHDwYe)0Q>sRZ$_c$m z2BT;ZV7**^6hMD8-K|DI{0`K&yKD=LOU^2bnTr7G>|k&%TuX;H(hKh)%^B9vq5Fe+ zFQx^o^Vh3C5@1d>Ennpx_{#MJM^a+oA=Ev{Bu zn5ar(xKgHT^OS@{+h+L}Gs+&%ZrDgFofQtY-4`a}$gli|WyR|Nn^V>$Evfx`Jn&-Ln6d~)9onq zhbRr!9-xy%*-XPdOz9sP7Khn~=__cqakaxdrp2fglOB|3=(13oEy?@@AnjTo_KmXsVWh#^L9=t_bc5k zu5mAutk6j9XlRt}t*y3cs4KQB;#kyDT*AWgk0UPPit4sNJYUry!iFc}u;Y0dv~he{ z{JY!TjQ(t09q$^?E`IvFLG!2#u>5yGWNXJT-=Nmy~lnYUe=wowCs;% z>gId)^29LJ-%_~HFVz-hXxD3wmNDV`$9YwY=~!D);_Ce)moixt ze~L~mFw!pea_#lSCKAQAL|7Wqh>%2cJ6iU2tF^ZUw`MF-+>ZJ>oU7?|#Y;0Yd3XT-d;~pNmjG*FjaoJBgV$zIo>N-e) z!{@Ci2M?sQnr3pA@heWjMr74Po`pkJQ2mxgS&QX$Jpwvh?|43Klyg9rV-=J#C}7oz zP<9w;_iqCtvTZ5-RrZ*g9eg@49tJ~00lvODxe41>}oFulCq7I z8KV=3a!9Cjar_?1?V1WEh$;od#j^#Cz?e_Ufs~M8KH2K!0f_MmlcGxt2%{d;jTtK7 zLOELRMxPk|5*`!&kZ8g(d`9%>E;uH-4?yhhHpoQ)h@m!5%yGhkeM58{QFbLNTl}V3l3@wp(yXn6f7ZRFfpWj zF!{YYbP=c06^YZRh;0`<9_v>kWL~b614Z72cntqGPF3_5Ou*=I9lZLfW`VR?tzowu zrBr0pD2Z_-Ex-G|d*tfWbcEEXDMt@g1nmo3ld(Su@-$U6>Ii1nJgYHKcMarN3^}-) z5)e9kW#4)~9%l<6k9g4`+AbX&Ni5EF-h6J$4_iFkq~7C(MSUHhD?C?X*g=r|Ha$Pq0En>NXfon^-jWTMOLbBc3JC5R-JL zHv98_A^`$AUiWQ>dU!>7$Jp7wuR=Br|0In_&|jp29f29=(>M0m&8cX=gCe9d78(Mq z78!G#d`((cEMkJ{0Du0rQ4ko*MT8ZKm93XH$EV23jI9)CCruQyk_n1p2RLkvTG~S^h?4u zwq!!xu04bK>`_Q(PQP%Wwkomj`C|^1rhZ!IUqS0N6<%r34&ILR*f64v3YZyT>_Y#l zL_O(k(Ub4YqVBVHs~e}bR*hC)weEN95)%lr!S7FWVpUE%+9N9y;du`f;KC2ZV5Y50 z<4^(5=%Q1W`kcKidqevyi^_+JzDRf_txL_tbQjMFJuaq3=`C;mrr8tAN8YE2mrC>T zr^^1P(X~7jHZ%w|GXEVPGBV4`74;jbM;_*n?dl#~Zc;wNPeRzSf;$zOiR9=?)Ez`j zW?GlTEIP69G^@@aPDpYRg2Gvw3!~Ye+Aj_U#3+qS?VQt7c(a!k^UOU)hxiGJBNC zxT??i2?clK9gyo|&7y{$DBPcaR9CF|9KnZW9ljoSvR|EqJ2&xEFV;^taH1uV=!nh$ zO8n}|ryE{$wAAqwK>z4qi&gww@`=aZ`b^%WfTUKgpdv~yBLw^Jy+NvCJkH>U!N*9kt{7auz$L zra~&WF}*a-m3q&TZt50==Usf)_wij1_(Uuml8l{?29jFO;pxbpW?ndQ$y7GXDD6Ui zUx0!%4Bi1Ao(7)|BU)67#Fgx0WkoR{VpIyo5gcJ-EiJX@SnBw2RPf}EO%E+pgU5*{ zdn=#CjHa6{}ytTrx9ENm!@@XOnCp;~7Rjv8wwk~TWW_V5CHU{$-7HAcT7I#3V~EVo-& zCSu_Zl_+I+gC5uQa#q5OyJO6lyXf%gV@>H)TV@ZS9+GmUzz{cxr>W!eW(7ZkB*h}9 z8nVQkX$fO_7-6~i*zMcP6)HGST1eVvzLzWK*dwq@+6v?Y&QZB|%R=t{ni1TJHLF)C zxl=Zg^ov4NV^aR;FnTF8M7J6s&O2pRH?cEO2h{3bbq%0^G)r!%m1LuvdW!B#2!c+8J}tn zzngdby?Nu34_Ojrqr_+v2`#8&zY4WLpXlZxpXWfUd7QD2(TU!2pz5WoWoE1n>C{jc z&X>ict+!lG~#s&&UN@``WycU z`$V%)Hr)4VqI%T8Ap7+PK{!7G{`Tbk@pYfAx_|t(S3}b?aSK-0Mzm42gQ{_8Y6s{E z0eyz3;1ATsF`LKM)%;dgf%llgno`?-KKST}Tey$@V=7P21^r3PD@n6eX33Fft@i#A zqWcLCYxkIP*9XeAmsy&Oqm0%s$8?RoPiT%bv?t}XAW6xf6&6Vtg`iQAAtEHzU`)ax z6mC*X0@3Hp$2LS5FDu^6k!hh>GaES(DVYF?;kb5b(O|H_-VA}Fatso{BUhR(ZXf|a z_8I$S^C}cEBV&Y&^)CSzHcN(AVE`5g93Obw;&MJ;DZh`-mtcQ?y#5w?^!F;k(i*VT zcrM`OPF-)^VZZ;J|1nn&l^|vaM3N8GpI8(F5CWVSew*5G$1WC2RjSvclAu~wyNrU0EykPMwdHBd;hv|MZ`YKUpV%t;uKnhmpQInNsgTh{~89$d1GAJ zi8yMVzR->TX+os8<_9RBAZjT6v*Z{9i+Iq!)5@ft6QrI!1l;?1rBha=?kaudj-8bj z>3?rm0WQBe{0y|MVNX%2Xp3Tu5e758Ea;i@+GBiggbh=rj z00Hlehh!=BB2?hvmJEz&Vn$Y=U~myLML>ZR2P z_#eT*{@1T-TQ0{vj`2uDi`RW$xc|X(Z^{;l388Q*?gL)lJnuSN>Md9cZ=x`ZQ)eOW z{DgStuH6oq>M1^_xRM;Bm0_+iX;oI~Lv?m8z^u#~B6Yv5eu>=!mDWnaek>|@B+Pf( z`XoW3)^r9Trgut*XPuqrg}RKJGh5`p8O|^pQ@*vx4A&!@ay>{z?;HsCsj^HhM8YtQ znI8<#dYx?CcC^3}h2v051Nyb~H-B&MCtoUJ$8Tn*hn{hM_agkeAHaWccxgo{?z9x7M|Hk;;JUH3o1ple7`Mr;c zkzTobSAT?HFu#a9Fob_bV`X&q(@A<^>;YaogJFS{mKob^AEctJGviee%+47 z^NTq`L&JHJ5MVszi7O^%odnDqD1N{dKkh%vyWBl>o$(0lxkUyN z`%siCIqmc;C%&D)3NN>H*UHa9?=Jnhcd@Tc96m#O>wcKadpN1|*`eOKUOG7V-7hPzRHk_G z#Qsdb`MR;s@a1)e)FPIuvSGyzJgYFhpf72o%anJ)-TT)6+(S2nHaQN;QM)bpPwA5w znnlhuu}HYstDoW!Fpe4WsDA4o`Xas-5j9C`z)3C|&A&lo>?=NJC{uN_$wqN_7uL0b&_qkttFJ+zEe8vkpDx|ySY=Y+%ogH>rpyS;Sm1~Uxl z6Oi8Xk`yAb?$~IE&V+AhjK!9wWACOCJ8U8*|FY?~KB;fD+AVE{o%@)`iRZq5;@p~y z9z+a{q{fVK=7KpcUU+$IW;u;MogEpnR79~9swNTiEurwBS*<>w&Fwfpw_g=R>NWTf zhk%3|4CPhUpqJc8of76V{nDdC9X!!qM7n&+b z9X*pfz2EX(k9*9vs4e~>?^_<%f}uW!UNKS|@gr(!cs?ZFz;s){FL564) z2InQ1C?~P(Thisc{a+%Ssnc z(mlmvP>t)#rt&(zE_NJ|3{a|I;hF`AjAzqQPNNT82Y~C6=jp4nByh$yTPZ$Sainn*yGID2ODw$P!DS(bU zS2@?A)VLY_>POF99lI9gV(0kOf2z&eLw5)nyp|W`y=*n38mUW>EQITqU2!|tBd9?* zC9|?T3}j;{D{*Cx<-rvGh+k(_VaeYjjjhJAJPk{w3URh_ArULBd)++XF*Ud=8NMJi z6;kW~0B1A}SVH=Dvcy|!3DpA(L}<*}r>p0-EW{_NKkOE1d(I=zgZwFfAD=Yc&TlQA zvL2G5YEePvPGpo7IVXGS0DsEkg2G}7d0`FD0onL-q?yrV0RLd6tm9RIl+dg9i&^oy zHVjIw7W9fy2v6as)?_9xELY}Ls!o+SsM|=Ec5ep$xCZd%>H72L^XOpMZ=DZ2BYR~L znuS;3+b*n@9@E(UU!bnCP=5=0m6zg#v3O@ZnIaG}HAV@iYKX+B zA*%ch4#_LhgEPa+G)s_lE^mMb^_bVhhd>#GxW3iwz%!byuwyiyP{Mu$EQw*l`QAdt97auVQPFgpW`3*a$BLl@RMldpmFIHA#n z60#tgD+lnSIyNv30%ohWS|p6jD_J?^NaadKn^aAR9ons)#>v_9WDbc zQ6L;I=X ztkd!9B}HWujagq|_wJM{~9_#!yl}mj^L}FMj zP`d#dB+F;39sH0?YNPs%0O0=rYvqqJaJ1}7WdRJBIC@MLm~?qCXyUMlMD^M^41gYp zUR`n;33qO*x^W#-FuWWgyod&blR3JGPugAPl&!QXUU&QjVVGIyo3Oo-3dcJF89%5B z9{AUu_d`~`Ps}?8{SS8U4tzM#txFPsBYB9@D)PY~)0dMIw~FapJevy@Y8^H>-j2ZV zuFmpVmU_^gvzsG|l`KvKMj0zl$EwsAUda7MGdpDoN$~h-RI?lAIWYe)A65mt&wEF~ z;@al0;)ZJ0Ax4sdfE-=KlR9!7Kuv8{mR21R5N;4(sBxA{|9}H^c+2c&rSrJf`SWx< z=!)#>^j7TKNIi+BFCZawuMLjmGg9u__`XnVG3cZ!#4o2nJOKqD5*aE?;Q9(cL9$2g zDQI*3JP3I)0!DL_QqDXD{a11}zn5P_g10dVu$&nVVu5dAGz)UyTB_%in2A1L8Uc41 zdvBJoge+|7jTBkYc_V5=vfM-dM1C0fiZbk5i7%_i^zGECE;5|?Mq}bJTb7=+j$7ti zUfuj@*EV(NEAy#QN^8a#ZjO;@P*X3T7Xcmj3}NI@4l4&uWl(z#o$5pVavXQqA9)#hPp=zN0;Esa%D)O$*N2c%|tua!b_zVbr>HGJ}UC2wQZ6U4C651*eB=qR0 zbl!rSv-w`Baf$||xDRGc3Jjv{5hH&}di6a_ubFBq3ei=1yapPTe3t=)vGdIyfED4uWxgSQM?907L&s7 z8egy=#o>2?&K?i@MHUO+#iXtY(BwFT)oy3U6(NH1k&sqLh0ub^=O$nd*5XQW%o^BD z?Y?eB1tqlOPoykR^1WhS&a*V)v@$Qz1QsQj{IM+GnFi5_Nvhf}Rs>Lx>~>FC?PB;f z3M#8{c4A5IVx@s`&JHLCw& z$?0UWo9+f(8q3vfl&W)0)qkRJi4qfsK5Ee(QHj#f5YVh5gpBxDSMzfWq^X-*Myplv zMOWE$r64xPdrJdY<>TA3%p>j{tz9IqwQvFRP{|jq9hch;j~R9v0e`4yzCn|>XjECt z`8x!t{Tic&#z#PkK$r2D9#5~tQV{bk6x6H^O19r-sO!_`)BQ!%IX$jFwl=H9pu^Z@ zKSFA&T@O>g7OfAZC@!6XDqrF-acX!7u+y6ED!pz_WU?{~pjtnWgsXO}&)vJk+QEQB z)^#U<2-Z?%%of1EBMeO1KbU;(%6^c~yW8G8=wadjsLyz#z*|t)qZ}9Hxl*vlcb8Z2IILA_P=8 zWm-}n7O>jF+4}Y1frp(ria^;?f-WfRLp`j@%TtwAG{#6+V(z5+R^ysa)NVimBW8ei z*mM_>I;1r;7%NuvbQ_?C{(QMKfF&;1MV^*?AdrsrMAt2c;}LI!4?SHC+Jej)Fwca_ zkJM0L9!AKWs`>14`6a74)4_W8b>m9|D2sZRgR(*4t49OWZYN4MYz|r@X^RV$Q# zOH$KLW0j^6HxX7DxRs!mFu3i>Jp6rjGWG>eqTwLt`T~h%+&`2dIl++xg|`QR}4w- zo}Va@Mi!Ya7}Kba6uN3vF7M1kh*SI3vy?ZyE9O}%vuQq!g)?kbeeMbA^B0M!4|Pgs z?^xbcs4I3WfWvlXV_S8TXzgD`|tKe=%q5o{q>yP7M*JKHP3+F*xdOuR5Y0=EhDII_Aj&ik_>E*>RC@Bup@9`Q>0JTD=LCaadE0?l zy~=f)bfbX2tjkasA$L-+zh|0bEQ7?0gKvc6I+804IJaYPg@;%dgjFJJ?j5Ksg3QoI zI%IT2L<5I-xy$Rmv!8OA>#5igqB8Do%~0|VgoZ*{l|1pBm^3txoHdjAe1hP+!Ow<% z5wN3A6`YNlKAtyD1dA_xs=&OQbPGvzt`<1b133)+F!r83UR&q4@UIplc;(`23HVWtR8q0d3}eV<-{%L=HG;vOj_!5y)8Uv@5yA zl!xDm%S*8al$E6u89nss0aMhw=T_>% z5>BG&oNqtTH;oM^n-P1>o)Sde%RZ_qe7GkeCf9^iT3a5SR_60UlAms@pg zsNrb^K-`QX-?U`j6(V#3emUy{;!wPN*=_8Tqnd}CbQVWgFBgWsd>zO^YwV7Bt0t?z z#~MUsFn9p{VC+t{d%}dU;%d<~!K?IeoH|F1cU&t+17;*!h2$+#bVJq3UZdqEjtfv` zP6DPCI2rgO%MGUnD&0uuOMns{h8uD<52Y3&#w$c}U)4R@)7$R^{`It(7KJyJ=!U$VMMJU``eebn~-aphl z_bhV635Ge}JoFA`eiIYqM}ytGTwiV1lTj=4OoZ<24D|g}n+wbX!B$yup+}C+y~q%f zsWySJUfv;iVmtcDfCTwOkcLiEUdA@2eUQdL;PwKRsO!yS~w#kjr<3;!e-37c8d*~MZiluE% zI~fh%tR#h_Fq*VjPcOpXWorRh$U>u+S^Pp;5^9aY_Jkl0Q(!94B5e}N$CeA;kE-*@ zNLJ>4yZ`tP>^~PlOpGL&VY-LzTaE;mufzL!g#%K_<;)u?(mhYD)W;Z=GvMCjQl`^9 zD4uPiO6#Fv`{)^z7iaTn*xs&({i;agz&A1*^4=aEcZ{JsrSgT<$m}5WwQ@#?KU#QF z8lAe20S+m2Zgn4Ox2EY{{6R4dIIOTh;s@CLa)EOAdU0Bw`fZsf5%XzfTfW98@GkWv zTAf8h$pZ8LOnMNTL#YNwnAjd78xd6sD#E?3mT))?w_R;g>Y$K-!Ss$5$XMX@hx(bS znDY!L)=(b6V+;nO@WR$ZHs6NyxpLJ;P$3AF9n{oUi%o#4MtM62t-PFHogJ@MMtnWr zUra`3`cis26e+dE)cSP8C_taT7E5;ov*W#~geT056z|5HgnlwB{-ij@km^*@ls5 zfv-hm7EtUl`Yv)3ws+BqKEbs;@?fsgTM2Yt7b;GcB;(8`;n9M^PioSr zc#bdLAP(b$T7-FX zZhWHe{se!b(!R?$=fq=*aL|$c8AW2)Ha*G4wWSs7!JrE!53Qa~R^$YfkB+yS;X7jRf&sr2cVkH2VZ<O5A!io9<2Gw30d^bQL;d)wJ7=U+7S-l&bGV zH(!_yaWf0V zlyL}TboIK$oxQmhEjOe-+7a_!UfDW&tY6dQ#AhS(JI3GEV;w+%3_ zfJikskm#+1+Mg-Lflg;B_0ZttL}hoTz_B`lcd+0-RRT7ozXQM+afOad(H|jb%bAi= zc(lm<%h{XavwW`b`R5kwfBd>J$@qN@GO1#4^U=aI2{ki(_yFAx%S*S z&|VIk$gDKHPLX#zhs*KUBcppgtg7g;v;hNfOFv(ROLvdQajm<>GAL|7?e90E(YEe! zzhv1S7P_Z#JXBmgyR5OTwcG_|_?oEZ+iCu}p5Dz)%XN?A6(L^ryLg}H`U*-tFokZx zMM=!zSv#CnMafpsisQPFl8;eqnuB8jqc!lk2F$_F#Fb|?u#>aaoAwrV%9+HRKxa8K znXs*Sz!j*@X*Pk~Cq>SN!c0=_L~NCN_mE4@YI2hs#vcYTZh#>0711H9$6p*-sp&2U zX4_zts4Tu2+W8i43~R^DYBZ2lEQoR!y!-^ije9J*fAf{LB>WxpQ1=AuZ0`w~@#!Ij z)rxucezp5`bc5YlWr8%AKn+M}t3!Gq?*!5jI$%hLu81(fTCz0f!D=1=RpKz?8pALW z_g5zeLM|TV3l^d3v`1 z?&)ycB-Bc7?QDu+O@vF=;Ym0U!oGjb|3UwsSicGSH{j)GnjNzxD|n#SPOiqbnB{>& zvF+eAf|}MuY{YWHR3Xp}RVa7uX?-6JhVtleG-#bigI1<7{0n?KE~-BPN`Dk`awFW) zj@`4pVeUp_uTI~|K2`8+6Bhsl$E>k|U8E$`Wo{faSI`!7+U%B#*R;pgW~I+(0G>Ua zKOOE*C;e{gd^&E{!VzsdM{0g5TWnV$M@5=~!zumTc4g!793fp!CG8)Wx7%KZN91irfTn-lC z5Z;gBEgr_%iuGQL`UX_~Q1Bh>^YwQ)3_8NOV@kO8e6O8I#8>)2NQSF1vaR&xQWIPF zGMZU^flyj6ODKurgcY(b!KHDUgnot zf*PdLPNI>=?LC*%W}0|~dogJRfe*_}n3DYM)5(~44I7J#-{$&C@)9e-A=K36yq6J= zu}|R=a;sM7&IA}()1O+a0{pNYw*i67gW9B2%qCj*vv`x;3*!VPEQ{77!78a$8Y=H# zt$}A!Yw~-o^MA%o09fXvI{~l{hWB_kijkrbSNKHyJ$XsgOEmY}rIeI_A?P2>OCZMg z#=-N*2tzT07{#P_ro|LWeXo@Z^{xn5LdQ{D-UezgZBDRiCY$3Wo1u*COw==AO?GeB zaPx@N@Ey!7pOcM49XOE1eM26qMt*9It$O61q&E;=KaC3ESiWo4P2X-5}Wc- z>X5rkLt=@$McqX&mXn#gyt`fpYsc`F$7WbjfH1W>5IvLSKvL|}N-(4l>jtD}6$^;k z%l*r}Ej@$LJabk01Pjq0&~A#g`AC+io$!FjYDXA^dngTH9x!kV9Y|7f02foM77fQ( zgdPxkS8f7fxRW2d+1FO`vXMb0F-i5hL3=Yi__kD#gjLJP6jZIE{;CqLq842Sa52rD zMPBqQhw7+lhlr26Oj)9OKy7shqleo72oPt|0D<8vcEaQwD8sC{o#xl_V74&{O^qJd zN!`4Zo%z*z6r2{b{TQ8I+Amq_Fnz4n?N;%AUKH&;CVRd!CRVysab3|piP7wldLYc| zdmue(B=G=ex^;SnBI|QiLW1*1q;<7S6$`tk2f}o3A>9xCQe&!EP>D>8v|wT%=9QfG zVW6OILuBOJKO8%wcLq0 z1EanQM7%rTp)tuEk zbq-Ixr^a&AV8@*s+i43FKCNJjg}VVYkEb)m6c;=+tbJ1*2;04tXts398V4)_7)D1{ zEfVg`oV0a-g97w%JQN*-<7=*zZfF?5fz7gLf;PP|-hqnYBqDvgm(6hZUS%MG-!?b)4{{TCZf3_#6i z_c~eSnc%yD%6Wuqx9XynZYWN)JXwX*RiC)juJE<#L17YDy{)UYfIv4pvySnF{lqwgev7*X45PtJ(Tc z8`$CzQ*uaUyt*Y&?lHr3T@Z)Q-iU_&bG3G$-}0Ge)^udMzbzCCHkwOa`1s@V+t81P z&YzA3jZ7kMtxrPpie+XgavmCNEQn+EjjUQE)SbbE=T!5lz$0Yj3!hQ~@BWLU4cJL+ zMHIFraH)xNPvgjq%acg;BKWC`(3w<&?>j6n!WGsDHLAM-IgJmpT9XddX;50>#6Lb^ z3_X3=F44PX(Ec=0Gsl6ub)bPNv+oEvZyo`Od*SYd8(!`VktK=}^4tJ*$ikZPc3apk z8hRP{?#Jr;k8{{u?(wkKjl$-Q!*0EtPY3;`&Qc8SXerSH`EAU1F!WRD)4L>Yw2V2H zxf^s<&23(Ip*M}C$9CyFAY5AyuIqWsM_N3V>A@*$k?ziQRi`8wU(h;P@w3z@>@T{c zH9-q+05*VI-(1Do%vff-uA6oqPtKsf8tRB(A8dO~A)c3b7Ov%nE|s+>>vysbV=mg) z-X7Fn*xEm*p~cH{nDNcqFg}ZM0U<1s|LrN)yfLfB*S)L}jYgjqc;=02VP_IN<S^>&mdS-S1vu4zT*FzG1BdVw0;}}bC*kNDU0YCk7XljD- zlK`@Bi_|F(Z9^KYW!h2tO?*MLV;Q1B>M)RLb7o;qSS`VRlbaS;hy*}}48By1MM)yq zw)kMs$_-F3wn0ysf~Is=3+jY_FFIa}F`5In_JmC_0^YDOr>#0SYF@g8l|!NTdKNI| z8#PMtK2XJ4K1mu^iUUE_`kmZ}4LuUi$NL_V8bGZZ=z3-xjrH&CPLsSEp||<6xNynNp3u8sk?<8a=ch4#5(3*hKc%^e>U00_i0r;%G@`v^NISNvth=2zKJ%$Tg? z#tT-j1pBLxzg^GW;~jkS!Q-s`Ng+$hJonFB)h9RZK<6$wv>TRh=3w>_{=(C;zPm6O z`a=n9f?TNyxe)18q&`SiXG?7>T7O@{Z079AgXlGd+o>t(FW{!w@Do&5lLpBvbgmQy zea#x#r-e>i>4Ug6k-)_byI#(VG$?7l+|JN&%<5?R?9Z19D}P>@GQay3ds60F_8G`q zv)lIhpLnR!id+?_m4dL&q2{Ql^=?jQs>nnVBy{q?#Y!M~I}V|=2<1ys#m#^D3zBaT z7Ic2~J=#)}6p*TZK~>B-lR#Ql+x#(wzxHZM%3R4lq28-Ht8aD?}fVOp7)g;x&f}Ny@CKU^=8d&xu=7h4Gu=3LX6q|>~38@(;q zr%V|(m6}%cyz|``#oj;Lqu?>SNy&VOgsRGo|@yin|iMWtP4V_NW1z8pZk54^!kXaWcZ2D>}>r{MG=# zAWxK346)qsbwB5h02)l`j%>OSf8(BQ>*lhOA}LFDl%1VisyAb1udrnO`MKb+>8E=i;aVG`p+|)^sZa8bFJ9Xjzt-+sT!ZKG1NL%;r8j+ zdwvqzeJZxQU}{vV1hX=Eh#l1+aIq9#bL06b3RH50jlWwLkExG3!d*Q})f*!#tTOV9 znTnQ{J_ypTt^jo3sByW|9sd7%#7!L5%l`KNWiO_9lhb(PQ&2zCKkUHnCkqw|0tzNf zI5-3(6f_Jh9DHH^6sc=c;xJ7lda?e{Z7SMdGk*886%mt=l95wTN~WTwp{0{TU*tbC zHI7-N%P9JvX^sCA$dj)iJUF0Bx1&~jsmD@FOxkKXJlW`;PAh!y(V!81PI=_LDck(% zlfSID(~o|zOCg(O>@ILP=e)}<`pG4~DRSKvSM65pong1!a8rptytY`GQspXDa9XQM zjcT>()N^Uj=yy$8G;1|qn}gPAw?K!5UU}nic!?+f{2u`E=B{5n4IlC4n3?bse_na+ zNCZfr1WB+LeznORPdxC@U3=|wz;{mD?^|aq(rde8j++gT0dJjfGC~3zp#ceKz#=Td zE9H(>3#flr$}W!BsVD=8-xp-^`Q?Cuh&=4Lp?AtdTfNKS?QDh3;ks~EsO6Av){`pN z2kS)7ZfQ%;I-;oet?*>&sDk5%2H0OZ>b{oum2W1e`k-nzG@3U-Lbigmj`tjw&Z zJF2_gJGj6c}mPh0ax^gXEcpN(t`eso~)f7)&T>7-3zRm;fL`KJxD z`h!vZ2rc+6db+8-nGFB{3km>$_yYjoM~<3~{ALDDKeq6}KRPh~BM1O=GiwjiA1n?4 zFunxwn~<;x60#2mHZ)`UDXE2r=B~Z$5JyXZIg$6951< z`sru8LQ}fd+Ro@l&z=9rx7Ys&)2q#qje+}5zn<(rcKH7hpbv;QTLT-DA58s6hvvsV zjwMP_(%#O=836DK`@x=nu%~EKvmSd#lOJ0j{~tT4|40c$GMf9kaBNTvi2yRcoYSg1 zs|Gs-rv|GFg$k#8_s8>Qll>*-W!hu^GD0ST=CV5y zgQ6CPWnt|IF4`J9)7Y-**Pr7~hh@Am+RD`H0l%%=2-Ym+9pk?I4ADfJmFRVFwWYkj0G^+DN}hHPG|GeEx`!~SCL zftIpQVN5%wQ)wSzuC({lTtE2#;ogUu@fgF}zDuX`K7jCho#6Y2B*qOzoFENdUKB53 zLCp|u?t$asQy(H~$R0i9nGq4*6nBsB5YWF*Bh;8ti+Sb)_vw4{AY3n=X=o!ECXp(llAi_rCdp7!CE200qj7bj zp1LjHGM4ggXcCTcxThMB}o!z)zIDJ{ftjuTkiY zD4WIR#2bOuhxF-|W^QX4HU@1IKu)-O0X;EGZ=ZSfCl$&e)+G+H_XG9SCd*>r2#OF81 z!)sC1qroUaD)&7_UZkz(X>qJCIJ$9|fv7nBIQoG!{TT8Bb=@GN6}Ja)X_Y?9VVo51 z8}h6O8_(ms7#|1>;~+f|F}g{V18JIZgaxX)VLFTA=R2wp;@D;w>(@9hoX9-Gc!6KA zBW3u+OhvAdlxL>SvpB4r#}0A)WcX=zoM60jRKx8bd07&NH=35UIa9SwBfa;y8}%76 zg7DI*MCu;Gf6J0PsF8<8gKLIA#;-kYBXtknq})hfOht(Tq#DSIRXxFqXVCQ#q-Um@ z=Ec#joa)BOuve@cyJ1EVm+TwSu_43^=}2>ps`d;;Vddj;B7VP0Igl8u%}I+Wq|lhy zv3T$php1_VYeTUe#|{i1McayYOzw|r!@%}c?lRnUys13-kk7S@w+)?A*Fg=0ycLkZ5O&(*L`H95+^t_WxT%Oy}43sa}(rMgnh$ z6IJ9|NH>1`w+}h9YP~a5@qBAj zWn4|c`sV+s@gf^0nx=VCE*$6d*8kVnuK&l^^%3lc<@!9|xh$!DMyhkQqm`nYjTaE! z#u>WT1lW&t<3B#X*$=~vdQQsuV9t!=Bv9A36K1@;&?Hmmh5xskuF|a!@4i3Olv+n* z(;sxxA8G{unSRrnJ0a#&|1Em?>Yo2ibH}3F|DD`n^#5jd+x^%6Pt@v-qCc?jA8r?W z3*&?t$qLbU3b*5A!PAZ7uUvcd*-pG2^dfS8ofO*%JFwZZZzBI{rkL+l|3;KNGP*Ze zPf^PMpL8YID(*=Cs&1N-g~(o?!gPuec~eN;5yO5kva7@kCQjhM zklBzC6DJFjZg8Ip??w39`h9$*&+~KXWVAD-Dmkd)dxkgYvo>`SRtl^CEl~}l$$Ikc z@zCc?>$A=&S}$yJuKhH-P8K*JN(*JB|0Se{uFu!(`@s)mhOA@h*BXTV>kW<<8`A$o zBy~}bRPQ}P9bXrv)+y4?6VBOULk6z1j8^12_@QYGs)nP1x1=}n1SKq);7U| z`!$?QS3eoiz;btY^Abl~`nn=74TYjy-%kpG?J(JXo1~TgpMas5eM|fdrm^QF-4J!{ z*oW8iRJ8X(l&t4H@=V9ga4q|FFnbk}ZAdU8O2xYBzj2$h`k`HuWJ7I@Waq^9|0M$V z8Sk41AiVoiI+`OV>W1--2G|4Z29wGEL&e-irFfmN-_R2K3!+k}N=FN$F`QS{EM4eZ z^^LIu6FH|IZ)#0mnS?e*gXPQrC;gmH*=Q?6a?y7jaBK5+Ka@oNl=)G-)P-q1AKtx)_cU)_q*=&HrY`=x-e@N!*?SkzN%unX{Ke2mkm+pD|?@WEz=%(GS>tJgi z)0#_qXyAH4%j^tRd`t7zXhZ&)x^f}+l4ouAlxLP!<@qU`=N5VKcJGMJ8dCo^1s}D% zjST*mg-sW?_Gn+ynoBv3tBnM{3OG^+O;i_a$7>~aUZ`|B5NVT5Zred5{ zQC?P4dF9>6al=PGXMH5u`;+5{Nu3Dab;Jo&G%(jRd-IMW=bE^lB;D8Ab5rT&Sw*uf zuPn=oV>~g5xE*FM&g9&VtS-J^JDml)D4At>T6EE zBX_q6tpBNdh8M&0O1gy+)wS2b)Um77+PIiV6~n}a|4rMeGM`l!2kMcUhT8Mf$|(BA zWy46KUSZ?+)i;*yo9TaVSG#_1-(sn*TaU9+cwaE|qws&D;`EakhST*EC`vST=c*A? zJ)8@LchXNQux1a^$pjq> zTAz-y{8Zj|4E;EQPz-{8a-%4weqtqQCc8;6hj5c+b+(aE7wZNiz7K41ya=&@L&KkVD6>2s#z7{6xl0`8bJUJk{I!H-zA^`KMf)-*5uoq@Y9P1`j`apFXYI*#6mglfPPuA}1(i3zrKn~bow>KZ{GK%aQ42>s&HTi3_ zqs(fj5_N0VsU{*zW}b+kJeehS5uP)4Y>mHe zLVyq_;|)V#Al%&GUW`XsJBf{+IZOwf=wdDsGzcunK*PGS^h3c?R{xm6mP@ZeVN(rgmC6c2LNuQ z1Yq3PjrjeiV7B;S2))$J80qV-4gZbz-P(~{jDO>)yVcWwe?Qtm12zwT=lqN@Sy?Tm zNEANU^`IM1bX~Z-UZ-x`YrT7EGRLg!#Rk8zs&Y{|r~^zk z^qLduiHmm%=>CAf{f$-m)fYwcv|jy8PwEhHt=>pampFF1QmC_*+S$6d8;u;CSee%G@aPQ8nhNYeODawmFwM3qVS0{C0zAk zz#%&&+W5;FqN}1GlfbyxiO}|BwFRU+nOEF#yX;Ey+&F9A0%PNjnU6qD7lu&MC3S)I zc{#c*MPBX#P6ue0Jl>*tdmtkeMO+9(+=PwNX{^-$!9sgb$1D*2vA^s}R6{h3=7}hG zNakae>gB-Cge+`DC@CkoH}+5SVNBzIjf2)ccc;A$T0U?({cjC(o$1Lo*`&2D1q*OS zi`}gHMM3n+_1Et3^qf9p4c?7AZ@hFljCAYqLk0YW&@!>V>RG({eb=+)FfKp%w3eH~7C|lTO8sfrp zjO8^jsszt0vx}w?#EDhq-iI<@8zfooX)C>&uZSbkj2l9TItiUtB)dZn>N(Yhgw?d3 zlZuxm<@84A72#ITsRL37X>+iz3qoMBY3GNpBqtOphAM{Wsjn4R3}(AmQxWf#pD1h6 zG-JPv%fg5>mK?+Kn$%MM%E=#Pbi}iXsb4tCJvC2UoUcq$n%HH%IEc%k7ph~h6R=wA z8lf#yWy@!cK;fk#DLf~-P_vHfSNjT8_wdW}_nu^iQY?;ly1VBP8}J_07^=5|U#}Ei zUpYLZao`Hppg7s@ownBoGsZUVyhVJYC30P#M^FR4EsderSQ|D!4RyUlRWmRgSNcbB zy#s;@p-rF{cOVuP?RwkbeFO>k$d|km<@RB3ACy);+65MnpZ0tP+||W?Z^?}dkDhXm zvh?jVJ^QwIYSzq{bbso14OnR!K=9<*f;T(P^u#X(^aWrxKslF*xA@06XJT&9XNWF? zTZ0tpL-2!ffl`*OL|4I;vFRf(X7YnQp~?$%+ZY@1cY_q>ZG%ykz4$|)`vgsZ5WPgQ zt@vRDALIV4HUI+<01)5b066#cA}=s~EVcRD$siQX$(E27W33d4hNya!KiPvZLcdE5 zY_V)JlYoz!)M}K5i~M?Z7pN8(9==8(bc1T42g~;0Eifb-+Mr$ zIi#wiu7`Q$L$5l2;S9)dUDGfOJ%yHMDZ|-y&RHq0O$XI_|wAWC$? z@lJk7kurcJ4)f%q&h3N~K09$+F;JUDTFP;O(J?s*Bm=A{3_^)LYU*TZ!6F39FIo_wLHvH;r7Xq>^FaD! zi?3)H`EuZ}aA4^w00<U%=t5C80xm&5b@M}3<0C;Jd6I588`GVQ zbSfxyH4q{}Cq8*=M{JwZU_B$A5yq8JnG9MGB@xhp2Vu(=(gjtK_Ows)6y%7<5D~o@ zgwiUxauf22bxg6(g~e3^l=Tg)fFul58vzKn();}Th6KXk@JMRXm;MbkZ4u(d?UDRu zvnGA`7>xM0P|QI5n2-7_XVv$>`k+W`8S*^|{M3|#(~5zp`BkP^De_KGimNtWqszN)oy!}vO8(kO2_&mLu*cucH!TDjldk8HH` zT;Cv@VZVEswB!!PJ`)sUhoYz+MvMr!HHsTCwd|jx8UVIba3`s|61fw`qdR1LqrHdD zk!zI>tbh=VlS}LBCIn3b=*PY5tYVcGW|TR_-jV8qh+r(^Yq#gnaq=NcCZKg0C=g6g zWA)#l65!;(iv7x=eVG1C+c06z@bt%~2HjmjB;Tnl*dZ*c-#a@(2)#AmhOnf_aylez z2VZpj7=(jOA%plZy@YICzmaGnJYG02%B)``*q}A$z~(B;oN**(@ljHyA_UFpiE^A3 zoS~3^4XM5K&hd<4I1`iArgfBCeUG=~1kLCv4hPm~doS3WfhUewmQPMwYNmHu>a08x z*@IVA={onOU*vA|v_EdaP-wK6y5#lis@Ihp&x&rOOYhx%HE~+K zn!cAyhv0NnmBPoIJKDM~(b)J<<8yKjxE6|GytltP3{7L1ahCbY97AH+icV(z>`Kb$ zfb{>{;N*9_@=)3b1!W#=QHQK{$Q_9`eReh0Y>IVZWkp#4lsi@6`OfI!hv^S|N)E}h z5U`!M5J@EnkK#x8yr92(A03>P>7kzR!a{vuLK{W)_m?qL@@*eMh)acbvuxNz8buK; z0BPTfaS0p-ig6wkGMEry6{&i(-DMHj_71q+0+TjX204|sDHO(#Kg?nxjG#a*1WM(5 zrRrTMo0^I+)V?$D-Um&ASSr5Ymp}rZv$nIo<3$BU@>;T*Z0gAC({;pfLj^{9TxCH$ zH$x$Z@N?#PH^j`QA+?*%ki>@w1X*j1a=)5vbyp2wyDHF3=(53Oq_stPrrY?vC%qmCE&Z}IHbwnz^+#dUA8o>a{2S_GK_(7H(wjPB3pSAjrZYZ0@I{rjw&Try7LKztcZ2|$I(S-3DRnWL zy<N;CBszh|!TbdtU~**dA!U~H|mea-W}Q@W`JcvhTedVQ=`(&1WvyN065jg)rk z0+11~w#$XBzc`5a31kb2<{~!y389sYlmacIQhuT2ASoL$F|sZi9uU%WIThqV!`F;{ z$5F>g;)8ZzJ7vx$DN8%||NXUqi%+wSKYqO<2+2uZ%u<~2ms@@T!7UhVtJy7d+xl#4 zNiDkeiT88#jzYC@tGZI_bG(v{whau{ynoi{Y16i)-R?u`lHey#V0x34DVJ9CKI zOQtQP9nKXzLXVi8Alc-M0MVi`UO99#Rg2o&dVAfyaI}-z+*zB!I_)X^nKO1hzXI3u zc^>)8ZtR=sTlSw>?2-g);#T7Yo1Yk^y91hzkngx3w1zrm8&&Muy#Ihs@8p)fkPV{( z!moB~RSt1u)L>w#dJKRhvM2-@0O6Mz=t!dStp=oiBv|zTS2h2|u92PeLeeGCOe&kqP4bsMb{=cU9n zBR4AR5Z0i>Y8YjZngzKKWa_nS!+yH{-n;U6y7A^yUS;Pg< z(W+AMm=K}ic}|x~t?n5QveI}eXIPoWC0Pm_mD1r|48@1hXt8pHcbiTpIYlm?81(#< zWEjqcZFZ=O3oE*8ksgDwV6(Ts3jfmc5}KcKy)tc% z$dcO5JF@;>2|^}!B3=iN0c4#m+buBUp$UN%v600DnQ6_--T9>zfeD*2!1h#KyA3ai z3&e*b<%`A3qm!mDBaQA5qgOisFN!>vA)bvz!i9 zbvYz6-TL>%<(uVq=CyGc$>kT-y|dx^{vo9&d~%V>)7@-vCiTWQj;4hP`rr%2zq1GD z58D&Rv{99U*eEfA&_pRbDGr5*9D@iMc)L^rF9HA;c9@r*koZe!P7sR5#Q;4$-o)Hw zO2|GO?2L*qh>tk){@@<~-CYBe2Mrz7FQ465wLqhtfKrOfK!f~cm&UU@>bJAk@a|6I zdyyhmH_0j;JIgoyRa`90hvk;@Zwi6G3_`!VLD+crC<|6#akdLr3(A=t5GF+|15$emjNqo}i)*?HK6K#@l0 zd!><1WCpEI-8}MxQzP@Kp4(R9r|?&U)d^kiNk?VLAstitMAvXxar<9go4>Wv+npZ` z7He;74c%B1K4HtvFV>R){HmmbNfJi2(lBTeK{GE_rPK^dJxg&?_8L4W43?0^fx)qx?xemXXZ-Nyh)T;}?Fyig z-QP=?VaNm})g+-|zL(da4uk(FEGkE^iU{@OS;e=j9@x%Hf7$6~R;PCwjiW%I?%dT^ zU)-#%8)cq2uuHX9x0nqbzOBG4gMGwUH~G9inXe3#=)euiFyOJ>k=)1d^vf;MbXco? zA5Cy#*MHD${ksgv=|E|%`h9NG^4$M?ziiUUi3!eG0I~YD!ZKs^`*MTc@&>X9uqw(6 z%6i*}=7bu%VaftUHwDie4XGg+1}Vf2y&oPYMRUi5v?Pq$A6#KN+(+p+qx=wu4O{Z+ z#Jm3zf{0(?i-+e6W z0?AST!fEw!z$NCkEQn}ioj89pC~6*Gp0?pve3@fJ*KNvB2A2^iO3*I8!IpU7C#@7D za}qzbg0{3)A5D~e&56$*;sCtiI;LURDYSN?2%}&#yh!4%U=J5zE0kHV%e}KykIf4S zRSS0;N#lKf?aft>vx}a6Lg%CgpUG1a7+bAfd78)FWyzKjn@fkuyMwkEo+3#X4|+?{RJW!Ba38TEz!{I1HHh9mob0TJaFPG4dx#z;)8&QEw6OVX`u zI?fBbBzQe0x+g;;YHnA(pW_y^JU6dInin>b)cz z8+`?qN3Xa2P3sFR7#E6hJEon-fdob5EH^%Bo)cg7yOhYH6Gaexo?9|oPLBL<9xjIb zfO&pkQF5WPdKr&6=}3$K)8z)BF2w|R1+qqngrf7 ztFDM6TtH4Fd3b{DCRgMVdwuTt9Kd2_s_SDp(Ew*Xy6wG{69m%g=IrogxV!pcbg^Yh0IkAV?7H z!tww`5Dn}*vO_%vpZza8umQbj^CcKW{+Xe2h)5m`*hPeTM(k*@GCpvT2Q#t1W#giF z6pBVv1-NB+GHD>HaCA0qvEd5$$E*m=gWbn#apm>)Cg!Dj+Ei^LD=6N8AH=zKqV0%B zvXWZs3}+p+&tt>C$`sbPc37$y+Rgj%Cm$TG8%@TCai0&*`-HzzoD+=!$~?Y3K2M9| zCB+b)FSwSvEpTB8T3gb+rN-DVM^QvBS|V^%!MMQ16vkiPH!0I-5t?W~oC zX{h67YGOuD%Y7K<0pux<{3M&N5Jz^)v^*wtvXjNuiLP4#nyg8TkQLfNORW9j*V`A>Y>xLi_?1G?Ox|!#AimF%4`FjeJ0#VWzu?;ZalIC-O+u; z{071Mi7b`LEtO@55*#DvcXtJ-#h)ZHnh{c|@SIj4ycs8zRH=>-ab)A=4zAQTzJ~SE zst{W-{Ayk@=;O?9_i*@k(R-!^A4&7_f}E$zQ1$t@A!G~z`$#KrX_|cSet1O_)@Heu zrBYR9a&Z!W?kfL)ohILUy_0Gwy1TKB-`L8JD<$9Wa7rsL8}zfyqfPtjc5(l!yS;xi z2}vc>BZGKIm43W`iwr@=;do(nxkr+Rvbpt~PM8X_6))R7LtoOWfhaos3<3wUf&oan zNl`Id-KkcDvEDgA!H!LdL?w6QbDs=|TDbr46)Ah??EFyV3F`2#mH5%iewXS6x9Q6A zT#i+~G4=Kx;mi}5X-jRMSZLj(1_ZR! z2wgdZOg1@K(Z(Dki>u+<1p;yYL4%q6a8akf>e10D7{=91LGsNB@ln>9v`Y^Hd9p4* zy_^lh!kn)g?>mCdJ3?QySLD^vV3CvlO@pPfB^{@9^(F%y6%Pqn4!r1UuC0!nbLX=F z(!`(2z_yGI_=s(riDp9>g&|2w2+FYZD1=(s4=PFxjo-bOeYPe;F9RUw${CUQLvpL@AGJDfIn=zJYU zwre+gt=D@X?xTyduc~`&>d!U)EH|-qZ*#eAH>sa|hE7*L+g?kJ4IlPQW;M*GY4PdA z&_8Fbue85>pZMKR*57P#lvWCiWF0?FzE$e6zl<*Rer+atIeoo&pOjSge(lb8*F5eb zS20emx@=Unr1MYv!1(jzWx3t;i8-1UPa4OuQ!J;CXOEU83=`0U5)ObWh3%f=D}xk7 znMT9`k3wtyQ&$01jOFzAYyv{3QVtlxPZ;SSJY6+{MZz}^HzFprqllI#2^BXAUe53O z%lX^~@oCa!_qs#|lf2C}Dz-iDws#XNj%rImch_mJ@{d7`0*})R38;)vUdl~+QE>H23=AXm)yx~L3qPre$X98uz|4t=x&Rr;b{lAJpib!54W z9gqctMlN!xfUZh1BGHRhr`beJ7;jjT=qfsl!YYlfFvx{lDUC*((01&>?QvF^nMvtI zch>zp8+F0!`i9oYFzdJ0Rbf>#_5H8{k_xAc!~ICco1|Iir)oR1&ar*JL8tR_Xu@;Y z!d-jT>ArrREtcTaD!1JP1;0Gu(bxOBAP=WE%>h3s!PdK?S&*8Cd(oW5r4$pDIoLvZ zM`l)5v;hg**Y2r4j*DpU`8MXd(0QP^8wLFjnPG{#^MOxD5nHY*40h;KbJ?jR4Nwi7 zRSnO|&od++^(psgeQ8xr%Y-p$eP7Yb=R1WKJGK1)=FH7}vO5fh!qGi(UY5~fWIuCq zqq*2~w!Fc!C%jsC0D|RK<9?6E))TOXhX=_lBlnCURdHUa%KH(UFC~j}3PebpAeTTg z597O<%jBso+bKX+ZbzEJcU2l)d)WK$%E#M$?SQY> zV|=K&bGP zp)WqGU0h}^CMI9hhb{z@X^FL5SsI@!7KRGtgIEt?of|V4KKSnGn4uPzs>_}2uJex{ z+e!6+RN_bI&7KgL%~5hgOUqxkA&Q`qP-7S7%ZJq?XpAPKPSZWj{ZSGkLIQzZ#CUd# zK*M%{gvFAc(RHAvg}97yRyqG^e$zPO+2#;Yg3j{U_3LkRx%g#u2OtLX2rBF*_U`3b z5lk(@ML{z8U16Lh=GVe>ldncf#N2u=ggO6_Qe!tgr;AS^yD)eqYPYZWYsifC@y9RCT#j8W=XFY^*5Lh*S`v#)^*L2N zx>N;~l$y^i-pjT3T?K`F90sq6D?8Kho#3@9@|?e8 z27<%Q$6bpofvyFm80+PAD|l$>l-I=@+s7EzmtBI^AGf>wJ*qJS{x(#=H~xaS0soaJ zs#kEBC5x5v3?c%5vrI@%v8Sy-CcIE^OqUQQS@+v!reMZQHpdGZ<(L|-yJ}0EZRU`% zeB&~s0YUM=8)X0BJ_e+{e@efYF=X+wXvjVbMI3(^co{}!9<+G8DFDipnY{Tji5-r= zn%TnNGFyUbYdk(OjA6;qCXz|UmhStZw6PMCdhm=9oN%mRGGe>Q;s)#Wiw{KWPlc+OQD1tT6;{rCtue^jsFQUcPM^%iA)b^*{UR-sL%VCA=>{|SYFto zF6In$5qXy#m6@KEAP_yozPT*Y5%h2tGzzf-oAdyaR>?l!9~w-$8f!L5~`)!_4I4={S%hTY|-CHCsM3uw;rTp97G z$3sNFtMrqCr6i2HyB7YYob0%t67UwSgGjh0!-xEFJeK#+DBmz(#ds3I+b@wc}jVGZs{>7H-xlhke#`O1E<0 z_?gMIS0gc7sQdR!hWfbTA-9_{y-3X4rG{zeKnVP14Wy8|7|wP&-A6ZegIa4sVSCAD z2w0@34}oBLofd@*tXnzWWJ-{8CQ~{>NlBIEP;?Z)I2qQ4PxM(U?-~soI7^$flnf0k zieOG9*gkQ?l2{!aZ8QEKP`qE17>tG9! zUT>%0%E|0oS=+1mMM9p7FbhKAGnAmTRK6kUq9lmB!_39Z-c+aT z_2@J1$M_six1Nr(xrC1M`LP8t{U;S~l8)cRezx5fed?#dtFh@(v(vhobWHfyl%Lkx z4x@RTSIcqIrUjj`SOj+G(MoJ4y8wZ^riaS5d9?Z;{AJbC&?;QmYWJ6Lg$NF_A#`)# z0u|k|l<2FnZY*?Y-yvpu26I|zabC)|Rxmnz9>+gMyrS39tX#awTWcN!6dj*jwcFWa zH*W89wr*Xe^yTwS;`N9OuP)OEFCec*|I9V`efM3~L%1y%Y&Hu_uMidGKLj+tB_bP} zY>S|yIhC;_LnXx=r4zlOEI_J+$0N(|RH*HLPN$1f73N2q)vo*>a^72c(SB$j8wk{V&p>MV;_#gB^C4#F zU7rQ`+l2n{76_IQl9%z{w$Yeo6U%}km*-hxb5<-CDiDwYF%^<-iS**klm1f4BuqjF z#bMyD$dW9)fhH-NbsTI;!K7R%BM$mF*6B59u-L%Ts=mN|9S@NDXXcmM^b~CqOlqp< zXtombkupbPcEfY~^pQH*^(>^N^mM=FQ`2Vj+;0*MfP?^g&6DmGdOr62vt>$9SRmPr z=$3~#Ai$uD!9+69$S@b-vzZj8vU$(6XowOx?$m5jHfT7F@7XCIU0?)p^PGCecTv5G z*sy2!l-%PLs+Dsr1azVSIa6Jpj%1)u#n%l5-JW@EbpNq3(9O~4O-qdl#bHxu`L`!{ zr_7A7gDj*^3Nk$1GB_%`G!EfGwL;+_-CQ>gS%nlGLkfk+5}g!8;^6eb963jLQR?hLL0txY(}m1w(M>h&7k_v|cIN!FR9!~08u_s}hyMYAFc z*RG9;|J#5L=_TOVzD=h+5oFm{Yx5{#W11Vz|3nu;pKt}XFOkEj&#W~ijhsTv^bCC4r6nH#SK& zP_tN-r z6l6LrjQn*#b!NtzRUvkPM+&w{VTMy>c7aeBCQ(4}!)%>j(qG#s_%*=h7)HvOUMr#3 zWlo$3I(xfi)~>m8NR4}!I)`R8jS4&r7^lyBsB6G(nq9|C8#fnq?vt0c@jIgTd?Z1i z)a-dG^7yg83w1|O{1PI80no#!eB!hTLS^f+v_oOf8fJT5-J`J%@^XRKUVJQvj|HPN z_k2sqvJPPXzBFQSrd&(=Y0X!CuO%9s4wKqq66a9xpMF7ek(Umtn2Zq5Icvp_T{R9! z@YtqnEEk>32v5khiv0CI*-o*jNU><(*P1qGJS~pDb~m)fFtSb*HYi6Y)IN(>>Yw5r>AV1Ca5=-K72D4wEOiE&TKDh|p1z_F6l^>c?FyC}O_oZ^Bk@*t zYEAYEY7L|}MXQIZ%GZ5iWGau-&Jxwab>AAC%)0N3qISQ9;d=(ppVDrf*MfbVcd362 zw?Z`6lOB>FfP0M6^?A*=aJh1n0^dWgQ{^|Uh53ka@RztEqES?s0d31`9llo>4kT`$IXP-gr5&4 zYQOlKyv|~*O5m_-DCRzbULQi6Cr*<89B64VQXM<1dZ9kV!kUrVq~*9j6u-%B`dpn~ zE?$oX0Jb*TpJMtydmGEw*RWjiPB;DF;W>|V^d`s`|7LPXQBs^s=(e)2l=yt;-tb3A z9#fE;D|+Tv0g=<#;uvYBOB{TE2sr&}(snh30hJ`>B!leBTOF8F79ln~;Ht4GX2KH8 zn6A=p&i5I6nz%UGe%#Z!uoG{U{GC|L%)!BP)faKxupD4*>Dj`mXz8F~sb`y+=;(Zn zuIaFAhPTOWbdKCThj%~2`ifMpdL|=K)UNRWj@>uu}*uFgBfTM-wtT%x$l*#KH;b zDzan|A#&NpxZa`9>DLCA4b9(MsWy8!+=x3FSG}GVfA=H$R>YP?sU@Vpt|I3)wL8zR)l#o}5h0yNG3yf*$^uy3S=4&>9sMB9uW0ozP-_;UhV&4aPGxb5MK=GH9vbjD7GcR-&ap>;;UYi=#vq48Ps> zPIdo$dnSg;_RrK*V6q`9!9;^`qXC9d%M^Om;7=m>deNrUcouSvMXh}Zc53FcXGkY* za%_70$Yhpb)#uAqji~;b#QKNdj@ycB@tQ|(vYQ#icGt^?Nwr#WQ>)B9xf|KiGt&qn zAFR<#feA{z)4CnUJDB6Yo>OHvp`y*bhLu+94Hs3zE3VcS@DH{uzlF*9#u1@0yT==i zxg+$Nixo5IxMTfd>84uas4|@`j9UT^sL-S^Ap*QcN+uEp zoMIEFr8LDiaMpMp#fCNm5MhNbOyJX!=r{s~oVC?ddqs!Z5c4($ju9_JG~?`rsbCET zyud~x@~kGm)hP3^tpcf(%V4y{_+1Kn3_$awI5cuiB2xPK%Gy~rTDSG@8N;R}16-El zkg#54;=8tJZLw_ukzw5=$68Avov)Lmx)qAfw8_SbZY#z4nt7sx!pM7oj2dvA(G1zn zR1YQOEUZ$U##u46mlx|~O%?{mdHQ*_rA@d!o}+vcxtmd4VwfUHenIYN@LRMn zsHAX3amFY(p;ZklR>^6pR&9UY%L!OsiK7g;IMJFoK7BZpA~oN>q5kVXm>ifiAOOJt zMj7SKV8SPUA3tJxkvc7m82+Fi8g5|d;&avM(=E9iFEk6H^zXWO=XAIgF<0$Es~oj% z2%>6)Vj$z-hDP!`6=k(o%M2@UI^WNz=9_g4J%_8p#$+Rc!ZjWEwatZQCkda88m`t{ z4xvr(b5}iEW)eC(y}7eoo#mc_LTefddW`kf#hNyIjl+UQ@ELVYF+a>q-0QP5xRu|r zwbz)PhF)ezyCpG4C$g&I1)U}I^y*65ms;vk}jA|HGAY1BODIvoj#f5}r#I3TEKyE=r@0Tp=rXclifp3UC^a;@&R_TyRfv2os$0cqAC%xki^S*#6u&+G-x50M+Ni~Ta+a2*i?t_k$AnY zJKOR;`L(=dgVZY@&=*3uu7_pmI0QaJumrJWi}Ko===Yw2GJwa`>%-15v?Q+m087ET zkPsmfk#V-zg@pcTWQLM`R`;ZM@x>|-!TId4U>?Pu_2m%DgDvQ@=C|E=s}##LY;_6~ z_ejGx>%}nz=2pTPHboi8;A2>ntn26-US$2nzn@&*Tg{=NB&Dz+h9R_brit0d^#}_A zy3t&CXly(aqy5n3lx zcVA#O90>>SlH0%nSg8YyyZ0m2raUL894mq6Ktu;B;zxHLMXO5`B?nd0&}@Oz=SaP& zXl(k7Wc2UUk^aHl3ug+u*Fkw$%JnH-;!oiG8+ak3Ye=O)&^JZoQIbz!WZviDiEFEd@mKS%*4{QlmP2NOsB`}5;w zHAiJn9{9ULLcL$@RbaX6D-@Zn5ODmgs3?|#={N_>i6u~+aTCO&B?3=`d|Y`95z+7X zJ9Orvk$^O{WzoRNyS!{T2o0mZt3!=EE#;-MYu!F$PNg|MDSav2J;D(#E7j?^6d3M? z6i68zg^d$`q(0WDc;xhamtGXXlXIZ^jltcx`#rcT{cNxe{_~Ji}9#%yfd7jg2 za~!5k%KJU=J;#TSigm`n{%tm|?D%Asroc^4B(tX^J2~+a)Ko$9(T3^&f!EHp=fDA# zjKC%^8zm3QUVT$n9zTJe{QE-fkY|5~-Vt))UN0+10RileMbw^|p#Cei9KF6uqlk`7 zC83MmVXtDCNiMrfU*!O!k!q*C(CB^mWO^}XMvv8Jmq_dPb{F>dM-3L2oZn6imEYIs z^Yp@w-#ALI?;)}`YVp|LOS3>gh`d+|F?2*EAW1!`W1q9QX!e2?3*!aC(oUbhs9={! z+1OWm>ft$g&(gj;h7IC?w;ze+@jTQU*=~XXv?}*(f5K=Ihwu*jK;+UrI0<$NiDxaP zt8?rQjxoOE0|yK=w#y|2-a1=jnm6U(jLJv9Wu&}~S@uS}{k?>?+J=nIP)Oy|+e^u} z=g`2xVkQ>+g|=M6wUH|hr7yi=?gwY4JqcHUxpZ-CN>52 zAjfHa~@kHj|aQ86wDjQD>DARVb`?9W zZc-3l#cjfMT-1k&5I3$o=f2lN#x&b#iHID*Fp8Lm_MNLfOG##lg^# z!oNN4#eQd3m7~cZ>1>|+A#f2N#^N9!;a5Q+9`JvgeU1$0?nxSRhke2)oWyuX9lhcw==VC;xc5|6!p4YlL zIaKniK3`l)&V{_kme8Sp*qv@Vx)u9_%t!Mwh&-GGTLu7J=w^d;OU+XX@Ayj#{ zBLXOV2s#k}S+RXHkUm$Si8mI76%)Q(5p}F-&+Z#)!+lOPQ>Y1NMpT9c%0Y`8H2Ke3 zwgrT=ai1HyV)*2#E|#B{@7T?p`3$DBt7+FQduw{}aEPQ5UnlC>NeuTr6#0Gi z?Kx?eV?^C)-OI{K+B(M!=uw93o*LgRje2pL$vQHJGMz!~-XW%RXHA`nFFMIhOM{=N z%k$Q5Yp}yhE>m6rNNW{S!W}a){NVpDP&}{0d!w2cwXDR6(FPKq>6H}~YJ}SY)z|k_ zrQXS!<^^*qDJQX}QcKOR;eAJ*iuUY^oE=Q7$omb&fcG5S01xWy4l4`9ua25TfLQ+C zhTCK=g9+YnJt8aBrN`A9j~+KS*{=Fr8nzMJx%RL&81~Taki0}s}8*97G?5BkxdNAp?}4W94{`*mM1QYpZcH2Wli1UDP(sU zWNI#SkuF22^Twob2Rl+=pL<7mva)g_LJvB;N6iQ~10a5iy$X%+bi&eDUr`kXUEIi{e#mS+qI=hJ) z`h}C7Qc~dI8RhEIw40>nhbd>}2RhoUlM{@whS~jVnvFDIa#amB6_bjV?xMDYKja_k zb(?&YP$4$5Yp9|;QcgbKI(X^@mlm|e+X}YbeOi2}$KfA2YsS;v-{W4odmtz~H}vs{Yqh1HhXZ|Q3-YaM-I6o( z=sVvj&b{_w>=XW({5369P{;7j_V>2MihUV(wucB}HNMk+eWs!l*f1dTvr2$6s^3|n z3~q9Tl-g24PGHuJOB4k$(#pxG_1yf_@W+?^k7nOmVzS!A?zodfuV?p!@OboO+8c~x-LnDU_^ zSQP{c?@m5U{w9d3V#{TD6kD(rWUv)^GIy38BqMPOloC7>&Zw*jw&YL{0fab4<~v+M z`dGZh#$+?eVTO74kYu&HOs7&&lBL1MT*9H`!_?ofdhN#6Hq>jG`?c_kJghJ8JmwZ6 z!tbF8I^gw$LOk2lP+JoU`V~*0@+^$pTQlf(P#MAmy=fw2`dCb5baP_zr7W;0NTSpR zvaEYQJm}ctG&@{M=xri-5h*co!XN-L1zAhm67k*PP)y{kE#iVA5`9bygwSLpn5RHh zk9c*(bz57P-tz7J6{r}|u;Q|4tHEir`0ILWZ%=IKuXPj{tAZ=Hp4J{j*@#2$*mK+Z z8#YBv#^H0`yY=!PeqbYe+FkZ%bANM>+2|@Pl#k8{fr=7)PpCaoz@BuM(fjw`<7FTX z@4F9MgdITGFFpi)q%Ps&gh7bSLl3wz*&$kB=u)!#m#ph_O?f=FLW46D8*d%hJJVt)CqI(u9nP|2Ftw*v zk|(Ss1-7$Ifu^BG(m3iWCC1GUTs#^X+|X8UGTBO^m7cogXOARb83hWD!Y_q7VJn0n z4tFF>t+Cqb(qfZAkn6Ok(_ynn$SD!@+A()dA&g-}IaoysrR4!1Q#s8D)kCUMZw^!0 zK#y;lH>f$y=P0XpR9Pog#eJ%e+!yz$L$xIPzly?~OB9d#15zMPDe?w*r8`wq*!%Sc-$@rE-KBb z_oU9G?xivU$n^^XP>kO&5J?s#fQX(xfcj^AIg2JdLtr68Rq2c`Y~z_GAWL#vj-4c7 zjFFLO5>5&V9`QYxG?ARl1GEMJlK>{gR#&RPD~d)H1dL#ij0P;x&_Dw-=?kOay!kB7 z3T4iS9}nI~+LK?orLa`~uF|C#eIByKTv2#yl9G0F^01Yxu_Pa<`f!!{(V9F=&t_FV z&)jE&U8SYn<+RsXeDudkc3ScUGH}XiKr?1eGOWttnA1kiLOnGAe=wirI@Dn?n0bmZ zNp}Ih5`+qDp07^OoO0oe{6f`}JdkU7@?Ji5g^}sww|Fchv+}cTQfl zH9p)vXtk79l$N!O)YSAut81hED>`NmR#mL)8`!tLt*?FVj;6tmn7?dITk~){S{jsT2BzVjYhGj^MQA4zvsOE;fo*Ie#Tv$jiSSB z3&fUojh#JRTRXM8uYXNv@MvS})&uu`dgsn(?!9(PYwMP4?|o+Hj%V&Yu(fq({mgkc z-n(wyeK(!AqT!TB|G0nMy*HjWQ%`;(iHX69;fo*MvGednLqi<{l0|W~H>|pFYUxEQ z>Wa#W{=M^=`xJWx_r4UCc8%Hl-}R1_4eE~3?6rS+d}rgzeeZe@D7=gH(`&@T&;XtA zk3?}(BY~D!V`o!mID{?C=`b0ffi$QwnC&=&3lfG)Mv3}?$E1NQQCW>ql!$?Xq=y%! zIyS}w#(U>m8auMf5{`iq0#>THoID?C+HH*c&f8l# zM<#OQlN5C_tBSSv6V;zi3!NS+7Bxm&0|P6g~Rp3O@)Ls z9cvt`v<`0UEUIPWMt8Hfyuds%Ts_qtVG-FPHMYCFE}N-3));6Vt2Vd{$!n$~p);t< zUt3&(4vzzH6`f-r0vCkAn2@|->Z0a4cbxcCnL&;Gc>VX~ej zm3ME-`A($*vcJSq;BhBkFEX2olds#X<@OSCAa5}Mfd@#RV5h$X5msbz%osJ=3Q9>0 z0Hyl+l7hBi)^f5-fl$(x=QJN@)d|AK*oM~IE9W}tFO!=|`P+nah-@GjI3!b9m3{-GK~#GZgNew3 zLC#_)QOTyWWg@n`Jrr+RY@#O@1%Qd_^f^CXCWfq!bt5N>k#AnEbhc9(4qq_|h!$NC zOb;@r*xg4*1J3Yd1w8Ka}O$A=e=6j z`G@`cfB(pK^85FZ@((|_caO8s`kQwL9bYyU6;Genv9!tSt{ZLLPrr7e-R926|MJV^ z2iT>TUA%dJktyI#K2<~-ZPs(W)m@QrN2Lo0oGpBd-Xad1RLi}bx@>cQ7YEJ(3OBPV zRwO>6&TLlZnc4XAEW(_8V!P-XOMBsRd_1}9sheBY?HeAsU|lS>?t+owed}5-3$#zv z)=sqh{n{}goI12`Z7jBS-_YRsYg<~@ovz**00iT#MSuxl&!YPNBbO zBJXu1cQzbsNba$dyPD?y!Jcy*9Tpx>9=IlXGdcGfa>>z3l@*Tdr;kfJpaHH#hI-tq z_Ij))93!RFI=Zfo2+X*k*baYHZJIO>uYEGoJorbX(wW=4iT0{Usvo{z73NWc9VC4u zBfs8yMyV1a|HWACS6psNDNQnwTC8sb+N*u-wY392TTn2FLuGeJJ9ezBA0OxmJZ*E? z&1Dw5t=3X%{%J`^XP3VrS{L&ZV%c+=Ix4VB>5Iyp=z^zEgGW&%uCK0&gaa7iXG0c7 z_4)Rpa85gsC5%M!oP_8N4@R?T!Z{q{?F;8{DUDp!94?v@K_5=`J!IsS#;LZ_8#_Cq z%XYMO%)~25Xy?yl!jdcM+EUnY6s*am1+(_?FWibQb!dqmSakd27 zC`k#FnJLLqC?jg#HLmgK{jb@|Ji8vWRRqL`lE>_pe;0Vr*qMBoJ;(k7VKS}8PlrKy zW(6L*)nYbCa%%k?b`cFbKk6yal!`uI>&ouhKRJo&rwGA1+pVX*gDT)aV5U%6L(hHh|WDjjm>R*hXVhD+TRN&r#< zz2x@R<)m6Ggtc^f9TBv^*BGFS0czDn6^m-Sa#7H%C{0;u-IQ|R5l3=}X`Gv> zb(MI7`=?L8|KrKOeEj`;Hr;tz=lC_BJV!iq=#9Ae)jBfAtDat>Acy(c6bv)p2ukq2DKnH&7P`@c>@hZOLJ>&u~K?!^o z`F?y}t3?uUkBDcu1Z`#tv`A}I6o6I}f$|pU(Bj{`xLKTCk+$Zkhc8%Vsvgnn2`M@P zURNbG%U_M>0HvzqAr(*PQ{6il=v@_W$@KiRk4QF8v8TFjY_Mx@`Q%WrdnOtgEb$p$ zHy91o{!p3mrWMZq#>&nruhZV9a$x+H?WY$@o52AeoTug&%PY~R3GY=h0$}?;Cef!l z?A&p^vyQj07CHFO+uKbSS!`yzP=4gpWfz%~=d)jtkJWE98m0E<=C0YK&b4~zx5S6R z4MEtd=`|{uBtdU5N3XF+Bz)49q1?z$T#7M|e3LuYo{?<#gRV^j717lfj(2Y!2u0Uk zWLiHv&>tJA^CZNF!z0^zR_xyt3y*B?nNf~&Z{BeJ)auC4=8maVK;Z(oivB&lS`2$# zl$z^^OsZ7ndquIeiYcG^Nxq_=(Bxm*eAcHNHmmV$DcDWEl2brS3zCK$BVj)^ zNKFLHs$3iMgF(WzL<|JkEDPqCiO66E*$gyd$|#8WIK-Ejs}ueC)I>8&8|=TXOW}jQZ=aA{P~mlCc%u2C}Inu_F_dS>}V9WI;C7 zf`HIbKx|P@DdhM778M>Wz=&nO)}3`WOYBY##dWbe!lhA3?u#hmmOzUzccy{btgF3y z3X)%Ux`{w;yWr@4Z&TSQd!MH{IQHiG_`cdKneXf0sXR2K-p-C#w7%9~=JS~1 z<~T<2^0qfQ*i8+jjYy(fV@ARBT5Nifh>|f{QxWwCK#|j1RJ}`_w4SQHfF+$2JeGr~ z)HM+8F)R+60cY3XuoX_fRXEO=%3<-y+u^DlTx85?g|~%`Epc-OtdIxRBvWjNIy&|l zZIJ&8f}meP>+kUpwCHUx%$pp`UJ9XzdiF|)3ty6OZtEnsr`zCzTh9oz3{^g(Et90I zMN(65fw90TSbcS6cO3ojys@QCZI*)ite>dt=*V0?wbnSSL@?|*ttV?7 z65w_K@nZ3VYLB@J*3)Yek;t4dd8_nl5`zdg!h+&N8b z)(T>_G!c_=9RY*dtB8J3#%rt15(A^zWHy>&Aeam$!4Lxrn2i=Q-eD6Mz+_N9*)#Ps ztyXm8J7k*Cx0>_`{AvH|i{UktE6R99BFp@OX8m2-v(N=4*(yuc*g_Xpz`$ygt$5`{ ze*^FIP5NuG?=4#mP~U9AhZ=XBwglEgK6F3jx5zi?(}ew@n#*tH(s4vg66_wcsk z_weBbR?lSq>X{495_J#|EqMlk8`3Y}(ev{zvTd#HnM>@1-B4%~%#LPUV>9c*gM=a9 z^1D8kx%iHTJvPFOxcWYNiZ+VSV}D4#m!2<(PzBwJijJ+L9hC@!0j>e2CKrL0%TF-O zhsD&GF^W1cdRDb3gM+^y%|KM2-;4ra<#2|*CIObex&R^(u!qb~(67yi#dJE6s?#r~ zcCeIZl^f|r&krtHyS-!hteN_ziM7kRjFsmbS@ZbH(Wc^t?qGanPnD&>oIIAR1NQy0 z)~dp)@!bP6=dJ8%Yp;Co!wrL79YbrnYx?U76d^FL;LZsNJ9bRdZjz4Bh+G3WFWDHuz?Vc%m>}&CxuMFfEeMtm&n|Z zUwTrod_SFEfP?D$@@wBBo(M9CvWjdlpkssI1Uv+dDG!^N;o4|q3yN8_q(!gnB+~&x z-sB#T=($f{KDe;L)#?m6thK+mtstMbWS@D*y+65f0r9JpLe}Q93|$#cm1D;=#U-_$ ztJeF!N`O4&N3zOa=H;(smH&~K|5qoN$h%6 zRE)m&HdGW#8qSS(M_sq3k;sd9`f zDIo%FQv$;sq9|Y}j}~#=rm+HMcVpSKj$86uYmz4jv8Xk+yw*jnDF~w0NpV{*;MA=5 zM9nmhIyc7y7ePq#YSs~VBhh=b0-u^(A^QnY;=zf=!WC9JJ>n;sQYPE(A3CG3w`B6W zOIN5`6sJBuGHZ6ZeU7a!j!eFJM_mp5a_s8mC``c~t*n^qiC!?Csc{l(y1`#ajH~{1 zP!*@>Za>@RHjDpU^^4@kwtcXNUD4RA=v36MyS@A9b&)DXs^Zu&jTv8UcO80rycQr& z`H`&hmwEXsS>=D^<^R>nHTG@kze;%z070A{rPTN&A)h>U>%~itdwK}-IOIKW2 zTm+wOYJRN=K4l17y!!2PA3C#r^5$T9_NaaW0Xq7UqTp8 zR3#=+7Sp*&Wuk_gWY8t>SYF8{@}R$tybuzIl1L!D5LP;Lr9GcL))yqe7lK1+);wq> zkvOg)71a%WhRY$MmLO22hR5fry6o}d>Fqq!MAo?uBTBMTAEQ5-y?iFpG&(cdRF{}a z)b*WqaQW;zo1;db(^=7wh}Mp^lr;{|3^z7UuAOZ5HcYhkow2&hbULyjUVmn_;XdEy z{r8KHwXfXSG`w}Zy`>`(YO1O0T{p1ihAk~4?SmFuSw$I!N<{k`t6RrA`qqtfC8j${ zyQBW0cN|)M^loHKw28r`8y~uI>ew-jby|FgMqpTdPlm{80DAd1Gs^doI$r*`co#2! znN;xd&xqIZ@?T_>e@VQRm+#@_c-^1#@}HA-m1QBIC@=08Bp8F$u${FeB5T(W*tlWM z_O;t*mQRci4fJ#=*&~hBk#Z#mz-c!bVT_D9czo(eKQ+h|#Z+b6G02i^kYXvue=9-F zL?#jRkyxmfn`5+5%+4_rHP#t9bp)57HZ|Y>3eT(I)uTJ~t>QrjTma1G3~ZDBT5LOE zY+|uwLZ9e`EXsx6rCey!Vi!`tWpwd}R6NPp^-D(gl$QuMQpJN&4udwN#)M+;nv8*J^9r=EUsLC<5!8!mis zcf+!Q)=g8bM)H%M?GrJ})rU{1o)TDiaJHrM^wn`@@|fQHUY%06bxCvKx##w+?I^n7 z!m%q)=@SFhB~JOH!J44U7N42kx_Z^-xu1&Ro|)MA2r4s^|1_-HH!fGUBq}?Hk=r|Y zkIL;mL4Jj+{*j^XuGSbTiup@%)vuIK@KygZWUOx|qGTbm*kh(3j}Zfi3$M~W$6xrr zE!0KU{;Tt$67d9<|DMH{|JZq~$Pa!p9sp0S2OzP2G0?ZaUeB{!Uz7*k#&Xu`g?z0Z zn>=Sp)$z&En^vt_+w9A?QoqPFwD;y!i*Tm5j5qjLPxd-p<=j@s*l}&_g`)s^`BfR^ z``~8)y#8Ih{N;@DYs6c5`5wKz7l7QN;(SS6Ul08g)bcF=^!$wSec#r~E0prhh_9Ew ztd}Dx=>>?dm+!%HpwM&dKkVz`erSdf%rI_=^>)WbT1M(>f&noVt5_Rvpy*(3juyI{ zHc2L>Y4SUPvOxw9{yD*jBFk*8>kE|Mi)@oqO-va{5cR ztlqHk`p=KN^XLsNryt%|Khq!SIqjyIp*<5-c!yOUL-BeVK?W0ovnK)+3{MjB1jR)O z)=|0m#KTIR6>6O!IHJ~}i`3Z%-(R54AztU@1?ybT>-=KDI=AyWds20%UI!SQ2QLZ( z!sWog3so?Xu%XfdGO6lX&WXCr6ml)Qb|Ll!QIBQL-dTvS?623b=N(4}$z27JSZQHZ znZp-}l{9y+%lsPcp})ME+*uln6ktA7S#zbgZ*EuCSN!eLu`jaU3SkI94YZQoiGsRX z0=2Dmt&vKf@&?Ny1W15qmv_2|p!|+dMWI0w1)3sp=loi_&VjZ@mk59hJ7Sj>Okea? z0K6FhrTGE4i(?TK?xx5Oz#R^Y0we|&x8<`IITinx0f9%(G%HqUz6zc*=u@+u^}Rsi z@ewtm$*nDQt4INP;?nh%1zlxB`>X4a>G84+74Gu#^;cFY-=0r?rkH%XW7*`zv(3Mn zxMa53YDtd9ZN1I@qNm$#UWeR|iN?}`$J!3AMgB+f;Orn>->~Gs$CBqQJ@B#J^;6|@ z57%Q`SJ|i3_iCN~?j6m3Kl9YVUORuCL%hz*3)Z=v*V&V*LwOyIheo~DM*UjPWa9vZ zuu|vuy0T5zag=SE7Za(;$7Ctvq-1f!#mOi$4JCr|{fnBXg=!k+8Rli7U7@ZFW>Qzmh1nuC-R;S1 zizC94ecHOXxeNr2!W@T3XJ^}jXb@W$13=r%K<&XCTRg8R$>N-ofgH^QAq0K&{11@z z?4)HmARsY;X=zFf)08LzMl%7WMF36dou&Zc+-+*R(ziTYNQf`PNKj|{67IJ$mwz_8 zWW}06g-}~uHuuTq_Dc&Tjntz{VDm&e#s`<%B(-IBz$F~UHxa) z6nV&I+!+-Qy|LR8tZgYPuab=h`X@S5JQ#@#6>B`HkElGUtuRXa6UFUq1p0g0M%zc5 zo2siSD+&u_5n4$rUpe(fh|IcORFa)GN+oPlf*)j=GyG!MWJ)356%Y*+AiH6BPZq_S z52XSlJLjQ@g5N;YAaOCaFdT>?2jkKm6PaMbVqhQ$7LEwHfZW|Vx;UT+1dYOrB2(`C zd~0a-d1#55d_W*bR1#<`4ah*2SSr<(0%Al!Bm_H5{^yEX-bye1ui z2t@Qe4((~P?r5kO!TgJGRvfGokyVH$Q<^M=N zqAGC>z%;o#Q9LwAU~qb9y00hNSW{KxQ(Mvi8Q?u}{}>VF7!lNQoguA12HC`nB)bbp z&)^L6+LQOBVZ8ZZuvv~~z(^cM?NB5N(!zKkNgR!bj|?3L4N{5x`CxfhH+4J|rkION z=V+pU))A11n%NK8iT(LnL?cssw)}oqBB$F(T7Ha9q?*e_=j!XW#L|*u^JK}E-nPnH zSLxGQkC>@PrZ=UoUDc##&t03i23dHXOxg4%rzKbuD^(krFgs793^jPJXGeg++I-p@ zG(%8_Yj5yEI~FdYq{{V%RUsTr_XY@*0_Tz!v0fT?&)G&^ zbg-g_W}jh^7cMKcJ)QJ^fHrKsve>$oegol_0MPBqO3MzHBqXav6ew4=w%gP|YE9rN zQ;R=W7+`OD?0<%=gJN|MON4J-9v*jg4hn77)`dG<*8y{bF5B))z zd6-@?_xZ_PLG#3%nLag=jtV)#qe6~gR0#J+9p?V1eT2+gU+y^eZ~0&1VemtYh7-jA z7+HsEIT(474sKLOJoHbrlo0}Ef(+|A*D)Zg8URLun`DZlE=IywYRAbUsPlL~j&=D= z!C=U+gvD?SC0Y4UV4uE=pRehzk28S&t5Zn>L=g4ZR)DMEB)oCHm$#U{a2Sq#&-4-GWWqfk6$``%G1gB?tSdiq3s_- zX0OI${}z9*t$AQI`D>zld<@q;W2?tk_o-{2Xk(;O+h@kLk0mwYwl9fU7{yIJqKXyB zM5ZKWHt1WnqEX#RHA$2ZMl|Vjm&Q@k{?@F$n)L>Jy7{e%!H{7Li$U>8+wzl#f()R5 ziAYi!mghDsSqN5Er34X)6Iv2=$rnpIe$2&PYH*)HjQ$n1hD`hgo_4 zM8(V5Bo*ZOTclZ=1%26?g?>uXW4Q3Ofm0`|d>tDPK7aW|XGFD~QMbK5wr$thxHCHP zjjLuZo~c=V>kE7LzAM!K>A8uS%U0KI+P3V{bxoeeNjBcSYr4a7>nBc)xT|^vR?)w% zt!BwkcQj%(XKjYQfX73{QkKQuiLp{{jQ_?mK}Wlob#?*a^vSNYFaZ`%`A+us`_s#s)}k+RfyqG>O89cre1xl=|F6aWm^4BoAkBSompcI zx0T)8_O&eAXSwaq7P6II=C-e9*&gDyKZQHyt?9(%2Zhtb$Dm4Kmh}KA$Et|RTk0z? zNCGpYay9C$gh;Bkova+Gz6#@tg=vjFM_SytCXWr*&PyAoQ=D5g1MFw1DutVAnqNZ? zMcH*LDxmmqENu-U8jA}X%bavT2r2nDNIhDmiF+y(#qst^%-_-UT7xou>7%jao8K|Z zU5%^9JDg9x*X3fA(jU}D3H;c?0{*7e6P>O)GUi}(F8I|?ZHSZNuFWI#dv@xv8;h+r z$0MJAVN0p6xO?-+{g)xrx^OGKNxTbOupyrk0Z?62pbaO8S#kq>%0~!*E;o>q?5&gw zTp6c{s4g~*9@pJMZ#viP5qBUHfj4CGQePH2=R&hv++lTJBNv#@`^N{x zyA0A*ZueD^A^8Rn;ufBx4)N3AhSD^XferW~4b|}SkPA|WH`G|1VqHcVM6rv1YYKTZ zO-lHbu$NAXKUdHL$QtA?EiB-yL8S|@23g-0YY@_0Xh~k5Dvys>*GzPjmv>CmRFB8Y zceFP(#N!Q3?P92QI95^;8?LPxj+T@}himFPI_eubI)K2b!sGNq;nEY|TcA6B74Tj6x8fv`d)zTiRqGcc) zY;C9(Yt}U_jR%xrrJ=rYSqFZ=7I!DLvuo+WlVX#4fd0xp7oZ0()9l5wPS#%disQ|= zX8#O(jXW>D0)-d{E&(yuxwSq9eP@!kcE*qL%TD{A%}o}g*%2&unyk#vUJFl#cYJzD zz-TqtEbeG$qN2FH)F2hA6gD@pUy)nHUud`>DY!%<`>j%!>}q5aevFf|5jbj21B<`N z2JT3N6ku6afC-S~--!T!&A^T4$Ng|Yl|rFa+UPt?26j0_8bA_?e%cfxmqH|Vhw zzhkuv-bxC0vR~1U;hofeTTuWcy5QXm=PxD~<=zeQ&J(}wwF}?5V?R}%$D8oioL?6| zsbBZPydQVt2|v8rMcT@t*kj#W~Gpd{EoVFp*tpSZeGuC*a+cYzA0W&~>suZI#vd-WkO@HK8 z){4m1hq=J|o@^;P*n(!A2C0Mu?-A;2``wrOnk~dSY zv}?DTBm90XM>xgR$9ZF10@b~+BBO-3xHN9=886`s#btO#`>|PdfM_Jem;#}m1p!2+ zB>{7Zl!cAtp!V3mgqOqzVUXOE@DC33_x1L4v^O`^*H$Yt ztUy_Dk=KpU0t9TS->}3;C~GAKBlUy6YYs-)AR7%aq}9Qd1GWtdk<3IkO6vNXCtRrf z%qIM7GPz9LpFg=UW;)VuL3EDjHI*Cm*1YoVA(~9+liuM4 z9pAa~lt~owgb%R^v0Z7mWe|qnCJOz2f7l?3%oWeP!ShI zA`vNxrDDH~27zHdJI)(PMgidg94+%~)hY@ARR;>q0H>IU0YoE`n@U^B22qr26=O-H zQcTUvWKmt^DP+W`Y-&KDY<^EZW!1%1NP$mR6hqH?oJn=0qKbKy&-m!7RQ|b8oPEY1 zNLIshMyF%f*xp9RHymZoQqyIPr;Y7)IK^LE@9(*=`+l1+UE;GAT1ksdntO_zJC=OB zq=c*(Pu@(INjA^Uq>ub*C$eAC&B%#-GV^LAId&XIlIZr*LiWHA z07A0rGmsDlI7kk)BT^WqGsWU5c^7qNqq$kwCoXzoZ}PHTmfxnAomVrY5CruUrL%S2gRZ;?sm_?c5}S_=`J z;zuD!*Q=`cK~Ub`(qhy_bveu?kr`9|?%qN|L?c0WkszyWL|5sf&VYf)vikn1yMfxS z1OPA57^WhNf>=)s1Y7Gs4hTBebR;+tARhJ5nGK}a2}A}YnB*?FTx>)Wc>H2d?k}Mt zWnwHJP&S5L;GvBD`7uC{K^EXRSR#*{7+xF(D2RlLswaWynD{x%*M|(aI*fEY7*HEC z?u;XvglLcjX2?iJ%5BmG*oCSAKa!oa$mD|EYG&j1YQt@^Y4FUuw~ZZayWq*kKGd+K z?)+Qr(%0qYy<#Y(|+`*ravfxv3XM2*rBFhW_vL_iXd3XI8h zNL-uRAf>wWg68cbzCfwtp<6r!_Pv1Bo z9@Ea!u-6kRbvQ~x9&fnRN!B?^E4|)IEYXhARi4TcyS=1RIbY^*lqvPIzvFN8NhT&K z_r#3%1VA~OREFOyGGF{bqQ>RRT9}mlrL)L$>rYHhSAj!1@*Ruyt46D=j;*^S6aAv} zGFYHLVZf1H^K@$NOfiqURm|&d<=$2;yt{>d@fvfH;oO^zC6=pSIV_nZdGB6X`Ziv1 zzjDRjsaG6HSk%$Nj0+V0EL;Xn{fJT>9xq#9NJ|c>0-_n$l|xlHebQ))fA`Aa&+to2 zFMs>n+LeKjS}8#NvO9+hHotS6<#VO_mE}uOVSUi;4%QbIDa#q@ZsnWDgWu|Lby5!$ zUKYPj*T@a3C$%NZlX?QK(&KnaU-q{SN2*3z1A*3&s>pDwe>UYQl`cUo#NwvGsz?GC zREbDkXJ?(}DLo_^=;x(xK?yvOSH00{@s z00000%9CDj00000%HJ-A{~G=b2mc2x00ICB00IC200000c-muNWME+5_AiWqfy4j5 z)W2)&|Jg4vd}BZcUjVuP2_66dc-n1}0}v%K6a;5ql7F^s+qP}nwr$(CZQHhO+rHf7 ztgY&rjnUC@kO<#DuR9q>L*4QPiD?)COB%~5aL~@e4WCJNqj=BCMu}**~EDvIKl56N`&Y_S#Ww+@$sHTsj zrm4qFK!Tx~$;EP0RFl-`rjpqY`W~9A6{zN$%C;tC9ct>jXl~XrXR_@W0_rU2V6tGi zet?dC%A=c}YuD>RXs0_OD9;j2R-+-$^Nf2qBd6^&NsB`2Ig;w|D59z(qmGDFYCJMX zC1g?4>}DMkMZ7zx;$5(H)D{%>E}*P03i7aD9`y)mbU;LO<7G3;{^4I1p$g}!s@9@_ z8GvGHo;|GAGRs48{bW)W3%LGMuAlDv-Mf43PlAvIq_gXzrf?5wQQ4OXm830(s0Qf8 zwps4(Sy!2DO_jl5)}@fK=tgEqTF;Lb1Tz`XKw@Ad`-EZrP1%aU9N)(5z)rG{jF4;g zj=T5&;hSgYIv38v@6bbO(v8${$#;_Lhlju6z8ca?Qs?4#oC`Wztn(p-ySM*gW+RGo z;XM2fJ!B$PNOY1!eMH6|9{$F?Ri@9m_#Nj$he9lu?yTx1-QPz|x1KxW_jRhMdx$9I zP|%&vt>NbaYWn;lv3q0A^N;-Tww&L8vM&rB6eG>(CIoXGsjCH}%|nd#`eOqbW^=;aL~oB*9eXEFA@zbsl8qe5KIa3xnF|>BYwd zjQawZWcCgK0002p0NnuH0Nnvn0mTBu1M~$T1}g??2BHSq2VV!Z2nz@+2y_Ub2_gxp z3RDX+3&ae04HXS}4nGdr4_^=T5F-#$5P}ge5>*o56MYmZ6p|GB6;u`!7KRqP7dRK$ z7#tX>85|jv8Vnk|8*3aP9E2SN9b_H+9)cd|A4wmFAG06qAUq&nAdVqPB19tPBh4gw zB{wExCkiK%C{ig7DN8CSD%dMgEIBOvEr>2VFC8z?FfcILF<>#*GBz@}GUGF7Gqy9f zG%7UwHSac#H&r*1I8`{uIr%!oI}1BSJ7qkgJi9u1M@vUnM`K5CM|(&&NwZ16Ny|ysN#jZHN&89%N)t-GO36yqO5sZF zO8H9#ODaqeOdU)qOf^hFOjAtFP03BwP2o-LP5Dj*P7zQtQHN2JQJ+z(QMXaUQO{A^ zQRh;OQl3(TyQsz?lQ&v=5RBlv&RFYJrRJK)@RjF3ZSWsA8SZ-O8TFhGpTWed$ zThv?TT}NKDUcg?^Uff>nUjAPSUmRa3Upik#UszxjU}a#gVBKLhVaZ|XVhLh3Vqs#8 zV%lRVV|Qd%WR+z%WnX27WxZzOXO(BQXvS(OYE5dhYT9cPYfo!}Ys+j-009610Q&%f z00#hK00aO603rY_0672v0G9^k00IC3c-mx;HBtmX5JeyEBuLyvf;$mpxVxmdJL^Z` z6daLP#q44=_NISZHPFZRT+b?m8i(ZI~4@^1WVX9CD$T5h{-a zt&p_YeIfjdE`yX>T%|;TqS;1k%}qyME`TWvfRmUl$iJ2 zaG}*#-)Z81mWndL7~`&=_OkaJc4Q@I!4=MkpijNO9OoIXWC%|6jeotxukPYse?i_i z!?m=F^TFwmLl1&QoTF;6$q5fygPwAS(g@+tJYSPbQCX~vd1Nz7!5%Am23u*$mE8X_ z3=w<|dpzm^0IQi}`v3p{c-m~igMkA9006N3y=~jJZQIre#qf2zKobGkIN7kMe3BFd z0)>hcD^aRUxeAr4RI5>|PQ3<=nlx+Cs!h8Now{`E(W_6t0fUAN8!>9kxCxV{Oq(%l z&b$SSmMmMbYR$S0o3?D*v1`x11BZ?rJ8|mFxeJ%BT)T1W&bdm_kpT2zi z@$1ijjv#o@4FiAz0C+F6t>2q%+ctyQwlcG3YTIU1-Nh*P9CpNaS2a57tW$1y;(m;F zQn5oW>DJ?nYmWP?T$h`k>eH*=T`wd{^wL6$oVQr2C6c7blqOw(@?RP+{c3)ylj5TN| z#>IFAs@24VnCP`PF)1diRp)C=iK#IyrmNTBp+Z$kl_~PpJ0E@W&wC&IchE7<{P5Ga znBlYzzx0u5u7>0o`07JDFw!O*Z70L=!VFm@_a*J4Z;gZbs z>Bn6ZeE+%ouUnq;JXDI-j<$Ip#uO6advMLEiE6(%s0Djc9!geLWf#oqQ*i)D#q3Ay zrpn0#c3-@K%Xsz?8FS1s8EHzqLS(3)*M>h`f#XCHFUL0-PaG-eO^KV=`X5R9zH$Hn zxd;FV0AnDq0V6~pumdA-uoOigAh0N4W*~}HSg-;mVXy&3VUe4@V1W&jWf0zn5EV~Pj^71XE^l*|Mj^xqIR zAQIp(JrDxW5CrfL7Z_>m-bZp2SA2zoR=|Nx{dLBYNTPKPAix2&NVwtpe+<#?`W&Bs ze@SR2jA9I;k4%qM9v89PY{ZCuSBmN`KIxl-SQz@ONtk3oo^j+Y$$>+Nt=K~b z@&laPUv%};Gcs7EV!p%US;~A$;M7r zCOIVXpFZxJ+h2dNI;_kLg^Zf624HH&ri|=nWMOQ;4D7<5!-*Kx8VcIT)CQ>04F=W* z^?<}wDF_Jh^P`i-I*fKJelH1P{91UR18-q}x0Y`uEf4ak1Rx~31Oy8hD*67dKHxPS zgV5$?!T36-PD}D57M}lTzz~J68R|N^f8wM^@d3g(Yk2b$ZjQsD`-uA^#ACKAvs*cV zN}eKa*FU)$u*=$m>s$c`ey2WsRb48y4S2cL23_}&-zgpej*OZzPIPK2k}Nd|%eO^d zq0WI`p{R->bTIiy=pnENfovg#Ug7?PU@XcuZz3#z+5b9qem{Y8IozrEUR^LYsEOZ4 zjUOZ7w{pli<8q}%JD$Yi1-rVnlNu0|Fa$@=*13*8O=g5cAln)vfsj@Uff|^Jry?$_ zy0tJcfSiV;h*xX(JTPm9uSdAOT~5!kyjE0?*;@g!&rxDFvPj--p8t&>-vjT;Pq7=Q z2ZHGw=R^JdT~0bI09ZzqJpr45TL==)IJ7jSpd^P~vb1zwZX)lk?e$X15M?G2bqqzH zIEy=90sppoL%W-I&dLLxp@dR6tUp?tzBOBHNdE(vS~*g#EWL4EQiqwVLC zIGVoEc;q%xf?+6)Dvp|xDe01YT&(q-$^PBqEu|AOz{dB((E?zlv+h@4<=Vybf@uJd z)LG0Tba{=sBkAnc^tbSso5sZ0m^~#CiI%Z2kAiAe>ufyC{n7WCnadM!1ou2nA;Co? zujI^$$VxoYs!Sy!qo_TQ5=sU)3)n)v{)W-qDBzHUhY!1z`sTr0d>gyU7$(yOL)g6? z9NJc(22jwN317zw8olb?xjcPYvdTrz$}xAjrP&e5id+N&U3S&^zAOJgL1!O4sCFT< z5QGk!Nm=YLZWsGJ`SSn#8ZfY5$A4h>my(~(eAB}l7}(68gd>39zxQ;^h5u!XE@&F|!f#t5F%Y>N4Mc&9 z&lZ23-O_iyo#q}-?!_q5>nAHG8QXc=u)Cv(KgR2vh(GE3EWFptkA_)_wZJzu3t7>v z%}%5Zn2S8gjhe=8O8nYbZ6$dZ<*OYHdc2{Z#2$(<#wes4tSvH%kuAk?kJU52ho~B= z8=ZbB8Ta1ZY2J&_;SDqRBgz;+fxtkA5vcJXF+p*Kl1wNuHq`%fD3MGPlra^CW#1H0 zmStbEdD3h&o62QY7co(Bma)stH4d#)Gfy|t|K+{xN~?Unbr@Z$d};{WRMLqOS;Y!Y6T#U_=U$DN)Twnk*X? zcp^J5$@~g%OQnDK)(t>FK|({cwO-PG5znoHQ&~yE<|R{g{``i1${s^c&kVFul++Ye zr8QsxiOx?~AW4-l1(95c9>prxI!0@6k?jo|ax#v2$2!6Kn+~pPf{K)yq^h(6Yno{} zyKmiE|HH&KTz|W6R=lbxJ3D*;Ed@XbL_|T397d{$CZNn*FgQVLZ-a4nuP%$6JNW-^ zUSh!jCLz3E0J_l{#vQ7M)$PM$*qGz`EfHi-2k0yZL1?u)I*TX`^nB?Piqvs5oowQUc`Oy^?; z27|3Zj8e9jU6Qe7o5^T1u;j$)(u)((AQ9r+OdnZA6rbvP_vLXpo*8>I284!!j0%^N zA)q9sCAN0y?}rIC02v7;Y7n8)&Q=vrVkuH|swB0|VeO}}rikAXs%lo_-1|g)>bi;j zd)R{r=TOpkR3lUxTAbWL)nQDby4rRZa3_F6oL=N+8(j^?N94nrY}ho+>j8wp(jv}Q zc3NUl&XRRHH6J)yBpNhkv9bL}>*n!1==I<~_77+5AqVt&!2kbRpra8VT!7(z}z(jbME7u22 zzPUA$FsqRpphi_ppQ*f{XT5p}8J&6z7D>BHKT8lRTcWB!o-9rJ$ASj5f%y&}SfXOF{Cw6Q z5`~FwSK7_#_zXicO)d=&kp=Wb#;)QOjYx0!ZQP#{5g;NUDL34s4@es)goz6`6%ADok!nhmPWkuCapajh;o zD~N&n(;YMc1qlt&=Bl;*68@EZK;Ow8NrG}gP7$ybq)8CYw4(i}fH{fs-xA{BLYB;X z$=2R_;{DqSN`(6hBYd!+Ftcd7-6`9aPG%lxY>DZE8S2*>98Um#gci{S1znPdjINFH zKdTSYUVM3FkEflfIkfu!bxLqO2s(Uw9Ae2t5=nS%3UY`f%BBCj5t7z6=fd-<4lpZ6 z9|k`ly^p2N(PLp^=L&l)E`9I)KZo?u6C;mRk$zN~E}uW9l0j9jXq?S~+6O`<2-Nh% z9>quk!fG|++nd}o>%?_l4Y!Z>cp_FnAT&f=Xw~z~`aPdp`)&10BA_1$y+q#(YKYk> za{+`wc>f#(0RZUt$CEPltT+Eg^bR;EG`jbA`ZW4a4FF(_0oH#u%4gUPL3Km>9qn{x z$9}5==l1jtr0mv)kAKSrK^Tl61VOkh8jmt#QNLCjSU0aof6o-;>%;r1HN^TU{j9du zwKH=2>w7J@7MI2A{$FJ1wWqm19R@Kgpol6yBmOiv1*GK@{J$Y0K051%@_vX zPko^INYMH`${@ZR*2=sbEKX^PIk|j~F$`>X%*6p(=PgkkSu6h@`PZj+I~B0*2pspp z0}$#&3NPUSh|1uTy2=2adSAkVoh z0jx=Ss(@Ow2RBF3Mht2U^>-NdWcJMgjV%dmAGYYt?YMgm7BW1=eJNfjGh+40a;KrfSHdkMs4EFC%^=Jfc&iSZ z=^R)F`M5M7)gOwh57ha02+-l(Xw2ty!$}PXjb&&TdYa@0TBWcD8;eVxKBSdU=C%+$ zj8CcRzvDNFDC%=+m@4rW~}y@ z%9q;n@kW*F{CabGggMwc2&X7wT}AjvFAMDnZ#1u6$sg+(a(Qxl3%?5|#EkY&- z=v4@Y`gqB*Ia4Z|Wt|eyT~7b4!#;Vo9!bddD`bnF4t>^W&RPcGSI~7faPv$*Uj8dC zyLO~3Z^Fo~^mD#BJ0+?1#ZE{F@LO`tB-(R}otYproC^Kjs6h?s#mwp`h#+&TpmKae zYy_;@xiSCH!nv74spYz8^X?d&>vi{X6rbDhZa>arb(@j-dBv}k?826waTXXwjT3T| zZRV;Ie942f5m92O4;=gUAIfNAvHTvU<9U4cq)i}2m> zJ$tWHggi0Ksats=3O^xj6PfeBD4%#k_vwFpta`CS=|7d zOc>@B|D+Icqeas_ zl8vylUIQC`2Cgw!{YKYqbni6n4q1^fz}XA9LJ(SY`b)KbesJp1!t1=Dy3J%} zb_LWGk;B`SLLV&NPPHDcvO2~UxBO8n>bL1iESO8zER=vRlPYJ9JBMj{y{bvtr9QrJ zrd$%iXetC+O|ia}80+mCwJGwuL!nfQNu!bEL=DI|OPw(vPnEz|A9OoQ0;Zr!UdpZ0 znHI)S&rxe~mTWjQqaeFC7T6OhqN{jIr17wIl;lR!DG@4HD^n|vQ8k7X=3q{wTomuY zL=ln>crc@CTHdgS*{h(Z?^&IbR+Vs3$s!_s0u3AwZr2AG{_((jElvU*i-|XH9voAK zdF93tOJX4=Hm_6m>~OzR2$wAutvJnrON;@=SsamGNQFPQX9KR zoLLMf-|O?4TojQDdK^3Ds>lYcXO^)L8FS1?tpfIY;6pW-{5_}t z%-MDs^+oN7;SES5*=2pm{7@UvAR3Bd-~&q}pWojn!ur%0e7769QoM9Y*BvCjKc z4?9%wu$);F%~PneYK2K3j%?2LbosFykd%xHYC54_6T5O5kQr)wK&r!J4!P1#I8#F# z1#^BU!OJc4U1T>_Ov&?NOTI!Du98NsiaZLE#jpPr@c&70tJfvuB_W!x_EGRzb37V7 z+d2@k*~s)RKJ>V4af~8FSPp!jfcf`*qSUrsbeMzgXL44;-+sI~r;EKz)VGLeDPlYs zpt21g&ETs)C1r=*5a?sPy-xn4#vUN}ZvkrWZ5RB-p&glCGxFijlD#ml%9856vHMs2 z6HpHt>{hVNoWbp>-!2SF<2dVWqJ=%YpWuV9MepOVnVVl3;A26uqJ%hHwP!H`AjUX4 z97^lG>VbLN0JWr(b{L9>hkGo&`%@7=su1 zdf}}QCd>CyJ}x9W?GtIR!r69GCbLDEqXsg5ugV7E871dTBUe@xf!aAn)1#4+$#*2+ zG8o<)*VCyrak3nvO0XIc8I!FQaPSWCTykB){!51S<|MY*15CN!$nBDxGav8OTy1H3 z&N7Z?NtZ?^s8(=0%6!k=DcgXSnt$8~=kMK-dZO99gd6u04fs$pS*KgK*Td?npl65# z`|6fehoW4y2zn}qBI>+)Eg)uBkgaEib1Q)@b?3LbYXc?d$b)-X3i| zp1w0Or$#G%0Dt4hV%q_Ygc|}zWbTM8x+M02E(WQpuS3wqW#1tMOadYPp>mPb=Mo&U zNFbNFI0zWq>m?+;NM!@*NT<2w)lBU>R_4Hg>Up3#d?7)Vnkmel349l)qa0QJxB|i% z51@}Jb{&8^Ed$h!MU(w>{k(VlHJs=aD~LsgOx%o`QF+9n&;d3DuR+(mnN+su94Gi6 z0_ZV}g^k3(^<%eI8N^`U)JrJXcDRiFDoH?P=#oTl1g?`eTZ3I6Hbu>G5kZCrc@F6| z-@{g75r0voZ3DLU%sjlv=By(2y$&;#9Ea2@emIXRg0w-}G@PVVb|pK%Dfjt5g4hD; zi$@&7o9)@6=)CHX*VG_Y17OS zHFNfE=uNjgCmc}JDFBISTu%k|MeQG684XM+I_Oek`OERaS%gx*>R}6}^7Ox(6H|$T z7ie;)#XZ&2a8G;@+~3n#%0+wJu%XF`kuZHcu3wM~--(%=^yfI=_I>91bhTr*Cv zbzZ#DH{%K8f4n-nrw(S_icWmpQ^9Gf`yx>aX*aFfegU-4x#?HWy?L4a3eglxcI{KPImR zozT~i;nqTufY)Pm`^)ezB=BUy=Il$)&}W0e<=wq)j|Wm9q|DWVZ!8Gg;Fq~I_Ihjv zS}aSMJqaUK2Vi@eH~rMAo#HWuld_PZEIP$!jk3nTV~Tj?I?agwoWx{&T9uU z_S&7kE~k558>nZ|BMNIktA!+iR$u2}`lhc-ADs&DMvEcl&y+|B0``Dx=BqPUcZS{8 z??tNo4AqkpWXg6xUGER$ygG19V}%gMBS;IXh-R|+dtJS-x~iEN?Qk$r1z=_*_t3?m zMK=bxA0bJ_g~|P+0dZR(RUbzAvKAHH#oHq-RUD4;LP2;NO4xJxvfZJ!i@S zH;;M5-553JREXqUxBC-^mW>Ugy)RuT0NE29Nf^amXo05qV&DqMe{^8&E)X7$n*#-T@(gBtaIhDa)ho-~R*Svuczmyy zO+4=vC#!p{#}4Fc5p8Lux5(EFM0;|@SQgndUH_yGcM#^1w=bN2sP+m+qICY0+s{j= z10RY?F7%r3&GR>g(kMZeF;6C^TvvvRfYQSljy~Ce&=w>#EDGNuOEvsLWC@IGcNJ@b0 z#qd3H9CVgMN#LgQr}9C>D^3=7;FW!4AiE_RYIxh6pi}K;ALR^R2%XsraRc1@cQP%o z;TL6?8=#IpiPJ+U^uws@Lf9RtcL%dbEc({h32MeKFIb2~;=qH98NvIOb<}aEwL7w> z!!m{hW#@wo+Ra);hzklbNP}7M|;d2s#S zXONj6N@nSsAG0!>^k;m4X=>k@9Y|8paOpy!aWjB|S`*ImGIASMukEW|l=2UDVB90+ zEJwxjCCnJsspymPStsEB{j7mG>TrY(=EAdgS(ZU_MwQ*ma0!41VVpWnX~-~S!v$b# zi%GgM;)&UvvLJ2(c}h|(pIl82dj3UnP^C?7h_vXfxQY2d9Kh2Aiufhn9;nH=9ger< zR;~s`rBmFpgQe8FbsXA~AN`R;ELH{EhoqTV7VTAC^Ty@;?^0{~MyM zkf&568a`LYmQ>Gz-gxr3T}9zr!XqCaR+WNELboZosYraBQVglXN?t5jWXU_{fD9!R zU$wG8KwQH{q!uKXj9-cQ1ilMtlOD0n+6!|vGaiM~g!Uk{rSvY1Q7HzRM8QC+bWjDZ z*GW8`Nz4~RJ4-BisM%WKNp!C(CQ~dT>ReiT_v9Yv_O=)4t+90G%qF|UVUsKxdT6Bxfad3_tuNrxnEo--8=1oC+Q0tFo++HBG^zd>TKAiSxv1GlgW?KF|sRrw*g4l)HL*s`>KL!iPFKd*1 z;Jj9TU&<%lp_tUi=LxCaBP3kIhX(Q`sjKiP{iK}Tf@cy<0=JLaMFVev0080qkNUt| zC)XF~6GG>Sd2d8b!lDBbz@M_R(y!Vb_4o*pTe!fNZ9i{> zJlm_SEp^cMw;y)#d1t*Bc{`}$_1_HmT6ucqZXuK9Qhb-y6*pX`4c2E*s*NSZ)q=Ru zl;CQNz|HuPW6bg{&s~)|cui-L{AjqJ(e zr@EQ$GgX%Hb&Zqm@xK3zDZM1+d$(c!m$!IR%%ERLt}(&S4(3-S|DgQ|m>l61;2+v5 zjf{$~9tZX*A`Kt?_v>|5D$-g&3{!I~1E?OD{?#k768J557rQoZ85d25I17rzp(h?9LBl8&R3QPpriBWu^Dzq4kxSFI2739eEu*6F_ zq#G-x@`mt4Q|a^7PNwn|IDJK>Q`yGI?J{K&%)+eQJS)i)``=3KRrAZ-zbt;Uog9KH z`-XoVLWXp)wDu(#vd?Ow!hZ5iox~F+r7SiJ55^x*z*g|4u_o+ek2z3bU$}q0J!=@T z6Z3KeNiQo-BXP_x;zw@$UO!O#nDi4-J`5La8PBD~gQ2C2j}A|G6Th)e zJvpPubWiB=!oAhY8>i52cq8v&BdDLwiW-9UUQDxsJ`UrGK-=iJ0O~({R<W?FsZt*6Z_jfhE`=s)14`fCY28-K{$SPFN2*jCP!GFnFY*3**D_Coucz0UeE(@H z-o=@}%0TEapjKLZlMw8yAklB#dTRHq`;2jQN<3rrKV{`Ou6FZUMVR6`WQ+G~8C01YH2CDJxoSF(F&K-lOPb1|o z*uEoZ`!`9VIh~sBU*zTL4-Q0^p2^|Yj>Ni=WDcyJJcXawRvg&&UCC#kmIL#v{e!1y zLY&HYKQS|o=s)*O_eVlwB7^o+?-l?=4nA1=`GbJqhhxb8Lsu8oy#b+(wT=~=7e}K_ zbe$N=IPkkWztdgfID}7&RBFnXi%?$25BK(wc@~$RyQGboch<|z(NgyAXr=iF{Pmn$ zopvR+HgE3>Yq#~Ux2a>vt4U86r$&NTZJCX>nO$!Rm%H-U>0lt1j+L~YUB4*~cjB|D zf+!Jx*pO5@4eDf3gptT!;7AFpEX-HQIKHWr(4JQ=6dCo|xgUg=xYJyACa>wzFy z=sWDKN;oO(uBF(tM8~SXgP!Xy6`+Bjlwh`yj>OK9yG%#2$7q6M+Dc)jlRV-Se&RCT zP9|bDB=gfZ_K%@cb`jrDSdH%wr>`Ift4Itb_Zlcb)w`^p8~fMN9|n;TE0vv+#*`t=g0$wRA#|Tt!6=*c%gY(@ zX65#iov;q1+s0tr-t;bV$J*Dh<{9`C^IDLWGF(s*8!P4PYua?}Pd zl9S76+It;xEX?n)o&|Y;4;(gZ6N6b{9Rhg(hEe?S=bl#8*xdy@HYZ^;*h?bNppq(x50K*kT8v$xoY8;NWTwV*nWL3t8QavuBYLV;N;wglO(NaqtE7w zE}k}O&B6;*JJ`dPYGEQwSQYTGLp6CZY=vGg{ajw36>n(fl;))h~%7nG&a zX5<`#R?B!}O7gjlO{TnBZtvdqRZfxuXl2k*34!rm;%vS5;jq60LY0PP@-AKUgFPV3^f7HYL<};WXPmzyW!= zgGW?4EmMrS_Sh8l$@G~SA^PGtjm%5fB9@p+Dn+X3h52_(yU@`=E7+9jpg9HT3<^HD zZ|;)coqM6Mx>#{f{Bi}U@2i*)!CjX4JS(Jq2$p*=Xqy}q4=ywdQIr5+cfp9paI)@= zIPm%(@M|qtBX=Ls!DS3XZ52{JLOF?)(TfcwU-PIVh^E1IysP7~^>i!Q8UJs9(deZ2 zea|=1{C@AG4ZIOk?guFkqY|N1mTRiK19TNLW`dgj;dHq5&JH}!$k6F&k>dp!GAFf2 zGDcNATXPK<*LCIhQ!eFN{lHdAEzyaX1Xk)QkQ2s?YLJymx!1h0I}3O-*6y|IO6#ng z;6cdAU$^8R1RRMeRcMJ0l_t#<%$h^dZ>)tjA`P7l%D(O1(g9}URHDJO?sf-vtalOj zVI`SQFGLsWUpYPQ29XLXLa2rW+WhWmd7*C}v$0lgW6UTQ)cBq1N8`jw9##ZwewaUpHXqCFr^bG`+0=hcdHR zF-lB5YJkwUPGqfg`7a!HEk-mV3K_2+QK|Ipu~uu0(Nat799^sO;O_X(%KsylJL<2_ zE7>|R$4rfdsq%S5&k-P_-dXM3|eN)Y}_=;=!|Dn=&(w>g|e& z^>t(;d?4#WQsR>(T2&>vRt}!ycCIP}71RM_~US9n9U(m)IcULnL z_@=-vhteH&7)|JuL3Khcaz5g6N=k?El*owMNdM+na#ikPYZg-S$;>eqC1E7Yx85G&%`UWAB@E5R~sk5st9PUvXD-S#EsN3 zX@^2bFb+$tCwtDAKvvRt+Ppbo4igkYD}hfqph*r@fTy-k>s~Gb{=rKjZ2;F+>>e=7 zZ_r@3)u@oK`6>C4Hed6rhoM}x&yS|mw;1wz?k{uM3O~vDZz(o5Fov}+v@oA8Kxhs9 z(<0f~fwY0vGvlW&hP_=wpIsL=SBKTBCUrBbg6l7<)fvqF*L}~pY5~#4&sqy`IPq`e z`Btr0zV(3W!&O{As4I=-f;`M8T{qYbe0`OhOB)WV`nmRl7~c|*DoJBLAuVnIN;pd5 zFum;fY@zx`gaTmR!$_6ME*sjWhq>LX(JqHq0mhJ7$9$MPV^YZtx6Fc`#oEnA4BC~A zH7ZNgiAbI`v$okCOJ{kUXzau<6}EJNMT1+zh6$9KlRP%CzV8O3{+NZCt6GTwlrcGx z94g;FUe;N3ve~g?o4A-vVeVKd2pUF^6pTL*aDZEQKQkCAMxa!56$9{l6F6TqRxH*k z`H`=eCGzFh%`wA&T!(2Nx-iv68Hyr6Ax5buT4Nv-{9j$!uvIS}Oq{n0vFr1Gs-Ux442rgCc{-VZOjEnb`IZ}W2(|^YycNGHD^+C zo53#JC}!DGc6)kHZ>ya~SC9qM4N0t(^%cuiMAYd(pglZ}$IUhS4FT+wGw^o;=fAf~ z=p}Ms#)0nNF=}H)?-&V`Fy-U=v3ooE2K#vWjsUDD>BXP<_`lJ2%S;KPLWB<<9i+3n z3vs(Yec9Cg3&9g_d1?zATpqJ2`5!)a4g4+|n9u9*yS%sM@lwT zPeQJU4BUjcgz7vWOq`wc*MriWbc_ZHU^!%E*Z{JqveYcOX_Cde27JQqDvv)NoZ3_- zn0q&*VXr>{YizCNue2{T3b5-*dta~pcmdm3N#ctnr;k>AxKG`WTo_mXsgXrNLAE`) zU!d@(RI}lJr+KSkEdDzGG!vIq7H0U|FQ|AYYv_I#XfTJJ&BHE>wz+w!>1ntW(aw&x z+va?;GZnT<_wjHMRCd;ac-R?HiekeWX!_5kx21)q`Su=(YLd*mIV@UX%VPmSF3ht& za%?Hm`vCFm6?LICo}9ey=8BC^JBa<6@RYVQDU}=AfYt(gkWDd+E#ffwX#fo#cdwcO|_><|hLLEj}Z2{eT zQF~eV+!>e?voKf>q+aSF`Zy z$)TD3$RW7g?|E)@ZYvWTEMA|mui`05zGlGR-XD3_Ll7EDaewQ7^E^GwR~ws4s>9fM z0NAd-={@x%ysZU1C-v6W*KI6foA|ByP}-kZo=>V%>wqg;Wsep7SF#nLbl6P}izThH z9F(a<*dv?fui950s5nt9fF0hpV=)vXz<)A1r!(i3Q`q{B!L(9rs<>d}904Eben=O` zaU^5RxRBc7;mW$0r)=wENHXiN4u$omB?$yu;g~&ECL?`eXUpSr zF*QA9IPGy@b~ZPq_9<6)b>KeemH3yqx&*K|Y;Gjx)(>)#;o0P=X5>*9b&%`Cex0P> zSq8`0i>s-}vGXgZE=2fHe#Jl_k-g7%`yh}=__Wgbd`O9n#vw3?$r*C2lcHd$JVBLa zV$^)`go%q&pr2f;I{v$FQc_x~s*r(q+>sM7~L| zB%{&BJ1T>{EmhAC({^p#O za2F6xRZA`R0M+$H-5VoKs8frm4|;*7$ri?p$pe6{>TEC#$3uK3w$T$$Uw7G*VmXn+-wod<5gn zDX}>-6N43F5ROhKn}gy0hU&_8$Iykm=xnkhR*(A&iE-Y3>jjUm@)ethMnAmjpk8?X zEF8Krq+8|)gMG*^kw;~sCbrJ&O$d_moYnco&c_o^r9HFhT4 zg$_l-?ecQ`5%2`r8`0ineLzUO>d&gFwd4N$8vK-4s|Gtw`M`PF8ugAwJ-#o6H^wOV z9c(hJCGHUMrd*cTHrK*4N9-AL=#+UamjF|?GGZ;R;e*0jGgg!#z zU1!m5AaC2WkNiS85$I1tTu0(=8PjiR-6;9RVCEoIbHqokg&&Eg19F(Iwu(BBwnS}z zb?ZImb!fjn@Jq3OlYex8b7R6it!h7djE#pHTinXtH~!1FJ6@9it=-PQ9!-;Ko)xEv zJN#C9M0C=QQ&9icn12_1-6w0BES%b^7f^c`T;wMCdG{BQp}uw>#rWtP$jHejlR;JA zC{A(qfGg-PI|Cne$w3#&!wH&D`O97$t3X}ZzP4RtX=u*<-`BRT=RY}|ZUY)>?YroP z;;gxLq^nTY8>%0P!H-O?t$gAtSxX!;eaiv?M+t8a8zp^&F;S%~C2qhCb3gW9AzI#lb?B=AXLuI5KO%io?O$bfWC?gx$Roc2L%z^QN6k@GM)f z;YjE%`mtx%u4w;Ge4kcLMm`&NvQt7FU(n%@p``)!{rfOR%>{o<8z8Ck_`#z?(|fFB z20}d2>%@VhqvCt2+&uT68|h8mE*Am3lUJfMppUX;II2JqmyX7Bo|!=@m(_I{P8p?ZC4Ai}VA zbfnzsxa9Xy9vlOP`^zwAPysZ8S8?R;gWO%g2Sd||sa>Dm>ptQGaG)RO-ifJ_sz!A! zRO|5z90T*p(Df^l*LbNBJZH39r^;z9C7dkQ@t>s~V2?qkovX*(TzJy^unX|6tjGSO zc2Y*`QF^f4n>Qk@?=01Q;%iJ{H@4jkK37#uUWaafTZH>GeptYHxMR&@f>5h)#fwE* z@l!?E^R0wlEq%&sX!QH8`n~s)-V>>CCj&-PBK7H zVLeCxVn3I_s3|+yh8+ujar`GhG)WcH;!K5!p6fou{PPgkm}r%w)bhvxzRI$Af-}0= zEVI`v-GNzj>A0E#UNoMv+lsyACF5S{51-zUsvUjUrBWaP-c@$%PL6r9Ec=S}DOzB3 z4oLNYQxQlA2EgSOgBK;MkUpWlPWtZI1MM+*@l9E{e)idGSW!T(Um4LAnmIyTNGUs@ z{#P8h=Khdpt#q;B{wzI&&W&w}}#(H>$d5!;4 z{JGk>%iT^=se)|Y9W#6`hAyd9qCHsA2LSaVqBR~RqQhmLbt1#Nfe!bB#K|3#=X9SlGAv17M`Dvx@j)x>!6|3$lW+^wreAEA$Th zx>)BXfy{A6X(0#J6PSG++(@(xN{%(Z9e|@SJ{--z zFnwU!yNV9QniMiTOxi7Dw1tNEya)LszvdPV4fwp1h`Fs<-$}fLs=PvlCN*F>$txInfncdytcgcJmewF#ze=CFv*97M}9RkzD_?@jg;RzYNVhtN4}R zmA&+~yfQD;aeb=n3Y2yJ0@Hh6>J=NI=TlK`^9ND$Qp=-~j45k-RyapQg{d~;s25Mz zk_Q4OPZ@R30*Cc;#V1k}yykStF@`a5LKnYg;3BO_slwNf#{*x~aj6h#7WI`~hin_Z zv)^t0AmPy59j6_d+Ra3%_yF0cCWW2Wy$-E7PvgIgwUXz|isu^c9FHIcm#^=r5O0}) zqd3%L`ayT!Pxp=X24k_Fin1-9R+j`tqfdoA{%2Dk{%~Xz_W==1_VdC$fMEiWs3A7^ z!jd--E2c5(8dL>k)|D$nc%Rxk@Pnr#E#8EFmv^HQ`Bt7!uVtbLYE@PO6?bpcs)qmI zJ4Xl5&}9ZPJ5FIdXRn0t7qE>#LY)Z5YD&u8G;l5?6_5-o0JG68S8UlynHC9#iVK-6 zkDL7je19<>3823yeKy%Q3m*^^)WeF-9-fK8X;^@;V#VGE)|)WI5ZU?dca>6vp(Wcg znujuV0ih}kT-YXI?@^Y6o{wNh^^Uvq>C%&%+Gcf8J(Vm5qO9+e>%ok}^>L_8e+af!j0%po8+kRFF6Z&Fb)th>fb`84XwAluQO)SK{8toO>ZS=3ydmJVQ5mUU57=z+kLWM4_ zJ}<(pr#MYMH#Sha-5rTUe{|yUk|vy@Yl9G@KK%$PQ^!TD9q6eU)Mruj?2#mtp6#6o z6&^QKU9@MFr#yKiZ~L~)895Hz<=wb|{9X00LF4b9@oluvrVEsbwgF&e0<@d?4##~u zT$t%H$r*C-SmY3Uh&Z{xny}vyxgeYk2uH`oUR`9(j#+8QDD?n|hv8~FKA%FJf z2ZCUX_ip5L8daLafH>b`;d7mYbl`6Ip|^h{q+Y=1nBTCDfZY*wH$Vai20+LM3PH#l zk7B|4fXOvi3Eyq zi0;CknrJ42!O#Ld1+fqURM^RA^u4vxiWq(AMs;>l{TfLEgcDU^1p<1R9pJEu{SJo= z%KC=2ymcD-vN!pUlwbx=69bOhBQX{=K|U<0Aj2(yu?nb8W2f^q3jruBUTsKr{%=Uz zD~RyNuBY*ppe-;6jK-^uR|PN-JIwk_Zc$CS`^Fx+!Q=(B%N{d_0RaM!I9=Bl8pp5+ z(9eLv)R2??IcZ7+du=JuQO?U}lw-LqbQ=lRyx>N2ZXAyI5FiD70BO?eXuv=T=W4`V zpKN&)JPHDH!Dj;!9*b2>V6PtK`mg(SnWwSLLq#$8Deoom_ZNxJk^?=Sh{-NgMpkUd z&1D+_qwq+8O!t^BgUR&W6mTJ8*%jO?5p`i=tDa)tleiLTL?DI7V%2xUqZ8y0*Q4~3 z!phZRk*l&D=)6!;GbpM^Hfn}uP_u(7LS8`Q7}ZH-+?h!pB_j)6CVwD{K49|+1e76B zj%1RP`7L%b_iY;MfFR4Wq_VTIEx|8d?<^jRn_aM&MsRLsR*G4`(rL51s9Wr0W!995 zW3>dBaATuSwm$kIDnh-IrzRlVI{{evBrW+OYsGmNU6@Kg%Kyv z-3YQnR5df^&2Y{9bxDqwngr12(caR_i+-{P9ocym7x=r{naNgT=NXdt-sgr)kn;JcF8Z;m$jT&@~!d{OU-%dI8<&C9EF30cOo8$ zo*rJvVv$fm5qG0|Q0yUmn~v7p1||YGnk^6?$@k)uH%*0%yE119g{1E3NO363I*!Pw zTQ$&eggPxJB(ln4ag7!TatAB|x~IA3u<2X|3GF3^DkCj3^SOuXW{!P zL$5Ll88QIe36;bF7r%s8b{fM&Ey;ur+N1YEyWBU^4FTEI@_#grsQrTT zpi=wqA&exNLRB5Z<9deT;c_3kDFcSGA%tc|ctZu{ zrxgKbKtekdvW0<18-gj*qyd`&3ms#O2!o7}Z!p_ofS06PJGLOa8i46a?gj*AWuZ+d zS*{ivU)EkgC7}s%7R8kL>D4h7%vsqD$nGpW2jH~kBla+c4 z(>nVd^ z;4E%3BsLqe5jUX*lp50UG9s$qHaIYJC%hoS2@W zkyv>g6SQG6ycxi=*PgUUro3U`ysiBpFQ5tF>Cd%YR2uUVFj#W=Ju|JQH}LZYeeTK0 znc!~kO}q6MN(wbpDPE6~dQ&k%A}^qw=fvmWsZ|=*SC2RkojY#6W3nBoEF(z!B+|aP z-^kPPxHi3YH@w|^xdoIj_6`maI3N!|6=YWx7My%LE^s%3Roo{B%q{nMNrFt^)9e6( z3rt0+L?A^XC4;l&_;r~(6Don&aLXt0Dw3zdj#MJ)#5xc)!i@?rh=|Khs%>m+0UF{~ zeU%VD2pj54ndcI2jj=R3RRGh+s)#gr%9A5}ds|wuRakW_Bj`!IY*PDCw;J3VSqzq4 zf>oVWQ{ctkJr@@wie{AsQ}{^HYPHnDx5=Pm!PMk3sTd#Z+Rv^j^GILlDk(Q0mc>n1 zO_6Q7p}4I#NRO$BBY@PT6dB>r`2k1MwPb<=MwbHsB8YDDoM4{rGBIa_vZn>IV zhj5OBy&A^U+uhKJk1{EYPoJLaD%WE;O71l07|M$?Q|Nl_YVHJ_Pg;A+dE4WVgk+=x zX;u)?0a2AB(@bW3Dq@|N^OhxHLmO(14Z)aP2?ij1mu#(>_t;!7Qa{pDIDuz84Gc5_ z&SKo=O~Y5wP~#t#U(|z1aQ4sOj z2$iGo&2aIYfQXqNPVO@g*%G|f2G}qgAi^c_q`Dc});@miCfkyO>r#R0?WCcQTG zFv6IvYtGkRf^lvbK%ZpwmuO5&6%=OwQpKtB(>0j7a91Um&J=~(Z|FT}rFDhK?@?4V z1q)_#1`Hr5JgBum1!i@zLp^v=6>czX!KGG&&*ICCQI=Sz-VYt{5iTv6 z8YpScv%znC^54PM#!T!ybDzO;=dEjeU|}bac|{|WDL)X6ixk>r5D8|}y&=rDax`ho8 z=ULT4A@HkVG5FjrD9)P!#yXbtUc#dS`T(FvHz<5IaCBmjrWdHkWHSWO!_fJh808X- zg%2r!i&e-G&DVj9j47shf>~KvQ(-3nn#Z96XU^DDf^29dASmJ2_MX{UOsGXdGz51- zGcZ~wolsRQRnwF+0yH{JqfLhE^tvJ=P2;N~iucg~qzlKdxZFgcs>zUnPxI9az!Wv0 zGhca_WpvxAv3ienYorMARHG5fM*B5+PNjOoj2$$#4wOZ$DnPrnLN(`{j>gn5G#e@^ zHSZ7QMKYdcl&pm&LjtSi59nfBZm;{Yh(p0wooq68*JFIc;P6plaRK@Os{cH$xb_mZ zrJ)n<@CrCkAi~4QGX-BKlo!x=$uP4gvm4+cM`Khu{0hgSay-nGk*XABEw+ub_rR6> zlMJ>sw6$Z;BhVWZ5#fENAsKJL%0Tu3)dF2H( zjx*G`@M_+&0JTg3a!X8!AAAV8?yMGXamm>D**zrhu#2F~FHnigLqW+!E$JnlGGYWe zbvv# zZCE&MH+xVIYo7?lt$@x{9lAGM@)IUYyPi&h%V|nm6yo!gBT2oYnzyB!qQOxJ5^B=L z(wnqz(kRjE6BO4nQ0Mhy>|z0xd(?3i2JMO9Ngaid znHg10ZKLC?R5K)p7@H}D1PV&qf8K}>uyvz#Vqp#-1S-THSPSF~ z1B>|A@hRT=dpm2n#&ziNi2!cwkURqb4V=CgP%RmqrA$rEEO8yR`0stqRwF1^d6SQ`5oNm?H|wE!{!h=i!< z&WRu>Wg!RJ#q&2ldEC~yt+OQ5h-#0E4zQPT2y-8=@hAdLm7cgbH#^nA0L%<-;K!(AZ$>$TzB$} zO?2cU!bxMU9Rnptsx>+*pgTIqcskxwadJ z@~{}oUyb=ZUCw}9Fo!XmoxnQmZTN<7O>Pt#ZXEeIB9u>W6M`qNz(i+POC-wfi|jo- z`g_zGP>Sh8rc8<2FL=?@1#C z6WnNR>Xrl5LfL(^^?temCJ3X$RXboH*zCMM8uy4-N5X+$$gH};NvwQ&Mu$&#yKOk7 zf@72`V&l^pH5oFv7nNRW9}MquAB9&tutb9X{^KQb@ zh>wZ_8u3+LoV4gqyA3RF<%X$J&8md8UXOwzufR^7)c_5sKc4ph3A!$4{2QJvJ!%Pu z>Q&)|C3Z_RvFq=PBJ($Sjj$#*+coaN>rgHn6z~SBL>Or47fA6HlFH3Ocmd_C%5pBx zEKw(%6{utCczFhb>t>SVh;T`nvtu9n5WHqiietNV0=Kuk%>&&V4%cbdWaYV!%ha_^ zonqp`yZb^-VAUFGP&0L=SCf6%JW#X=WB&@8NckiQ;;=U2LWec#AbVl_s0~QO=z4ru5D*h zZq>aMG!I(IGGA2᎓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 AJpcdz literal 0 HcmV?d00001 diff --git a/static/fonts/lato-v22-latin-ext_latin-regular.woff b/static/fonts/lato-v22-latin-ext_latin-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..40ed56a5989387adb4af3b6d32e201ba7d4009b2 GIT binary patch literal 30908 zcmagFW0Y;dvMyM*ZQHhO+tx1Iwr$(Ct9IGkW!tu1oqKNg==ZC0%or>4TM?0ph|HO} zmYcko7yux^Z*uPjK=}Ot1YG(p{}1vX^#7a0737tF8LR;SAS(a>P$Vw>5QW5*RfPZm zpfP^=e!l~-k5!FLl2@i@`o(_v0JMI|z=Oun!`Q~q{udkjEw}&b0BKiT)i!o@CIA3{ z@&CoBe~Aw41*6E!-rVLFs|El7{>8zL9JL$;%nhA>Wf5q8d0_sBkN_~utv$?sF^*sL zCIA2{8mzd5WfrD}zj^!YUmmvq&}a5NvBfX=i!J?@@qdW~z7;&)!p7PC7kdN%0OI|v zXZxsHo!r{a_?OR#<+p9G{~T-V;(4t38J*dq$gW_f~>U}_Qu+PoNGf?&!sUxIL8=a zVFYQcI}*pBVyr_pa`qt$ddC!Mtz(e(<`JK~`-GF;eI|SN5$?@fzc}Arh@JNddIw|R zok;kf$P19B3Z%zktNQr!0RtrJI`sJN8E&|K`ubQ=s^cU_eNdI+F`S&F(s3>rg82!G z2u4d8S`Z9{$bAG|Dqpx;Iv9*ySTDqG{Yi#x2K14#89+rb8p3GCZf~l>-S!=~=Xg3B z3=&O|kJ&dlIjCjS`5hrr)o1k$ec_r;y2vn3ENk|O_Exf|eBX`Ba<{d` z-dVsfoIl)q$;=xK_Hsl5iF|J&vCUcCC9khNZ3xy)#35Ve{ z2fj6|ct*ulO&v(Mp+-^^McHOow9N}*+_=t6mOm(qQw)

    a{-NR!p^bLP6X^`Z-# z;>EshWTNx@g9v}48743eWa=lP^z1lxS`=g;O_Q0&|1YWf88Gc)uhu9bsET4yKM2Ok zrIw|TolsA#h>dOIykcXxLqhR$=C@FCbCTj)&t_z$qv6xIy~Iuhy;RiNA7Ur93GUV^ z9A)Wj-e=C;cxEFp9XQHjrGn9`(;d$X%dS+eb4!vLybm1vF-$wJNOhsozUtFD!Z4kC z%H7Ci+R|XAi4IKC>1P@hr5Za}SeE$`d3N5%1#y00nRD)87Un6YQ66ZT#vvx^>a!*~ z_EiHm<48+k)BOJ&wSZ2{_ zP)x&Q#*qwzg$^0UX_%%dhuQ82#{kh(4YQDsXWm`HIEi$>WsN__T5WzoqwDN8b`@^f zA9Rwj9LK@R+x409LU0|2%Kagy4({xpSe;A%tN6C#OaGQszoFD7iRb0|<$6nADB9VD z%|o%mtLbR_GUUIG^6|e7GLgvp{~IBaoCCz0u$AwJx_BWf%ROBA?Gl8f3{Q9IP#nkc zGJojpP;}j8(!Sf5!n_cnrIJl43O=r75NOW%kcn&3etal*GvMoPCRPSs|wj9Su z^MLev?_YR%>1)6Lp8lb}9fNv>OJ06onG-TP5~=+uwRz@Uo;eiN|D$MtP~$Z^Wbi?L+OlTMW~a zizc1j*l$=>y-ATAmHY2J$@h75^b<+bG!6QE;N8ZHlSDVw`UH)(wjD;f2}W|iTb7rG zf@Q86rWyZQQ_gKBIZuenOxI|J8tEiG|F3%s`HrQ5>M)#iJ?lsFJwRvNL073p3@n-{BM^|Mt%b6-y#K_sx5a+w0nwv=)6YOPyB^r zTXO6tGOpTm){^Yy>QLS~Z`xHd%!V+|)|)zZZ9Em@^gSB4AF$tBRB4)h*6!TO7s^sO zrep02QrOnd@{{kI)J~#z zuh%h*l>37*UKaHhr}DiG`Z(!=+^$%gxqs!cf9#alvx-90)-B3{THt>%yWh{n4i6Tbivq8eYhd z^-3Il>1?yn);THcE9bfKe7@fmrf>d*a&~pmF0c6QzY#v;WXcyyN#dycAC0{F|2W-4 z(?QqI-zw_QR6FiPDa{hQmR{DSN^BDywsE?zuCszPzIRN6IgLM#Nj6Wh2fyo^TOKeR z=Rem$O7m9coTH|AVY)Yz+xr)L%p+&Zo6<17_fvC!{CC){(%H^U1LYo4>8)iYx5ahM z>2#U49Mk2dqaQy(-A5Xo{hoM4C{x8pbaP&$NXmj}$I2L0VPIJn?5h7AM7<|gHj7+B zCm7~I3gc+zf#QzRbhA*+<8<@?MwZ|=wI^-n=gzDDx|$C6j7wUv3&*~O&!FYwfFEGh zbq)LPhRuClb^;JA7yt!e{-v+FMGgEE#Vec!Q4k%11nG3&C7_TX9W%OrRG#+2Z=>qi zP&XNh1C9_+c4m=-!j7mt7HE%FC2etKlFo�#(Qf=#Mk(`>#&g;RaX%00e<~KR37> z5frHgf7GQyhG?J^L=q}$3;{zrEydf+FwhDbj@MmGiEkV7Ae{!w{YtF#br{sS+l$fK zl29htEb~NCE)#kK(E1Jbd;xvBF4*7Q=kMNfk{$-o0SEN<=A%PaiDQGY=_IhWV2y5! zMg3H=e$6_~RCL+g6A6SjtJE&ibJmW%3HnCy z#(mvbz#kW8O8|z*OT(Orq5j(Fd!ql=j`U*U2VcXjq5k{l(GCh=dmOIrw~r|*>Z!$I z2*IugJ@{hlA{7m~_1j+SJZ3bMq*ib8;6O0w!uI#T6h9FgZ|b zPG~1C-l-t_gM#-re=4rNC|hRq8)kdchDqx5M|-;^coM-Q@kk)YRmgc$fYSv?*ikkC zfH#b}%4nn|OZ7+5@D^GuMPE?1nsQ|mhmgxMNKCCk>M$~PC9qz(-|Zxep2$)o)E)*M za#CYVzO2E!D+jO$O-h`IY)@8Ofh$t@BpkQPue8ohvKK5dH||*Y3FY-*h@@Q77TKQv z#k8j?$X~$g0`5{IShj2rW`?3l2m?!)vQs(zt}hRkIzzhVff$biLU`&>~ z*$qoV7**@9JrNnX{U(}x8+YFL8S{2hgP3A4n2J z>1&7{ksHutbnjQ+C`s_*f~h=HO?qw~JZk8~(xK_P*`NZZ!VVUmy`E9Evd=cgN939) zXku0iomu4+&mc;WsL8(%XT3H`vEI{Fd9_@TM5dcGh7flVIjusd`hx>tFks!i95 z`!XpHC)Qkc49{;?PyH*eaFp4Zz%H(F;VA#qGI?>nGDT%-m;K@(A&*g{fyqJ0X02z8 z{*O9GA$t@OKMh&&Imv~FZNi|&SGcBEKtZ7IBrBA1X`;*BJ(t9g@2J*DqYdnOrRe&~ z;TfG1PpB5v$$sy&qb`^!u4(5j@&`SM`}#bR2H?la1d^Star4ti&r3`#6Vq{JU<}VY zAgBn+6l!S)d~wOHuN}chh>)LR**i&oANKY^dF7)+a1rHc&u7qGLmX~PenMpIlxK{! zf2aA`x1&p|cGk4#)1Z6skCq`gZ@w*9i{or>!g4@=09GTUbGbyTf2?yB)&@hS*gr69 z;35NX0Z?ubs`8bXYWQ+?1C*sK0njHj1;HL06JvoM;G+C(P^$75f2ebxph;ljmnilX zKkVRRyx&s+AOIu)@Sh(5c=z>Ubx?1tS)^Re4q!OAFpxn*z(geoNVEl%SdFd4rK_8# zZ@u-C>;E^=JzhBmpD+3aw`ADa^?s%20E2-7yt99!j0vD()uVBlSzJA4R*abRsAXud zGG#}Oe)5HIE`64&6MX|^QFmN_TN9et)`wvdTy%6KNZ-2JQ!jBK_VUHpSB5-U)XV!qMM zp;0PNL&C-?N+K3s&wm&(qhvvP@H8eaP-=R>c^~hSmzl%<`G#>NOpftbJPsIte`bBN zCiDIjs?5fxl#59&^C8qfz460l?isP*;4yO7zI^lRX&F%m4ye=ng!PrnPKQpkmsbX7 z2nFI}bgY2V=PaQB$PbSpEHubNh$K>w@?jb9yo8Trjh~W8eFqcF%vWS~8OACpOuOC~ zBOC9uE>O2GD2-}9FG(Tm7?MlarLHhizb5*&+|HvBBN|TL$xF0Zn9aM7dqGcq#wk~U zyVRtLKkM@qtOf%zV%3UQ10}dMc}H=yLo5Lfyk%J|vjosmfcD%n8Yy5X!ME(U6bB0j z6Qnki!xUX25EL!uM2EyY zg;K!{!5Nv$>RuXd41*gcW*iRU*E_o_bMAd>7U9Zq$10_J0)SWoScOCUgKSoBXa;Du zZYCX_nbcy{!P06)k~Uq8EXKmbvHQ@j3&$;bBlQWoC7C`dN(m(FUyZA(8r8)**zx(y zX)U7o*nT(y3AxSv(Os{!6seP(Dzhihs17KJ&Q78cHzYY(BCYnMB`yLMpUQj2vpJm5 zQ;ftK7igtUZJ>UM8vhMK29OWKX8(t+4FCY#VzZ#&l#)QO`%U@823!gH0Dcb}Yd<-}ZMy6#PkUhu%2$2KrBPyA4AGHs8&D#-;E^ z9X0~mvmeiw{1yLR6xWB6VyWZij)xdoEIkywL)k)qNK6A^_ppS^^8s`WAodN9u`b60WsX?_(oAV^1Wtg&1qP=+8GpjAS8G|nXqBV}haK=dN z%py9l=A+`|fZY^kTL4i3sx?!HYLH+CO7#(Mhg}>~{P{^_D;28~*Im%M;iSgQAN)H6 z4#(gr(|#I4kftlY;R2j4Oel;r2~B|rZtDSZRcZY0aLxkYjN(Dxghr7;tAgZUD+3Kx zlZ6Szpb3y;F-q9#u?(_d|HnDX?`JxEEqztu&c0@QYr3Y}{G_XqGxMEef`qwf-_P;I zHvtj+oOPaDou6B$hs8;Ht}~MPT^K%2W4f5Kb@th^pSzHy$7jYOACsEBrC6KwinF!5 z!kE{f<*gUa);+_r9cgj_STw>TlL>qFZ6O5ktJ^JwfK?=5~*RXiiOReC-}94phwB z)1EAEiEK4U3V$iV`;x%v+I5pS1d)sF+mQj=G#09{jwEsvhY89(^|x8yK|L<&)t+x3 zDSd~el_yh~s270U_wUx+L9G6G0%Bx;0g8!gZ(Wg@tu#Q8BjEH0AALF{MD=gvP=*HL z;tz&K$@S-_MA@6ns^?l>RSVHn$N_)C5!nUQ)RMv<1IcamHK$(Iwr&+FTH4uZy;a`t z`hq)GvPC-4BGR>3_yn&mBjA_s4S5{l?~ey7)7g8{hX?7BFg=?Yttfa71u9(k{{01D z_*5xy{B{;6ds&jk<6W5#0b~1m2Y{Qyr=O>9I{0gy?mm|8pZ$fP;=Q0$GdNjMBIPi% z^^cN0UxNCF{kpfDH|c!PtT`572xuqckOXV0J(mqt3&TmWCzG*>c;ZCK;&wwHKI9{) z5-@@SkTVbjB6>Mgz@amxi6MVtfyEi`<*+Vu(kH!zy%1IzSruwi&U zukdjj-%DNAI2$fu9WBbsS$NBD?v@v_DNc1c7nj@)iG9W0?yg+Ho%BqaEJ!i5AJfrMz+ZaD z%`9RTc6@Ct3u z^g)xh%Q{l7F9@_x9_8;csbb(_$_*9y#!+OeloC6i2?LB{wJY3b_QfI!tWfxzA((6w zY49}}P^s5Jw!|3n;y|H0(58YK%32$0EFZyQieu{2p$K;eR0SMPs`q(wAWMAcHN2yq z#p`ZW{ZXt-e<1VeEmoI#4`qSpy$AH0V8&>7SdE-{6dpH;B8u^i?n?@4Xj% zWfI`ne1o+O%L@V&mm%dUXJ{;R%fn`b0_d5Xih!hYns1@LzP1#t8NUuF{)qDbQm=kD zy-}@P((aMGVB*Dj9#I#MZfGZ0(o$#8=_Jk#r>Y&RY=5!cn{TI2rp6927JoK3mWz{K zVJfL8rq=`*XK+Z&IrI=9G^R=>2sdZ{t1byb6Qb}YMFY_R>9=;5aKbA|ca3_J$1QT{ zyJ|{>_tm)iBt8GeAZW6wJ_B}CjoItl{g~-)n(kHS>%rsn)J3HC`8AB5$bbLhj|)|5 zq>g#UH%~mYEe8-xMbO#F&3&kb3NVJ;q2BJrKe_aQ(}TD1C~wpY+#5ms;WtqmY4c<@ z-e{tk>XqU(kZNNcZBsAXa+U)CmfcSZk_b?+@+fpIj)pc+S(CoW^qDb932SW(rOL%l= zv-{}jASh^5f2Z+n`aqa|g??*ozQIY-=L^Z5u7+ISllHmnBs47VZ|jQQ-{+ICu)Mgh zyB2YNj?GQ)*C28HFGwCgpuu+_p+Nml5bYs!VobHDH4~Q877WTUAqHWBbOZaq-M4=H zvJXl#op5_`8VXG_x$NXG?Z2dX0_KUQ0vS=t^N>Ki~f1NuwI3y3}2p>Yw#{wLB43c?|=F6z#?>p z$)=3U^09gl7>z*^nzzi@@~w1g6dP}$Xy%+{814uIjHq_&yE6(=$_;2Ru}Zx-Gu_en zG9-t*G2;&^X~+geP%AoMSotFbL!j{hV~||z9|G3iAcHd?;r*vaYns*gBpk>$q{heg z7dN=5POPmWaH+DB;`}mmxcRnB2K23U{$;4I_Egu}jz?Fr=*Ei6tkAK-U3&_6M-GEe zg2C^+Hdr=fEx>kY7A;zbpnV>d$`)yFtf#iUJ7Jltn|Lv>)peTd(vCSj?(2s*lFjP% zV=EWB^-MI}Q{VNb9EO!)bG!f@J0y zJo-zA4?2B}t&-(fB!<4z*222lTYUE#(VNBJ@tzqr>bdy^7q(SL48({gr@yh{=Az&0 zcbeKT>~#_hRZ1UHQ#Cbr)V^F(rRm^){U|F8n>ttaT*KGX(%~?jFo4rDOm#YZnUSzi zxkgQuspgD+J^Y3%jir^=Tu zZK%CSZtRsQ+=$XiNr@6Ge^)^i373MMK#uZk57B^1IYlN)M2uP~Uxb1*POK3P;lo0T zK?E?dCqJJK(DU?z?IYu(2>fy_Fs1wR^-CrCJIjEmmYLf)?DmOn(#X^AQdM4Bu33}o zgk{7;Io218F)a-h^|gr?rf)IeZ}em-CPL%_l8`7l84$O!O7JJ3l5&EPqNggTXjs~? z4uM*sKV6Kn44^f}5|Mt6OisTbfW=umkzVWqNDAjJ;@pIs6f%qgD6YC(<6&;`->P}E zRiH=gl$eHpu?Qbz@%Lp@o2? zmC;gbM%*WUZq7`PQ!m8ox)i23-Ur;(h%uyu&w)&pD}@wPIXVzT!`|~2+)YZAU1C6M zWTZ_!sPQaSTdbcmS`g*8p`c%tMZ;{QQS2g>=3!0Ow(4Y9K}M46in7s6y+9PDUcEkM z_S+L*wgB@a->;~FJTzEht1%P1icT!dJ{M>i4*p!NdyTo5!7Y%vbI}k;mI!Z%RDW;L z7(`&fK&xv%P|ARg?e35B2J$0{10L93(GATu1|9(63rrR!kjjEz>p{AdXEG4IOxuIa z_4yqO+e2GrjuJncJf)$8ig!IWdxHU|PMe_!l<7(?B$U&Q{t{HG%G7t|T5=)yU0G^6 z>8d_t;E{wfO0?!9y69-C6wTtdrOkG$y@0T^sYAlaHKwc?hkv1?qp!T!&v@few&xACX(izB zxxV_$^Bp)>dXt+lZS0@}q@>Y??LFz9LJ(}2sQ@knqMFA+XMQ^Q0B*_&*2SVyhuQSr zG~@OoH)4GCD3Q4`?-o#kh)i-YZ18kkLQ7PWBK=4%J{VqUKY795S}VC^543We8VrlH zG(B+yge3t1MqiF;f2?HjHo|2#NV)VVGh(n)Bv)>P+_XdH#aI3Y8I6dVKw)(dfdad& zl4#Uirx4!U*qeMg{i=b@D`P{~Z1m*v_zr&D>$PG zRrHT-Tz$O(S43CmUf;WYu_YbjuZ7?`m%L@Nk&Ba;_wlWm| zvCgTcZm=k@*%(Sw{I%)+qm;0fqpN&MmDg5O=Qp`&>EaTg99M?k#?Iyn+m`IC?&0mh zw-N$Q{^ukx3N1z*M?lzu)HeEXDko@uKY^3_q&9ngc~e6h_IdlFA-$OhYfu<0-j^JC zFCVrn!BEOVix-V`3EV}e81b(}7)W7~5pA-VB-RI|usnqvxdbt)j!2Cf2w_AaT5xfQ zIKV>d%UU<|k;hY7wmSWE)Dy~GCLQRvP>v(1r(~E8kG~h0PmMjdHu`GnMe--Wu)S>9s4b?d}FA zn>D4ZW&OiStZN#Kw^w#Iyw9()f7YIFeQlc`U2ml@;+bB`m-Km`CYRj&-3`9ecji0T zy7w6$FZ6Xet!J$mcWtcdn(xpPAGSIwTX#}Bmj%~_8Gka5{q9%m|KfF()lt+35Vz<%JfshlpVIh>Ha7!5lXrP!j9ZBSu0MpJ+7-xZjL^!A5{UTqxlK1?5u? zFBkZOG7*sj8A6q?nd^V(3PJ+lgEx2!a9gfJDr+SwF`RE84oI;w2XJ&J%nGNls#U}B zU@IScZSXh}w662AWwPGYun}=#F88l6@wnkYv|+SH?{4Xpj;YADynGTke!C0-3D1P7 zfta64j9xq&4qRwBq=OT#?{C_fN!|v0J?peFfUofB~3JA9zL!MvTH zv8K}0E6jSkyQ@XyBatEW1JmmDBjS@qIT+jnj^jpx8CM}gG>5GAr&#nu+%E3>l`P)C zg^c{Q^vQWF*dF2aUoS^TXRFt5!T#~PzpE45XjKiz>uRiYQ8ivo7d4sTx*H0cYz_8$ zL({QL>AFpqI<3Cm{#|wVU99vVwgk&!AN_;f{)Nqs|2bmwRhnI?gG^*kHvIQe#*BcS zU{kJZx^SgbtbGv~;W~PfV6&83r2Y32xt^JXgVch%e>Tb8eT%x`ZgGAmacWV+-E`}N z_d|aJ%?oUH=Xw1b@4h6==*PpR$KC4dqTz?9`R7mDv%Y)zPih@ua7QlaYUaXxkg`g= zfhpnJQE^~=crhDzuLNKLq=ajH3?aym_#0K8lob*|E=^9Llz*eLLV+24i3iL+`P+{W z0hh!?;SNb2CO=^=7w%*i`!N@7u9Qv!9&S`RqLI8QFV#e9GajHMt4nV#Or_Wm(JCj6 zj8=HW%NMGEo4ySaEFp$$a7vOsA4QL+-(yGHUeBVu_zkN3I2X1dmv)dZY6Gw>9+a8+ z8V%+d7i{GKD;Fp*w1FPUD3}c56QQCo3lStSs>Phe;XTjcHAF>EG!z)yFba^75|Dse z4virYI4JIQH<6yNZ_qhOI92D=RtqV_oLIk6@$Srl6s`Ifa^!b&wdGOZ_h;U!&TC0$ z9B#YYA#%gr3R|@wa#n7(-$xAgZMV(u^3&3zWTi0}OT zivE$74@GO9wt3xoO`hx&TN)S-u99VZ6YI07a9ADa8Ifp6sQmrL42QVLd(mnx zebT%~k~ran3@^QwhD2OODgus8O36J)(N!c{L{qB4iufg!2$DK5a%hNTYifk%{*Fqs zAGIi0ySTW%FE-R|veBXq&5KjLMr^}J*x=h7YabL?N>v$4T}+4r4%?D{1SwPVx zjco}=Zyo~u2q0JaC}81UPX&^V~Q%^-`&a@dwfq6LF>E$Cu zL(~LRXnXtD64Mb*6bHWSaa>Z6%%}FObmTbq^N5BNG_h3ii)#Xn(jk|Wkc zoRVxQcN$qsjHodZA+Lj2fJ}A16*|LDNwqwO5%-`8%`yC<49NQlMKZ(KABlGKXq=}l~$m?EQtZ3SD|B1P_J$pmroz}%FI?Io2%h$|zF?Ll&@ z3l2cNCNtq-!0|K)3kzZ;`xt94N50Jr@Bup48dB&3eryi-hK)fk)`*E~WiE#MncjNZ zdSu3@|J6OFbsAlu@OejzTk-!9V##RH+_r-6SxtGPLy#}& z7?Cdo`8X446KBeX>!J->n+xV@m+TioLc?(xp3`_8wLdR+ZjGS9r-wlR>PnLUngw|2 z-gSUp<4^2Mi8m1;%QjR@1*K`lVRixYD+&kD=Cx(EDLFh-rR%f&v=PeHBhF=7rT3mu zJ}UhAw(nUZTk4{|IzW*F7nG*^mi=7&@%9T6lXy%CbW-vQdSym~)Z_5sV*8%xbg47g zd$gpHy4!uWslz=zgU!jeE#q%NY#~!y6236Bpl!{W>W4+G)3WzTD_-@cUV@ z%VND~ts@rcuZ8T&fQTNW6;-iK8y@my4j)HEMP(FJ3H3{6;Nbjz3Op#%03b@yiwJ<; zy;&w(Kp=_&YE5D6SMHETP;sm>5Nt`7N-^lZ!SUU{J$Y$!!++o0*8lOmz6LFk=Y9B- zi1}6HUTO1D^k;>qx9FjFA%GTF{Q95^>mwKJ9ksh0NjKaiIRymRHf=nAG5n72{?j?Z z08rWm8`bjYHa!zlQ0+{jSWXt=o`G1d=QHy7*rk=kDzKlRd|&OtS~K{AA~7Ypg!}wzwuAsBP5{8e;_Db>NM__q5DsBY{9TRwx{I?c27k$u2dQR{Dz>8{Lj8+q%?Q#9cFbPM7M!uv}^L zitNocwksC;h7V9|&4nEvmkqMq+ZU*MY#EMGjzP4-sI2*n(7W0Ocwgyzayg_|9en2p{NEXZJ5l>ScfCFE}$y0I*3X$L5)BdBJE^`bAUnjSjmET zA>gW1?)_MS5X#$SVrBVCY6yve&QZ}H5BNU8pZ15Z6X#CAZr*=>zU{U+?Q1=cB0jXl zZuCS};_^E8wDIxrzF*sH4fuE3POs-J^Rc;thcLSb{d7e}Jzt|q2=ABfIAD!2#ikV0 zE8q}8I>ID%i%bUP`IG@eEBwBtEd8ze7%ACBzH?4{_0qfm|=4xLi;I{fLGQ zfWYE~HN_VgL|GZE3n#R2C_@c-0bg|p#;K7cUfqeh>ME@R~#G~JuDoSZgz9@A2- zUu#O4=LUTnJT@lwPiw`BSDX7un`s6H6s;N&&q?W zvMaBh1#na0Dy7P@PlUvT8RadL9-5ctEAgBn#x>J&yG(Fyz&a49IZo;?ZddM?M6 z*cjR&+q@tp8Cv^U8Xm9E>Y*C!fmqX~R7aK2-IjB4Y0WfAsa=iDRBoK3{jx&oy{E;b zM>AZX58vssIks*lk!pFT)8$6^`WYD`Vaf@=|5fppjI|Ku)GogM3ss^yylR321QY28K)d?Xo1wfG8 zj{QRR^H7)7WsWWK3lLqXI%rs};cxb0UDkZQ{`t&i%q?YmH*Rf1Yvw3yN)INHA%LAk z=PDK@*)(XC5ccM^PwaS;O+vCACo&#Hr?S&&L3vI+0E$UnsR^%#t=srBzSLt}Zy8hj zz?GIW@I9a7O02g><&c~@gvYXOcwyX^{~Q&CC`wAer-8px8qWQeDFp26$-po`EnKAN zh<7m<3P=|!NY;qLkcuqa?wgM&rA;q>_1y#89?UbY?7_wD2UU}-$)fXz>oA9}V- zSq?>Tns{~wUGV2xt%6y&&%Qqw{y?YuvsU6!LxZVwi*%5FREo(wTnR4_CL}3BpQO54 zo&T_4GEeJ15)D>3yT2kNSjtp^jOpKK@#I9`bij0(ahXh-aodzq6C^~ybp(bHJ9oux zkMzuJqy%j;*wmbc`?evDPs$a$D%yLwNzPC;Gf6H7iF41tA~j)cpUP?zas_q3(1Z_cDlaKW4UAT(5@|ejZ8R9y6BAxcH2X9XITq%Q*t)6^%< z5tf#0t<*?mv)u7}&WP`Bv+2rj2ZbdgQa0rTaq>@$g~BA#W~`Y&FU(jU^_Z*j+x;FM zpFLnb)YLuO4|-@P@z>^;UB5DHu<>n*uFf!R^SWH8$M;Cvs;kXl=Tn~xdar>`?AqUJ zjAdX2^E}fZcT%1zFdrc&-w*2_Dm#$5JNN<|lQ-%m8hMhThyde9&yl%5(e z$#15wG!WNW>$@M0A7oVJ;96J{Z^LZZ;b(^WZpuwN9Rtsx_B!u-2^#zKLZ=g^J`u!3 zLkb!{nd(MoyqYpzA08cgDjbXkvosiR1W%Vot#LOWql`XnovnsDjJ8FlA;}+@q(+Jb z2^3v&BPtiYIZG!mVwZ4nVP4A%*&{z38JkcIz@k9Vci8`pWNxP=On7W~ajCniYh+{Y z^(Vp_KVkEAwUzmtnAfg(m8GB@y3(KzS#IQF(LUF5baW5qjV71XbMCMmjG;fF%h548(vFI+nds9{wfV7T*=F_Dwu;&;aD#4cEociGmasA%Pl73r>Xw+E;}S zj`n?mMtLPesi0w?3lB%HQnAet1bl~50fP`h1Ybth2-qZ{GSF|4nh^tOP&3W6Z-6s_ zg%|k5Ql$%qXpg@Yxn8P)(HgEpx%K*+Sla&DR>csM7E{3RG?7kxF;F?|1y;rm$w9uM zzpb7YBixWTUjjC7nAc&oS5T7jjMzojWZUj@wtWYVD7v?b`$!%L##*RpL8*s$2RAih zvG=(q4W9b^ETRRt%!UmbiREDI`5Ee*2KUFs5SnoP*@#H#T>7t;NV!_AP&gKqlx8Jj zZz2?2cP_qr%WyyCZNCj!R<-%Q3D4S4r~QN^Jum*H*GkHCnIMo1l2o<^IN@Hu$^$@z zT$FRPS0p7Uppfv<)$dhG1uJQ)Uq-z$6f{({#xNmr9rYNzjxrrU%;ju-@b!ck;!mlu zHfSrV-K339qqNI>#~LF zLA1f_@pkSXut?*ZrD>a6J>Jf<^UF}qK(dVu#JQ{uaIZRj1>1%+?gt?=!5bKOx3(Ld zZH@J=##Xzao$a;VY6^NbbbRe~udmO0XuFfNE@qJ!x<9VEwoVZn%4>pVALs8AskUp4 z&DC{q!LHmwG}zo>IH!3Ephogx%hqFak&vqS{+{?e}4f(O^l(q|rF9@!pFy*@(~rG9XIS>^C6GSx8pm@x@n3 z#DeAJgU6P%ZF!dbJ-*l1Zzbkz(Qr7HMg`kVx=t4>xjG12qHxw5TRV6zgFD~|zH#no ziibicga>Wfi_S{DHzikc?miTjl>?&rn7G1Yj!pNz4l^E&)Uh5PZwJzfAYIukbDwCPjWEEVU@RBYpi8J08zVF|!pfodkhXvnu`04$ zSk2YcuQ*(hj*wFA4T90!Phdrf?XTBp)$R;81(DB2!%hRGMI>JsB3X}?3z%c{LKu1M zd1h4-@w}6M2+4L_hKUtRtJ$}4ajI3%#N&Q2c+ad}Lx*btnXB1SeQ*x-K0BwX`*)?f z8ozqHTF+$?=@wz->b{M}HXzUSI-QZ$O2C1iI(#hT8_+d@SC^)aanRRd|0CfFh15;l z5+|IQicih5Bno+8cWFk0ROW~!NqZ(4lTz^2Q7;v-N)PS#v=)WFN@9auv2!F=oUNiZ zHNt6fN)%a#cJ>Igh=2$is?eNBEew~~Y%MU>pc8McUiOYgPtzF)Byw|GzEhZkHAa{g z*BzvKwSWZ5zQSWXXn_^bVLxUEg*`_*0=B-y`v~jL*}o=sSJ!QK*NfkbY@YApT8-O| z$H~^0u}^`*PCCIe9-rG*Y#ZEcw#RD??n(~#CU@__!z}MlNTzBVjh3?`DT@<@^-abVe|5}M%Sus4;^sG1qq+5zcXZiqPMginqaVn%`q;cd5jzU?^ z6{Y9TL+O*Um&ICGG^7 zN6f@7WdUwXr6md46bclWJisW{gI-@lS zg%(Vk5DPhEyAQbH10WqO!UX{M2}M+;-?TwOXr7={vk?%XRvZSCc)?E;u@;o>%lQO* zG!2miT3aZ`ka2+}uP{*hcB8ut+wllKLR{A52#b!F-uKVe=xjP}E5lXllWMS=z*(Pfi6{=kYS`28+jEQs#fhYJx!IK9)L2(tv zdDOQ7OF9C;a`%0_JxT>n%*3M0PO!rjD(`>z4OEgZJwV<)XN|&c<9nzlY z^n1G7V0uBFrh#RhTNg8q98v$hLtEW90f*2+m$~S-F>I=`Zy7uudp1pIJ4RhVH#$XX z{oc9RU{zXIflH<}VguBL*HHL_?~+NoqE(sps~cmo0DaKpM;Qk!dq!8_6W3-WFA;>_ zvKnDH%3-D-vjG_n2B=k8Ayt+dfC3u9g3gmN-vfIMN5e%R66KY~4Td8uB`-nlV$L;6 zsKkYkn9&H_VjjDh4N3i89dc({L6IV%Iz9X;DfH-xVRr>qvv8{fMf$vs?ctuD8I1~G zY=r1#?`oOQK6E;bK4U#%&w}3;5wm&5gxj=e9L8J2_F-7CYRsg0kgh}!2_bWWf*PzcP(@JXjt5y1 zkx2UqC|ZfGR*w#ez6*d6;77ap2oTh0hk{k^5XmOwIR0ZqRSFC=-B!Eh^L!~Y50H;D z@gEAhf}iN?O;=?*@VCG2o)!;N3Gb}r=aPG1wUd(r*9Hs9+tMT{M;RB)%_`R z(q`Fn(qMm;pArYYoW&#e5?_V3?gYPCT|lTofc~%rF$Rno$6FO!uqmtA1uaifG3}|h zmUPem4R29V4vZPi(Yx!Op*X)h+dt6hSW>Kl*~M)Twn-N~4= z{r#CbClWIE?B==s`F0ZldArVwCSzIW{x`F>ZjbC0f03gx%r>sqF=m^9rXMRRw}sr6>q zXN?%GMrTodAW&cAWIv9~vS)Z}=j@tW#E9@yZ9|&|BjHu6*3@)upI1I$x2|2#aMkKn z;r#aMkX|3EiG;$dR$tYyaE;YISTS#VSIz3xs}M%Njy;9P*m@~yQExx;Q)g7AZiYVV zDZklOGA@?jua6!TqyKpp28WpxOXE^(Yn|4@zBj(eVocX_DQ076Ie|SCG?n zI)S1roTX)}E<;$vHBgbR)!;ZrB(fhwj=d%~al?usE2@@J4~XZ3GS*H0-98iF8tPgX zsadytLEisr?mGb6DzdfD%&qE@Em`ietyprmqhh&Racswl(_B(XNC-{^LQjCu$r3tm z*#e=wC84vOWqWV0SJ>C+Y;W)F(p#+j_sqQ-UCFXz2mb$myTH{Q&G|;YckbMoGv|Dt zezJ23p3t4^hL>Kjwy7#yJ-JN#&|Dp^Mx7V!9{)^~n9j>pd30XzZku?LyaAKui`z^a z1zHJyQ){ZM%e-*%qudA5u;4N;c*mkzkDn>?B6FFSf71wL%1WD&P^Os?%A}s470v55 zY>CCTY*^Pk{R{DBEX7&|?F;~gTTc2!D*hT;AVH2M-7QV^b=p?H#_oVRCrWxGU2k4IwQ4E{2_%r_a#K(C3mUkHJ>4PNHjO2;L%; z%Akw4+;?IBz}4S4$TTqAW@RF~6U-Q3?0>tEL$a@z`|ww`b55*fcaa(Qg!#jC?M z>zcz~yXgFH-!dkA#ar<^d;j7-o6S>PtW3*dpr+iS^pC7izF1g6e|7u^e)_K5dG<|g z!U*CS(&NxaT9e+s-u4({hpNWd8Jk6S%ca0UX4t&o?xu1;>Py<5AR=n`I$q-BUYc)Sz`0nM+chww2Q%Nf-l9iWQRX!i-V7d4LRQp_*6R6SX z2t+$LBnstK0lz@X^w<^sF-bpg0^>eCr753QX7k~2Keu9B!$dgY*S$Cizru6}6u%PI zuci`Cw2(v&^V7@K6-UpwyJ=5X=dQ-1o9+(OR9D<{#yw4YIy-kZY3G$Shl71%t*sNi zix%}xw6>1*1?hwM)#iJ&s+C8zs=Lwj?k)FJYNq;m%NW)kYiS+t3kLhfaZUsvPGI&v zDM%Kx?EQ*zl#udcHgka+7o4{Ab!@bu|WEreUm!0-$iw$s2?t(qk|Jo8j)Hb9k`1 zu`W~{$np^;MhKBMuI?=s1qd<{;9TFGs5|LuO<9wS{Afw8<-)ywd7OSogF370k29v? ztwZUQJ`&f%kc7pCJFsn4ynOMRU3+(}S-g63abM)DJGW>q!Ftv2DX8mO*B@EaULG0W zvwzQcWc}7izu^{~{`&BFhx^*wDr3WIChG>;#n;eHSkllD2z9nLwj`Eq=^eW!RJ&s+ z<17r8mo)c?EG)X@?O2ECQb@oqT9 zd+B=V5X-hdKPTJ1O1l$oN_6H)mWc>FN3v8P#{60!*@|^~mc78f11?jSJqy=oaJi8e zQqK9G3aaY;MRkFKf_%!ie|=>^K_wmo1(L;Ihi7$ue*@NQ@aLQZ2rzi^ zb?H6nacF@Ru!C$)7H!))F*dX`5l2Sm@={+RzLBlzS=}-}5vh_zp9M47vw*02C*pce z9t_?yUa$qap5(TV2+o(0ryQCcP6i8=EeMhi*aU_Wm8(x1M?oQ~AjiW)wZ&NSvlmWo z2)Qyd&YWZj1x2J4)80j*@j!`KPn1=gY*Xdl&POlVaqQy$p(`HSaqc~xEt1>r3`ACT zYsArw8kKEd+dy0GiSgLB8;^f$=gw~*zj0d(KYx4Y&Trx8siyIZZacp5@NYhQcJuhf zw>`A+@UNfTLH=1%WH~voeDI3Lr*=MZ`O?9}64|ajSj`$K<*Lia8|~g=V%hoahd#DF z7Tf-@hrYdY>f6Wl&srm!9==nfxSsm_?{3`m=$!{9T6TW%4~*SF=%FlE??e0*;Sc( zHM(Na@L4^jF=513u-I4S*Cup5^)*Z5L0a42Q{eNstPP7>YI-K4secaz_fk)pHg&6E z>o>SgAi{C*LOocLvcH~ssjaavUZ_hh39`ccl^9r>xA2ztx|~kyXPi!#<1>;}-qo6O zPGvv&Sh-T<@VHYS6g!+nsSnfwwcJroJ~qo2fLytxTlh2m1xPT?xp&f|P6Z=1s|SOP z#fb9&3WjD-IS@+XdA{cFTQ)`bq_E}g>2CUq)J9VMp;dK6K5~{p6qdt!a!0Z>7DN5M z*z(xO;6P`hJ>J%`s0MwEw)9`p*GCkUMKCE;(X+}ds>H?<)k+jmRkCh8Ko;e){WJOeDTMLv< zjvc1|uz*qXmDFDfS6+3+nTJcPmEP1-C8WjSyvSGA6{^*;i-3Sv{AW5Y4KAqXdTHPE zkEFp%@!=R2!t@#GNj9&U$ipJ!&$9&c@agTGD=htS%W*m7uBL_~8xIZ*9o!g6AFruw zU*6C#(q38FKGM*zyuDJ~v-H4*NMyr-r3064h(!krsA6&scntLHt36O&==c!;8=T(`q=yof%F{}3Y+X+^ihLaRxB7nU^QVZ_{$fc} zRbfwaOQ%yU^oSN|nd=sLXJz}U*1Dm-uF6MbwaB}w(NS)Hz9bfpmqin84Nf;9_I>++ zz@%^`9oMcxFFb`hL+!D)mWKK|#vJQ*LNDoM_j44*fjSBLMMTNF0AU|Oj9p!)E)K*o zKD;;(zizq8K-sE5B`G)H|y6$(*GT**W zI;*RsCsHYw<8{9ejju>O!FKN}$R-xiT>+?`W9;86>9uo+ZKHb$1zIUfGxqQ?w#BW} zxURxDZBy;sYB+KqE;vVo~4{WbcJ?TOvuisdm5zbN29nP#C%7v?E3doVzz2 zC9w4N4J$4PEApmLy%s63|Gdl6kpd%w(Uyh{q15l{7D?MEBPhf=# z_%U)8X&i1^OHe^7cz#W_+d+Yr>Ai*m&^jVgz`x#bA&CZsTUB;N8p~4;AE!m>dc>$F zrpXz2T}Hm@XK3qi6x~~M5-+U z6>@|EO*xqv^}$B0IB)sEHmtoc{XyMBmr!JU#u8f8pRfA!pAgTnJN=gMOXpsn+AI7Q z`9|YLi?ic<(^srx+1o-7{W9Za48V3C@g495c*M7nJ|&Tysg+1@ZZ-cv?K#4l1Pd|JYS-{fxtDcYVfM z-t``-d(V7+owmU9c!*SNx0Mpfd?$DK!jZY(v{M^7Fb&-^%e@UvWS3%;wnN?WGRBvH48`#zLawyXzERH*RUAE(`gO%*GJNI^^0Dq>q=bA9Pc zZhI&BS-0tF{BdEEKlROj4-`pTDyl$W{b{S#pPHc;mXTj4D+w$c8c6o`ba!=j#G|b( z=D9ZSPos&&ZGx<%=gmTgQ-X8Dvmw8n8{aof@6ahHfoO?l9w8^WdryVE;4V0Zpwm z0{L69<}P4(_glysCbwS}@*XMfn&0Z?#Qj-4^$(dYN?)DNx+iMtyweAaek;NtfOM7g zAh=;QOv0J;tYoObbLN&!8zv`~4K3-%-rLqvAFd8~Ru`)_Gg_a9NEh#(5vMEm3A; z=c(GnW3{a;dFA}u1I>&$>3rJ-2MENG9Zcs+b#OV)dWLR0E~fr=8;LofUkvoqRSxMEp)?HctGff2Y+b6hQSvZ=NmCHoGYWK!aKnhAvn(y9tluOUnuHHt}FgVI{ufAoi1}AN`=5 z$_RI3bCx&)4UBHwGrMG2$nNwgsS9&O%YKHMWliG;Mpy1z+1|Fe`rgOvO?{Epp0(Xg zLrk;GZWGUvZ1+cdc=U`7pN?o-SMV={F~+~d$QKT}C!0|1A>BL-wFHOv)J5)~sfF5NFJO~M$ znuW%{X_YNJDD*{Pdb+TOwod=Dm!5Uv#Nz3neZ^K=`bqK}`PVb;6;3XaLvBhv;w_R^@fnb02Bd|6LKGm8 z*|32Sj?CZUYZin|Kt+t&yiJ(*<5w*RmT#!@1`yP|FTde5@gz_{QW&zT;;fNh1U%?F zM*5Ixc6qeWQz(4t`A#lk_KeUQOsrbiu<<@k})xCQdgj2<7k~Rz9t}F`CD1#FYxlW$$+W+bzc6aUVic)0LXV3P7{l3 zedAqV^-<8^7E}3KdilveY2}9y-za}u(92)f$}dBFqx?+@pcS!*i+^Q0_0{ldvY=8A zg!8#wPCNEGu0<7+2xd$xAV7}jgQ8&X%+@YOAD>Pomu-i2b9L*RXRAx8LLkU(6hq!7 zo~e(*l!6{k2Qa4{XQFV!C~%Bb&%Z;qBDpsn2XDJ5u*=CsSn8_SBbq-(g!PU%rZZdee<@{eeK*H51f$?yA=y=WqC)T%)pjl;o(IEl9%bzu#NFp zC`^h>DlX@KXU$YmSH|6XV{hs;STIzTkr;qeJu)J)hiwQX9g%OM0d+ zyySk9vdiMOn<`3)xPw%Eg^6u+wVz++|HF>d?>~Fw+2z6w4UH(earNJhoH#s;vKuE) z>b(D~*L4`Z@d3zJ{#I7`3%vYo^0=w|bzc6aUaoVGGn^g+rxVNyGj1q@`*9zntfbJR zow=0keUNINhHn<{$Rjfo%wI8^5G&ba%)(Al8xJPQ8B9daCpz=PU(XPoA@0gyZPGfP9XX9?CxS$>%mgWSt2URSk}ZhD{IRPd z7kExn?DSE3Z1>$eS{sw2$;SBFt!v|*Q%BaE^_NDdYGO3rq^UG_OzxQMXkNN{X>&=( zrvAb6*ED`*=-Q{HFZ68PAMIH`5NV56g=5XF!@E|mzG7W-CXGE=+c6w%=$aUaujy~^ zS=LsyBv#!pdG+LpknqZ$C$AX5zRQ@jr6*_z23g--3NJ#w@&j4rM|t`4S>-qL@|Uy9 z5ApJSS>-SB@|U##0|;0yyF~mQW3WXyo(!S(^u`V2TPC)w8XX$!@74197PmB`ilo7c zx|A$+r|0n_OS-A51pJh-^s0)isB$DtJL({^l^A5BE<05eMyTkdNP>gzc9H0$4h1?{ zWBEsg=hN|U?|Jfc@xTO!j;#zfpKzZwZ){?>o1y31kllE!HqF(L2CjgeK#<`nD&QR1 z-1;g0k~_5qwtmP4Y&wsuO%!c-p|91hvM%D#+GTw`DW@ z>bvG@%Sk|Q4)H8nW0u((vxyQm!e7v7Zz@Q5K%d|4oQ52V>Nr(H4j@(s!B6vVNnhRM zXXY)^sd+=;IigchD21@lR5mmsLo8$P74I0oeRsFJWcqfoW!2s#LtA=7ZfAkqTD{@y zeX&cwpD5d~?_l@PMH4d^=)Zd5Wp`D#e?Ij!WS^fJ>pXjT1Nlzx_Mv)(oCx%65T)c5 zU%a5c;*2Akn<^GnSkzvm`@QgzzKtCv!Qp))J(q0h79$6)4mJcCL;bEZHtwE&RSI^D zG;CPAXvO{&uPdN62oBDHj=eVs$1byv@2(zk=f8xMiD`>P=OGR$;0KBp9UrY z1(9k^;3BT2Cl-!nUZE=rc6k0P@lb8aw}=*Ik95c4nJZ}W7p4_-?ZoZ7x(pWe*1Tlv zHjf^ zl$SrBRep$<@6*dqz6U^VWH^7r*1Joe1y=uV3&dGZZWl5T_;j9?COdpy|}A88+HXEbKz`{w>TfBE40fkRJSaOPuI zuUNm~rtc+>oVcz1yhqM&9P6)*Y&bYLcFp?clP3+nVVo(A=`$rl@#^agf9!6J8@=R% zyyXY7%8&B$=d;Rh=H)MEl^^2e`>-4Yn1b($HR835!?zKZ=sFF^nQG`nCmYQP;_R`7 z**FsWJh7OIaj>8F!!AP;s|*($I(AMkyC(wL-OR)Vzam$s-Y3$ zq%m30+|(3rj$@u1#vxl2o|v&12%QyM82sg%g@9qEg9|b?N6hhMJa@e7<0N0m^V~XP9Z$S|g70pF+B-~&gumz=K*q+E zH?${;x+|7`d|()f8`m7^7}Qqqn@{|0H+g#b`71A3Q%4e`7q6*{rPd4!mkfUY05Un& zRIR8e`N`0au0%S=Q1Fa0|MZt1Jd3XGXrKCcYEgXZ&dqmkpZ3lIw1?&1T6NB4;Sn zbY___<;R7SOM2#}mVB!J;k{{I$!&*oc_o$N>0>LnLd{TrDw@qJ$$P;e-V62_y}+7! zQo2hz3Snp^pGy{_7RRC*-CtbbaXM5P!X#`>&-2=vh$`WYz*#p4RAr*g77`oEVR6GYjoqzH9aL&>W$M^-Kc3&ewz0Fl=jwo8)}Lc zH~1^PjuZXV|7wxX=CeMlN(26iH3MBcL#1A_IrV5kxpegX-L^ouwKUYISXBBOx~zSy zeyCJeVSZBhE%RnfkY6QBhXzMi3{DJ9WV{$YO@q{;*wX!IbvKcvkm&6tLA+y$~z)k0xwW- zEz|cT-bIVT@j$UPzYJTcCBFO6<7bG3c)#xy^*{m%(v%URXmB9t zyKamK0>?p%)jW{$rEyXNu#ie5h``+6$UKn1V&OP^Iovxtjs*xB)XoM-Gg^PSAO6gyPbZpa5%A+_k-4zwFQcp5PtR5I5-$_>X^%7W;>>cVG>P%?S z+l#6+wiectdPt8w-IIozi6k3uVp&9&Lj)`!$`+Bu((>^jd$y!x^(sDat~9`u449R_ zCQprOerNOXa{0V4`Kxy}aLR|tWpe=vn!QC(5pgEA84gFsu>~VZKmjpkc_~}+^%(BI znW^YS6yAY^w5HeZct;wD?f(4L!UN zDiV9X74*1xqT~s3ZCUC*dhUs5zFl(sM?&pSuB&ivlRWy-s$FiMvUFOa-(0!3!Zt{+$;3Ro&0`+kBL4!w{W?!@ zzs><712C=H*VVA}1e8M?jU-C}nj3@F+L^{w;c{ex0d48s(P$YVU?T#hl?JmfOB2=^ z*{ljhsuBy)1$uPea;|XNKbI+>A)Y9p;b2xlE)2fEnlR4nbYSq>YAAS;=DzSrY}9MR zQ7<1Ps47Q<1pqRdmjwZW2@fomY&h(2OHFVx#w@1g(*Xa4kf{w0<;sG>0d&RuQ7odw zUa|Z|%(3vGQ|=kriTn*4XYOu-krw(UN?eF#d%x9i`aOH%;mOpoJAVK8mMxF}{*Gg* zNq_R-6MObNaoLh3m*MeXlD~5QeA$iX{E#?~v0#cLm;ZS>didE-u37WRXAd8K_7kgD zf8tpX(03?b%62J|FiNMAiw2fN786)DykvA>w5wxrGLmd+sHx&gm2ITW$@wW-h*hmD zVp~#Na?%P!uoB$4vrt{xPPVcAN4r9^c4Bct)c)a6d>Q4-(YaBG#bN@1IUz0So|6Ys z15yERFSAvxOpGtnP7V}L@>+d*P`YfU8I+3VWUtAE!va-wP@;&UqJK~fa6Dq#*Sb8g zHUc^_V#pexS>eBj28W?ADuV2KNjt+cQ*iv#?X!I&7G^b;yN6FFts| z6=_kL%lGfS8ii>#-?<}((lk&1tstd03-P_srTHJ9m*0jEv>WdW8L*rwH?a4`dSm7E z7-Z_dK-2Z#A#PLsqrCnLaJMP?=ye`_^d=d^a;znOlD(&TjdoXKxz6p(+TCij`*fzh zQpoGSOE#M7e~Z_D5x#1|e}UJ3C#(KZUjGHe2Lk(24+^hKUw|OIm-MpfMo`z}DlAZC zQBczv5ls$4WTrKzXh&+S;kbez5Mrc4xFI8^n#V@hvZJ*o<4nG9R5t*Dd7B7?W|$HP z@}}@mjp-AH6%{eADw44V35}&$jd_fap!ME(jK%sE>O!fBK9(ed-Pc8`ee~F-l0W@> zPxDxRle+0XpYPv%#eaCNJkT zO+eL3T{`D@lujM=6<+IcUndvY554@T_;Kge9?#X1g{Y?A5qYw&uqj7B1 z2ASWZ+ zT|{|W{4V*j^erfa@=OlDljrU;{W<(&b0rJEj0%P6ohno)l)CsC*Mfw7;yL64=_SnI zMot`5Kj)k{<+E_&I6f37PEj)G(9>v2xCoF-c$_=%W#vJKN}T(De#4?GYFBm$AyxwW~CRF;gUs~aq8*=Ay1 zN^X4ma#^`KDK|N`C``^RX}_xJkI?fqnb@%Qxm9XzXlh;45vZuC*x0tF6OY(y z?xzmnJM_*4aV6a^RGoN*-g&)YFa6U(?WM^3|76&A32&0H^d1yrl(P)P)>zm=aAmC% ztFbjS`r4F>D#|vkO{kL9U0Lib^ebh;n{8*cZGL2^MzYIJtG8)!du7#N$Yw9LvWyww zWil-NQpW{Z!zDVAZ5ZJbEYp?c=@VB)>83SiVCk1_+uP1a0~aychT%06 zZtZ+=Uz-&cC|(D;fnA5i$S)8mk%7*7E&TJmL_ePYHEWvnVp6=8^nmos^lvK(fJ|q- zp7XvO5{+n5K7gW13^kg?=bv&>0vwHR(xPOEaxO5{<@Rjibfwm?s6`-yk_e!)T>1Oop8uLxfk{ss!6$9UJ`-SjiH z3a(@9M53r!S#d4AfH|^~1-g(oil}Dz!=|uW$m3F3m3j%D^@QHz)}dBgwg2FXtN{;k>*R_>KN!v+4lRsd*a#sQ#yjAPIVc zEteoM|9M=fCXw?8)}G>gV{ZDaDCL$+Pv@5G&k3R_JHF{h2Qg* z`BHZR5M+oUze0u>#4Mor#+gY4Lw=P-{z5DA^SqFgg8)KMItmsTNXiyPq%?hJ?U`f> zeoyUeM$7%QRzAU{>^6jXy16MsJZ|K66R0`)ns|})7%U^VCo7i?CpDpz&P1fGu^v?i zaKtL~IPJK=b*6vAN(-SvoTwHPYrjQN6^n`j1dcTAzn#c7qF7`lSByYat@zn$EwFOu z!;0B4vqS~*qjN-`wMsSm^TdZkv|5p@m?Pr>eFbOF2Nh?(5;(Gz3+!N1>^3ZuVa`@; z>8!UtAuBXgR&)&mC-IdNzy2BHNBTq)b#gcukA`A6KM2-*!n^JEZ=8GM_lA2_x6@PG zch=}#Kdhp`vf`9T2qDjw7pL}>|KP6n@t(%261!?wM~DCA&P%>^(+2k)HxfdQ2sd2) z_jj(G+Bj%&gjzy>^Mgb|g}2VW&%JbS|~SEbuq?*$4; zVYyT<9fe8=!Echqfj}S>2-PmqmdKh{t)$rN!Ihkq=ZpJ`Tuwov60V&jB2f}ijPNcC z&ep*ez=6%Zc15u0hu>Szd*y(e@FoP;6>5S?CarO8ZDB}r+}tYwMH5tf)Jv>9?r zL0tApR7E5+x;%0K(r(--l{)9`j&SgQ2HTT&O+kGFO0X_PBAeMs#sj znw}@%_8q4l3n((>zI#T+X)?kZlF06b$)1~V@r8MsxO9`h$}z$3Br%@fl5$r`e5MHy zedP)v%~+DsBx!nDKOS&Kvc#~HS@ajh7$oBmr1nm5w3k)Bs#NTX&UY zg?-~97bhpk-1n^ud}R-IUGn*hLu)Ez>MgVtyS{vkPCb>H6t+4fpLco3*848#vs$-0 z6!M8rMo$EU?I#{g-_h5lry)R&Go|uStNf5r;jYXq!Kd1?+&Kk!xUY0 z$#}{%1LZQK6Bq`Vy=hp%tVT+@6X-_xr7QrtlXC5|+BuiEV>U6@HiROWkxMsv7^AiG zw1ai9a;?ce<1mZq7KZFs(45E2F?eGLq<4Y=LKHLu5xZDK)y`0KFOrL64n)Wnw@^3D z(hb;{(L(fY;4?ZwY|s6BCXS9wJ=K0*-SxK-HI*`YK>Os~7YsPw-y}6q`BOKxU&rqM z$)Cwq@)P-Ous}u9iWE6uAr?U!6>K!kdDuvCB*0e%I-hGFsH*Zld#kV5llm|DZHM>o z75jey)pFK~=mGh4Hosh-!+!ixs5i_*yx|{EqQMtNF@~@YB^$_-nk+++CePsUXz~n2 znoNUyeNhFo6?>{`A~SERdaX_ghNSORwP4>ot=%kC$Usk>3aDYD1$HM(bU7caK`^i zKj9qWedM#jTC$_4p|38O?2Z-J)RHNGV}Cf9?25_P)YmqS#4AbzrHzXkm&Yo#5Ac5g zs)CK30096100A1HmI;(fUk^O>02v3+00000%9CDj00000%HJ-9|3v00009 z00IC200000c-muNWME+5_AiWqfs^UK%YSE%oj?&(@C5*foCa9{c-n1~1F#%X6hwO; zb~mPk~K($-bBtV^!&hB zLEgz?@=m8jdT&oOwsjHR#)e~?qq%(q$4nri&;mEwV zBwCtNI3{ZST+4{!W+hVEJy^>-{l0IAZM}$XUcql3pfT&1t=_qBsLdIFwN41|?#%id z?`e&tdNZn1tD2;!uGS;D{)hagDdsC+yyuU5hVx4mu-V%k^Epqrw=R`ubY{%g9Z_1n zLQc*PH$Z&*2eI`Bq%@$eL}kX!NuH6Wj6X2A_k5pD3X+K=V2^%>{>&{lYpbYsqNQFf zd$3S?FLPW=NY5&ZCu%9`lZKo-A+c?7WLN1ilH-Y-AF6(#D$g&rbJ00~`KZX==ajxj zg|EE(Lc9U;9Zn;rRseTWG28Z9bbghjj%&&)9#lDibflK)U~(p*q?P@FUucy2JcVjVP9 zLouB!X1^`DgXcg0002l0NDW9 z0NDXd0m1^q1LOq|1|bGv29yTJ2S^8-2l)sY2x1712?z<13ONfO3#|-d4EYUF4i^rz z4>=Fj5B?A<5K<8c5-Sq56H^oa6loOF6)hF)7F-sQ7Y-M#7w;I182%Z08R;6c8(bU` z9CIA%9ZDVB9$_BIA0!`HAB7*cAO|2RAXp(oA}k{7Bf=z&B~2!NCmbiGC}SxiDQ7A& zD$y%kEKw~-E!{4XFKsXoFmN#!F`qIBGGj8^GX^t%GtD#2G(a_BHcvL~H?cSFIJG$^ zI#@d(J8L_nJH$N!Js~}WJ?cJfKO8?yKqx?(K+Qp1LCQiaLT^KtMDs?gM`K5CM|($y zN0UdNN2^F`N)t*SN-Ih?N<&IdN?S^2N^?sbODIb;OF&CZOIS-}ONmTxOnXd+Op{EX zOsh>KP5n*@P8CiePAyJ3PDN0cQLjTsQrc4HQu0#% zQ(#m|R8~}CRBlvyREAZ3Rf$%tSP@tqSSeXcT8mo6TPa(XTcTU8T@YTbUb8?WjtkL zWtnEdXLDzhXnbjWX`pHaYAkANYOQMEYbk52009610Q&%f00#hK00aO603rY_0672v z0FVad00IC3c-nQ51xf@^5I~>Z5+)^sgxyj~+TB58clYjDJcbAKfq&QL*P9;Z1LYi1 zL_u){6x0{ABrc%5pfPbFwFTvgi`d{TaWT!jCN5!xg~X-mhZEOIaKeM@h7tN)_v~}W zsq%x|%e{Qzd#(0Z`!Z83xOTN))598v>L2yl)niNP4r8=k5e(4l>9@|P(ze!n?`H!#P>StGAVl3hyxb1oXhuQned!)sMgmkBgDUXv@u9O z1Fr9uT*SEN#%j()tFt0#H)}^O($kaA5$x$3zxs=B9mcO7gJ<6dPEv>Wo;#k7wHP@lkODLHq&F>@X5i4UJ+00U~&a9rna+-BM_pc1y#6Q2;`wj+TW)T1Y zc-m~igMkA9006N3y=~jJZQIriN$~}i2@!eI8jymg<8=klyqn%XjkW0GtIOCe*{wmkyrlUY-*$r8P^&?4t8mTHM4DKe!=m!Zj0IkIGXWtmPFv(=+t%4& zy^S{6VzaHbX|~-?JM6N@ZlB$;&tCf-(5l^+7!zX+8j5i-UV&;gF(D>;?M+OI$!gX4 z8dG9wOpEF2HF&5{l~QGjy!FmUpZxRQ2mc*(%rigy^etvMt-~+BV`j{X*)b>P#=Mvx z3r2dF0}X~@APm4zt%YrGGI@ov0#%qnfwgToLPgmeLk;KdKO~w;P3VKuG=C%F@k)gbRxd;FV0AnDq0V6~pumdA-uoOig zAh0N4W*~}HSg-;mVXy&3Vz_80w4Ir*wbC}@CMU)O z00{7}84dv;{ObUL;{T0J|7ZJ;{r_#)+sr~&3a;+b~*GS=oyC7%SoXjyGc4Avs? z!SXgc0S2)e%vLGuxZn;$PJ*ry@z2NPK>S0Q&t`DM^y$Uz7R8>#mHo}`4BrW!*e-t^ zX**Ukjd)ZANy+XDhgF8|`>y+dZXv z1A+?5^MuEFiT1@oP`t_CXX{y5sA}#s`0-XW~@}Px@2J73z_Po>7w2NQNhXmC<9*0(C0$|2&QIG`<)M^2#MAm z|1Q7(bhp6JXfP=b{CNQKp=6LVI?e5c+b*?xe$5n03v5=pM(JRg16@zP_wR|22!E7x z>uF!@jG;#}KV*V#J^!BQf82f)81O44$pc7CR=)h5%_|WlA3;fb9C;m#jG>57njgys=83G;10_;8f_{PP2_%0&=UYC(1yFaX%+?^KCuOuYN^EGV|&J72fN>O&p$kK;lY;|}McCr~eax|6{}msjV= z6wH7q3;EMf><44$E&RDQtUE-3_7pYReWX}*V7MI2W-ahxRfkDrF}0cQ0b{6lX|oqF z5CO&)e~t?)ORA>ppaW298_JAJo)Nvq!N~PIi#XxnaG@9 zZK=u!K7{;q^U}@Ewz_a`Bjvia0~wDIvsqzP3>G}TI|!dY+5C25$GF06ykjv<7LLQX z!y7=R5O%XfMhYjn#T3?IiOURFMihM{y@WTLi-q&Kitop+Y-g)$t(rT<^gx`WvJ$>N zhUVw1Dm~)Dq&8UhGQ{`BFE9F^TlxA;S#~<9v5>?`7epuA*_cv!tx$eylIb!CG&G{H zvHfpfP0E^e#YhEvFu)R6(ZkNTyw3!i-`~)1_B|6Ix)c;L>}t5PIG&NEUnI$o5iAI| zjf66bgXnyF`{(cbnjwG>1VHFlIL8aIies8-vZhUEoSzm)!)?EvtU5&N6Ynd@Q;%lJ5)U zkqpL`$wmy!n*ECljPu57%QV!pNH|9KY&gqTz`c<01YnjuX!;lZq8OA&R|YSEVZ{uN zl+chG-z9)WFR)j8uSS&9U|6ytP!DUha@FUb;($I7khAbVXFyhK`cb$$Z+l_<0l`RO zZA?&1hD+&?Nu><3Mj7{rY;bgd1#vzn(0WK&taj^>DpqU~660Tg{s=;rmKKy0nduuF znm(g*gOj7T;Vaodj#PL9$OP=JI$MukU6OGrs_JCG7nm+j&IQd4>z$GA~dT3%pf zYHrwWd(GXW)YyW|W&mo-&6rS8n*ytkudPoqT8S_vh>0DoL_&}TSS?Y>ZZ~nR6C9sT6C*QA!<`rldHfJ6LPfGPWr68+ z2#N_!&r#~)zkv*$NU3G!1|&pel*IGpGZ-K$I6z8LT9A)#O;S_15Eo9P#)~?2><6U9 z=?Tb7yigeKgscMc{hLN0pI#SU-WFV(+=T1_S|Uq@0|%5Z!6`2lD69*$tE89)CN9ex zqoG87y_DhBk18V1e*-BX%NmO5>dvWsGiV9E^57C<9J^()w8Yx%%tmQ{i~w-hkX!x4 zDmorhm|t9~ptQQQkO5C9&il*qml)>BKN_tT+Z)KxX)t7m#?9n!u>uo=jRv>j>E6*n z3$8Ib%Kz_A(vbw8qI_hVfF*nk&qIHDL^z|-hlaYQQSG8eZvqh z7;WpJhDS3U9SuMqBEyJc`po;&6W9DB)njw~cGwt%!E@EC7_ zNclF2)S2c>YoHQJE&MK|W^$H#hEcnG?hrynf@rQnIFo%zX@u(ENjZ8jF*4KC2bAOE zLv#cbs$y~q8Fdk5Z6QUe4N0?yN!ugTWM$<}Q;8f~mV67%jdqorW5OIK8&JN$WH`)Z zLe@fV7;8=2CoHjIaqu`bTU#okgmS>p2nIyckaK4%`kd#`GqDEFfT9v-M9=?j)o^0^ z-^ArgcMiL#?_^UKH3!x{>AI7~?(cdVF>OjWWfo!m zu+2(3rXwHrPf~J+m#`uWDL(wUTuykuo!6J{!R$UVMPd22G z3vH}STpj-7cuh{aj@L^Vc*Zdmb*YTnL8UTnaZQCvtHUeaLd7Gx{qa6Jp$P8{)Lbz} zWXML&e3Zu(n@cy_Hnge+vjUzI{jT>lDW%*WWZe0|zOkXH#2_7}g00%Zow3fP;+>fE z(gnqh3a9%j%{4IA(xoXuH--F%E;~(}|1mWWhNuXojFHDX5bZ_CIgQ@+T@f)a1J>yz z4VqTH+B)Lc@l^G2g+nLpwuev&U8xfIk#X@vXOH=UM;@>A-)+`Ep=D(K|6?lF;eV+T zDDYp@QaVVIQ2vuW7tN&%C-fXhLRgQl1ygahs!m@jWsACq75dy5ZdrN8Rg(kuGW2 zXIqfW)YOGPIUfAlKtTS4oB~k>XMmWzV^?n5n{FMP^@)bGMC%D+Ckf;nSlo+J;RYC? z28)l0(FVo<5FkK+0QO{EoF3jG`uA!DodR<+;@8078j0SbRd= zRHwmL_=~8i3>a*4LT*f%LgruwWvTa=LW*(vnXtl9Yt%rmqhewJ{wYR-{@;)B{?^JV;F9s23;8ZVl#D9gmU!soiE{7Q+0#p zSs&QU)dL+G_*u@4yu=3DVL;ix%jrK=xeKo6XxNp#xm--kOru55VHT2t5u7IQPz3{eHBP z-y|Bng{W2&W_K>ww07jcy1Ei+lp4_~r`fo`BK!MgE`^avhUPsbV?bj;jd~D0TX}TE&i~u*ycTSR*G|9beS95I0v^4Pc(TWfyRBd3Z2paiD@36CwMO9!<7XB9&3+J zv;#dBw$3k|b!lxA3_Kx;g^y*sPie!=F`IiM3KqL&1|ITb0Jv)0QuPvGAKTs~1{(tt zgxMB-ID^N>wGhuP*O;Hlq|(S9#3n_kDG641&zcl?NKQ8pWp}vRj^7&%0>Li<9xFgM zLD{R<7Gl%|^HYbT!URD$x1-;^+e~Up)#Gl~m~2ieMF3d}SzyFkP}3#+@lcbhFm{bE zaUxX64eEk66IQk$krt5A7bhY8_O=S{`1tY953i6{R&MFID&L5r3h+00z~zlY3G8Ni za$gCT9Y7jah!z!BELd8JAKjz|^$g^$FdK_|1{5s{5#?|o^Gejo1^PYfq^u7mOJx)a z&60OOAa=YNWKE*Pl+ofsLi*zz2G&sXs8q62(sIR%&JM(X{`VW7k(1-y^6hYYIn-Ev zlju15b|;H9STH~zlyA5D@_a^{?){;#V$U!w*RW(7=rZ=UchTawn9xtnk_T+~e&W~{ z57h&!K}e2-BFX&S_6u>P6ZNTKi$#SW5n^>%FuuSOqkZ;`qIHC;%Q^{3a9iFWaQUKX zv1OzZ#)R6ebcThq1nYKuDbBZEjOAqAwABCAlvc-jQCbcgqihlU*5AZ3z#oiBmNdNv zX@H@RsZk)8Nt!g{Z{n1Ku0Pi zSm|Hd3?Ja$;8b9ABWNz6?%wVs45=(YC*EWpJoZ9!Tw1xNTvHy%^%0`YgfLTtdjB3= zR+YYm}v zp{|O$qkNJ8$25%H%olTeT@)_>MYNR zQ;)rl(o19~L1H^hk01pdR2C8<1XPU?BH~`1EpwxuabnM~tB0C3j8@Ni#0L-vz_>Ga z1MmQ;2M*_O1U5{&%n}4rRJPOT$`c7$S0z^Tz^YmJjO`7y##|C;zI#x_Le}ZNtn=5& zMQpHp4MNwY3mrWOZekM7Y=tNTAX~mv=YFAysv<1}>D=HV0qDEf zkx3&r9L)g9(F5^8DOP%E4L);_uZ*HcnVYd3H{1oRE&Nl%1hwlH6Q1s#;}t{RMa7euf@Hj`En_GMvP$dM~BA<1w%*0 zf1RF-ZQD4TA|6@|?127oUHocIq{M7w&n5qSAG%nMKW=wcIZ?w{GnXDb7^9UTLz^W= z-G6vm1!xCoHe#^OL2oViprUx)p%5QNhqN7hBhenpy4iOSs`#DA8Nw{oYJMkbKSPK0!BJpjWnF z*S?MhY@&uM>hSXLsgaqC33__qYF5_6Hjr33b!kCiVg>3-C|5#p;xQQ4(lIRtmPVno zp}#V|gAWh#Mq*aH<9e7*{4-vEsTe-ZpTn}G#m)% z_Ph3`R3XsVu*}tj`OI`t0KLQ?rI(j#qa^wQw;p2a6o-o{ra;qHzqX&6Y& zPf4bo_N}D&Fa*QcnkswF&VreI3kmFFg^O6NBK<_}&k{P5!>-(tD%MEW7~<4?t4pr? zYrVAxB-Fr~&Dlq-T8t;Q&}ecKj6QJyxvC4D&a?sdQ8TCmxBi<12v!@MYxiA(owgO@ zrE`q$iFyiI*qOyE(Xw&s7{12)E!_;GS^a5N1vm(C`zzDyz`$tR?;7A|KIGeu6VPk$ zco?`WQFF9ml=jRby$}!~pE`|mszC?mcdDk6vXR-j|D|F&0*>&^_>9mEiY_Zk)5$9V z(vUa5oq)eD4Lnt#zSDUY+voa;io7_{XTYa+*)%9^oWiFgH9%l+NJLDCx!hi8UX%;ClQ5%F|57>Nae#Zlzbk z!<&2qndWE=uLCsebp;4UMC)15*p_8e54IE2DS09ZZ81Q8_rXC4AXJDu2l2_PZcUYr z9y)G9nNr4*_D3GTfz|!&up-2g9ZHoEx4JP1(A3DsSRU@dUqc}ALsAX+F}=qb*gbBQ{&*1sxombJuph0g z@JQKe=xnYIdld&E`YpD-s{OYb$vIDVAAj%%R<8h#G?!CriIRz>dt+9JJZY|}+*9xy^LLa%l0gqUj7eUD9&MX}q26gy0E>xddPMiQ&4A z3Bpe`jso=quk!wkTT1tO_OG>R>1!&4f|sG5f@XCXudJ#nP?^aimw_whe3k~D(cy&= z^H0WfDs9`tBvGqyiNH?45}xh#-Oj;G|3N~Qa4i}JO!X|5JUx8@MFFy#Du6aELhJCo zr{~woSXh{_qazrVK-Cgqh|*+J%PPCzJF}= zwa+iVe`mS#Dx!Kl{$yLB?nO=oL+Xd56xiRHoS77{2J|_WJmiex=O8vK=H|@p^0(`H zJx1I<$MxIyo9}cPF*-W7uqS}m8n1z%GOZ3mSXF2xmTS}{}W zvIigoIF{82Wi;7Wybl$&sO0U0U6N#9Hjb5)JP)y9F;%K2&+)Q5o4JB){zXV^URK#>{W6XXor@w9Cu&Ud`}-7qoa0|(?6@a?_m3EuPK zz?iH){g8ij3yxA)SUa>3cN|@x7et*h81((17VlbRXv7;N<2dsIbxZys)8h zHVeDg+H;_wa1rN+B|mL3xc(mC9hWL)KE8Y6>y$>~7Q?3z)(jag?*`_dQ=8M$E4e>O$i+>gOyK5tls@7Yiv(rC@=b#S2S#MvEujLR%53XVKyecnJ=#od#8veC|}Fhuv|mNLo; zFw=8?v?}O(o3W1ICtFOt;EQV<^1QB<0}7ZYe$f21;+mKf3KF$y5Dkta95(q@s*=LN z4vduJcEeoUnB>v8BGjH8E2)%L&g0L(xr|`ZsR_3?-!^=2`}p`hqm->8PK>P^(ZN?U z5vOm%*OGStF|2O2n*9krsIuE7rp+CfB?GPU_gx_xVn=qP0$Q>N>$6O>A){I_xU9LRZ;Zy>)UzTR%L(3F)poIp;w9A( zo6ZL4kxQEsX)Y*{tH2HJXW&&em8TJsE|%6@Hniq>=N~T1BeFv$7VY~m{!9{;)Y892 z$Da;2EN^+_b0=|0nO#9A(N99d`QhEVhrYPyUR~WwWSItwv-Ivezr*J=XFRO1 ze_dQ;XB86T$s(VMxMG%AJUbx zN0}29bicJk%*mhZc+L=p3-#Ggj7k5fEz?3q;cmwT!U<+1ZO<2Utx`q1&EY$X0|!h) z&h+mRfIG-d4*0(66>*=0_*~F8nIIS{E>dn^&`?vR=!hzsBy=n;7vrh8qDD+tl9iYx zd4Z|O>{_#PAq5o>|B9I~W0qIDIS2p1Akg(_*fdjHg}aK$KHgOA*_IH|<}8%VR3ZWE zSk{uJrxfcig4?^sR=x64l~Fuq>6FSw9nws46+R|A97i0>cLbSX4t|X#UE^cYLSMln zAPaW|oz+_}*KoolF`Uo<3S%QF6nUJ z)=o?eRw>mx>wV|9w!ZTd`9)=h{;T+~AWMJCxOl$cV5a?y3y+NdNcNZ*qWWM3Yh_*? z;;G?LRZNmbSD_(lHZhWIK)7M09~xrmS4SY^E{{JLJ@ARgRITPJfnRvdAW&nbJ-E%? zaOPSZn#GN9cGB{T70l)Hq_XCs^j0w+l;o2nJ`!tvyXjj;){1!Z@W4T}*FVS)96si) zh{yi85tsMjzO(JI+d}gyV)MN&T$Sg=`HoaXiG6#M>_yn>{6jSLa{KQoPD0eM%GXH( z4x7_eNJ-sWoPolIdA2}`>3*i%@X&yKL<64J*@oaoUsfA1V$3yp!`vW$x-~7v`HOI~ z0{S$(MS@_xD>u^a$!<0jl}6nH#F7627`NV&&5Nt0GKMjml=OizJ-nQD!HtEAx0d%E z&{L9@*dGV*x-MYL*ho^$!^%n%mz0f-fS!gsR+31{JbkMW>-Ff=#p}`#A$BM;g?ZI{ zd_^hM&ekqB4o6oy*?71aCKLwmb{?{bdmLu|QK?ZWI(sQTCKBLHadaxhfcjvBk(Xi_ zju1gLCIl%aT?lG^oIPI`8B5bwEecA^l9d@aZAyCbhAc&LejJkE*JkayL^XN~<--t< z47&&`8-Ho6uR8Shv|!6dC3Nx-usu4Cf%u{_fK@aDw5p1uul~2`e2Z#*y?-VuyFr;+ zC{AhEb0jhza8Ck{jNhNMlDNbSA&Z2@Izm}FC}~(Dpq1AA@~J0p@N{xnN!g0hs#Jbf z%hrx_nwpw-z}C_vw{lErXU3Ak*Bdz?*Fyz&D|k5PC|D&D^%w+iS4u_+fkwtwBt*ut zzy3|Nfd^KvBh1A{3h%2L6`1quUd_NJJtQM8m7NzH4}cAYxm!9`X>%$&qN{(J+>-&d zt+K>Y<3XUrfviBFm7K88y20`?5p*>uV+;1gfn0NXv|^Ze%dt8gTQ{DBBx?bK6fh!! z6cC8fV4))F^KyW5g0_#`$)~ZXa2|_`7+<)I+W;dfmWg-0C)F2$O3^xkmU-Uo?2+S< z7B-Btw9u!z1MI_50jip3AlsN~!lUzr%zmGQR{UI(NkC+({;q^5fs!XhBN9Ez{zRFr zC7qtZ0ORXHB7tOzWBa7dy38r&Wj{9eyg@DYSKefY-#4aua|6sft?mK)Ix6=D+o4hq zdFQh!$;D`9GpX^j;g$pXcsR*5?=@sH*7X&qK*c9V${pOAn7Rcjhut84HY7Q^PDnkm zI;~u3WHn+an8`JhC;~f*5ZH~SgTCVs(wR*~%A^r8vpAe!28}W?z50cp@?K!aL3Xxw zwpV=hy_QbGMF?Ipuq%#Ob|HB2&DS$C(zo2^F0wSl#J~D9U0|Sm&c6)!jzX4aF&uXp z#&m0q(>-c??Q_Wet=QM-GQhAeWRH9L1UC-zd_ImhKM6vNaaP>njiKi1lRlHUCVAMW znxCoZSbv|@(qd-5ZacB2vdf0iOiC(g2IbWn@mmf3ZIedhSQy87!#?`b@;RPm15Ml3jya#)bl>o`{^0o z`{^6nGEvixd1+h<66!9#*|RU}l{4?3LZ5vYpm-j`k)FFR(xS)b?(HsYoh6P*g9!GET4J`>u4-j3FyQ3>{5f07#ra}l#vrh#24J|+=0d$ORYpybK6fw6ri zW(}5?A-C5gkf_z2Wc@_A~=b!soS$0?OEzkisByww%t zAI?t=Fw`(LF<*{d7=VBh_tgx4pJmO*=)y2Lm;^c<4nshi~J!1UqYg@F+P{b_+m{th1u_@L89So#G3 z=*4vT@$9>-L?tkVV*Sc=%!_;s=$*!`0QmW=O|Csa42b{jnKj3l1omOGdgAE4kmq4G z(!((*YUG!)dLf-E00FdT&$4s1X{V@Y;acf7A>N*NG-)MlQ6)YSAidz)5BKzqZK(Y% zN~WXs*)iXvd0FupyK-lEmS4vzNEAzE1b>mk_2x(h|Cqw?)oj>Y7>Q_txrJ@c`~h@j z3Dhv#e#-lk@&WGQ_1oO`Qg~Ev%~(M_xkM=eJe-|Vf){z+x{+NqI2y{Y(i~P5f+$*X z{mK2}^Njo)^jJj6*Qes@?u!ss0B=eLHZCd2V&Us;@q*HO;GHr;@FelT`tK4p`RtOpUDhYPav>SebSKjZ> z+2Sa5-A-x?%%C=`M=^q@<;^9?1{JK2mKVVDHclLZ&)Z$XIR%};qtj6V8=zSvK1~Fl zNlY$b6!6_V{t}UyrudxyOm`skCcGAy$P<$_f3|egNkPBu^%rqM=htp> z*JLrw2{M3FO;Kf1Hh39n8j&ar5Mc5M1-?>GM7KFzRjcwoN6Q_}mhCh5##7#}lhDJzjf zDUth}9tMKF6q(0~Izb_Umn=CA96w4(MO>-;T<`ayK6enr(ov15Lll@XzwTaPr;&)t z1}4$!ak%4S{V|ab(naeqCIYfh5IyXXGx2)JsaB^PF56ejClkq4&q1T4D+eAg(pg4q zu32uxIvvSsm6!$>+=gm$J|@JC4~1JbD3(u<{#jPIj6}1M`_oWZKZ|(>sE6siDaI92 z>w1x|qBH9jlEf1{RwQ{T_sK*%#Kqo~R%4@&5w>Hq)ANn=%nszeyWJI`$^@}_rHC_qA5k-##YDnnOr~A@~ zLcXMmQUi=gqz)E8tUW@8wxSvqlA;=P^K$A%cdh56|BgqZtg&qIUnQW!d1yGI%WMQ* zRYkM%3cXZ5|F*xYjr9;)kF;1skX@1dWxphaveX?Hlnb|dN2=fRViK^dwIrn=PICKI z^>gRp^}!*f$sMZm0nH{3L7CcfLVQlG;&Sh<*o+FiU;EX?=kUkeWp`bkU8LE~F9w3o zFG-&)_E5bU>w$Ed%jB9EqidG90*{w`lG2jqdDg7Sq;j&ids7#u=3nC2lc(&n3Tn$G zOU}^opQP87K4Hs)GFDmvq~qA+cI| zICHAV=)W-R(KaX_RpvK~D37rlL_E+Ph0ub;sAf`M+lV>xeAy@Lo=TU7 zt>{U=Kj9i^VVip9tyo)=CBQ)-qs_?aK&YN)%uuAMcz@g=wc`4 z0KE!zu!+fQ`Ee<74<6rCd_Uh=3*4TomOY_^8;noeWrc3_O6QPy(HH-!?l~c>Y(D(j zpXZoiE{4SOg46AFzP!8SZAL=1*CF#ITrMv>QnucO>6V#ZgZIsssvk4Gt?b9&+6(_e z@UGSv-h#sRR&qD=X=}siXi7Ji+vZdgRhA9a1-j>eOBgL>6)UA2{F{w&3nU-V8hdK;Wrq;25+v#L z83Gg!6mPEz8ab6VyKGg6VWZYnj4U-;_`HM(CfGu$P%tFv8Bd2Odpc%$DKz6{q<^;v zxUQvMfYvgFAsEL9c4DA%HaGPlB@k;&z#!6;aa#UDZY%Y=MatboV!Z3O81a*P&i{_& zZ`D)Is-H+th1nMSpaYJiHDc|&F`4Pj%-LK}=k~jK6^+;Vb1x5eUx|7mN zzV_P-_t6l20_(K>c)`<}E-J_37_qf+y9*3nNjwM>!LSl7jS7;+h&%5z=w`rEH>$kE z7yk*2CcGPNNC(VEUv%edF%B2A$u?@`R#E_)Z@ZqD+R5-iN&$hkKb+6|&e<HV_JT zZbXiZyrF@doc^>`N`fJuz5u_*L`}%J?n~SQA|e^>K_i?e5vA~rhZduO621q!dab9K z2x}d+2lv?>2gi%Lpb5nV8AWS9Hd`PzObKdn`dsupf*hHbW(y2=2U0#LAgCwk9AykY ziCNs3QOKSR;gTqZ=%C_7nt=8vj`W(r1_F>V;PN>(ji%tZSig|;%7^r(90-6eBM zqEn_+jA3~Z^!*8<$U@ZYa-0t3;ksX)^L!$j=3Lk- z)3Ud$l-bLpMSWfRbyZb_C-{OAx_b+JBQ)f>#xF=0IDg&Uc?BZ$BetLdl_P4ACGVbz zLNN1$Oxt=-=6xMl73q$qpPgqdXO*HypizL)V&g+&LbExjwa55xEmIwJ?Z%?h)uL53 z!xl^-F}LBL!QoJOZl+0S0?R5#n8m+Vjsgtc!*42R(FYI61LRXiEByjl!HmxL+`t|B zF-plyrS0o+$z0Tc(8hG{@1+op6E7nIIZWp0{76Xw#1Zuir*S&H^Pr97y_fWWWAEIy zJ8!(NA-9+h@22DEYoh}>i#rR56b0~=UwGh zV^po}^mgM_eCT;7=AF|-cWiA4_B(Z!?g=t}GRuO%kCXD7-|KM<2sAX2;UOcsLc z{z!8M@J|&0`+fe>BJQaQy^>fg`DYKMpE)pjJXvR@wf;L8DsgusM9Mf zfB4XE%RxX%;1b)&gw*AP^Hi1DV~{3h4oSzFahmApC+inQQ`|yeE5Ei8u9dzcZ zEj<>$#($Ej-_aH4W0npxJR13}%U-d%bNk2k3+J!8(+o79qVubxgdi0mR!!wk7FL$oKSAtxMtIB6ysjuh3`#NG);{sV| zUhMN7X%dk7!>HuT z{bSwew@L7BIc;KJ-sjz^s3Cj_?yp3=OH-UNpI~H-NAIPU+dg(Dy_`p*-A2&qgcP&K z_)Ni9y-Ks1a%&|4xaWYN8E?%Wqsi(+>8XaLs$%wUQe} z!o1T}Dz%!Gnmck*Gu^UyA6t6(L3+wh((bjIyw|CJ@BdPv#70FbUhq zFv&+KQWUYD&bvV}Y&|o+n&%;Xj39B6Pw`+_bBm%^_LCv+EvD21lQW1SOvsShj9CJ0 zrv=IyCLI(>d;Z-LlK8XMCT(EJG5zjtxl3Wo(Aef;mG^!`HLn}PyANcPK!TF4TXPQ& zL*{tgR2QKbOyy;!QzAJo4Vp)A^r9q=l)=gzAWVIc2Dwtd16}9%I#%Wi&5S`79eO`j z@CnO|Q=YYA&Z^a?3xos(iU#}l65W~LYv(6XAVCSe0c&L3?@b!mvS}e(IUIgWK$6KP zmV$q;PT8dAks<%eIbo+_bt3&y;~Eiu->zcY(qZ|ST6CWb^fpsFfBzjz@tR6v)h$OhAt?>JKYb%_!}q8zh-^mwqWykyw2Sqct+0$v!<>ojF-rZA zm{v^-4V1K>9$5qSs-ia|%e#5`){&`(N=;8nXHE5+MTB085?mTiRVZRj75-`Jy!~G!aRi~Al#HKV}s89;N*6Lx>8WO>v|LP#&mP^roaTFNG5B^5fdC{ z^4i7FgsF}Pbr~AATi}}x;t7I|-{;y?@19?j?-bQrD)41>or^Hz%E0D`5O@C0s@nc(ax{dpfqT#lW6yWxFCMB4R~3E8J)+{iFoBztzym+@O|2q9 z>dyLf7ceFgW3;it{RNLrw?my1H>5XqDF{1T$)|NGXsaj7Nk{j@`D`EfJ{$2kDq{NE zFR8j&Gm|;@%$xcsrSYmadv%s{;6uHR*Vwp@_qmdr96j^1T2<`_`dQ8Wta|(T7(pS<7cu5)YO=L(Az)Lt9 z0-9su+BMqHx*`~1L+h`nxxmbmdBaI>0u17vByQ@d_4p&xl7WgumE@(9FpMrG91$dd zg_sUMadg^*5eRR5?p|(>gRjzV9Xblyu)#JM@+hBLeK81$g;XCdKtq(sB88HSVd+Xw zN?06s2Dnd{NBI--c+G;wr1%kwh~V19+uLo0vK=w<)`kSzW`5JoSs34IoBuGbfeFpj zQloiv#QOXZ7Fi2CN03^-23&u2)#&gGrYJo_hbnRU^M1H~6U(u8^-OgGdE4EMcF%&c zihO&$jaa_atl2Hcxjpj{(Kn6QPlTRPHPsF9Q_jYw3+qMVun}bpEMy8s_I%si*im_C zWOd!4{R+26Wmha|?&B#;FH3V?gb9-sCn9vodgeoNpqr_i$7dn?m4D{A8`!-O9Jy+< z0n256`sr(WdXr-m{dbr8q%^+9!CrcYe6Yw&w4^)j8AleW>PL^B;MA5+jHTtlU~f6z zeU5Ob_hm*t51@8ad5?4``1VwdA3sV-poVU(gI9ZI35pZvFeY+(`Lx8x=t65JrzoUb z7myDD{gZDqwHQO?=EqplXYyxkzm;$J;eiQ#A9KAdAipolY6e60G?F5lARpVC--<{bipiF;eQWnSY+ae(Fuu%7YQK+OFUI@Y22w z?!RdnEO>V_VBk2YfrGkji&78Oc~kD&Lv_pX*1l04Fi3&3#Cd@|!G4uI+mn4&y18S? z_fxOc${Wqdjpd;(A*&>=J&hLMjmjETM3lB2EmSn0fn^F57$N9e=go}l=mAbRQ{uOk zCM`qcQNfbQ&ZX+M$vUD|%zl6$gD{e;|EX5K7`Yo=L5 z1#rNO3$V?N&k#_8erLh(dzn3n8g@&<$$$swvJz-ct4PN&aPN|&d zf&*1+WT;YP#ks%}e23#$^0hu}bV3jlryGrG_GaD(Iwa7xVta90_H4w|WaHAXtdkLp z@FE*yR>zL6;+nDi_H~VABXi{F_Vw9*8IS&B={5L4m;63`!1A|L6?U>iJ~rU4D*`~4 zdsiN3EhW|lYZd9^!pZs~nNnCRiQx#=SV(EH$oKS;97=_DUjUf4Ctqt3^HQSwq=edA-1Ab~tz4VTK3V!AeF>V}Ru#PfMd3{ki=cJE(7vlA~iH4l#(~lSb{l-g-GN`HYk+JWeOt}N{8F`bM)`0kr#Gwb04NU%#kDy zkxt|FKK{LWUz#&Kg4^2%VvW=DvE5>;Lf>-QKp3x*+Ml<@0|10%0nOUv7gtb zj9Gs|Yv>wTB782UC!Kk#K9)MTHF&P4Vc*I&$+j&hsI>|fzlBS)<&rh1sIb^@TZs?~VR>Z*;n zr}QwKG)f{t54>66yl|(s*Lf{owsZ3r=I?FnIV8#p2R%Gmi55xe{d#-PHhE%%ct4S@ z9(Crzzi+GQ!q5F|XK+V<>Y3qn^)WsAL37OZ2KWPzsEK0L#+KB&pR&zxNBFc0#W;Y) znSDZtC`CnmFk>1cMOy;MN`L1apj7Ikmr?~vI7A#I#)*}iqfT3*e)J~ zZI_S_!Gx$fi7MA&>+3?J?<0+N--6}rh$(#JQ=Yw7R#iqS*u_Q#?*a?+BP9o$lrZsN zE9M|~Wg_eV0WdJrIDZ}m%1i?I`Z}ZvK@jy51?LvV>aj<4V>m;u^rKif6&KULlRM zP$g-h3nU}*i8V-P2Ya7a(RyVT#VY5s?3zT0hykbI@%nrLAU>`hp0Sy>?o5A^1o>Ew zZ9W9|xahAxqNbgzl@*QY4fp~W-5n8`SgR?ffpA05;d0cjYbp9*U_IxPGENsfDa_8? zmSHA^g!#HT(^KOk6K6=YseTiYV*^imxbJ}VhXw>dZ_hW)U37HMYB zub^y1@->Y#s7Vv$UCh+CfV%22G$iajW{8#=DZQWMe z$6W)8R}}kLQJfzuHz&cu8PnsEuTa22r(tN$(XvfE>V*mXJyQ1x{gm!ib?MUnBlCYEnM^TJ`ML=B46FU@{T zVJ7Z%aCMR3uOO&;aKc$;4t`IhI0&<-`E<=O#{YYYh>c^(0YeMp(3m zdW5LPTvh@pd&4g6iG9u00BL_VB&7@Bv)H<~F3gQQ; zgX|aYIq|ggDttNwp#dd;nR?}i&TyWg7p^i0GP3}Cu2{@0*wZb$6MFsOIx9m6>;@Tz zTC>WJ5i?X(m;hb)`gj}#(jDqHZVmo-#JEhjhd z*;usx;%Mg7Kn)ctfWh=A%1ZS7hs}CAv~~EWw-mSkKtw|>T)qU0&YB1_UF(8PmlQmr zG&rZyI`ScTkSRmNrUz11?^u3!4#EF-=WiEpc{(~D_tJi`JY`-<{({~(2ROaMQw+QP zQo8oY?h7NvfOjm%(WWXt(wm6JoOVYdt+zgTnmwRBQp1?&KaiT zmo>)wVVv=}6*>Vm=KLdk6*ASR^?wfgd9%_;bApfVN`W!$Lb1OFanvA;T^@cXiVWMN zTM>tDJfIqfq^j?EP?R?Ck3XtYht0Nq$)f!seaNZ{BZ{&#f)s63O6`{f9G*BciYGI4-IVR9EJ;0A z1tv4F9V7rCqZVfi;L+ICd;s39MPnhnU<-}hiAJy_!a)$~fkLUQT*E-kdTY1{eq|D| zX6FmUi>?rWQ6;fK%}bi#<}b%hpCc=3GW@+i_%L)u#+f}v@j|b|U}eqnO2NGx8jxj` zM&^r{!bW!8Y8I2o)-=zm&}Gm1EcQ+C!>_hPn+IY1mvbL=^dj)MZJPiv-g(Gn%5 zc?q$d;O_f?%7v`cmW} zU#JNQ-l_2}lVk1{fJnA9+la@f3Ccm;K-pVNr<1@fL67-zQ^p98uqn4B^hbs!_0KCt z!n5FZp96N9IUus?@(Zh(ILyO7#!THn3jac608x&g#HtVXz~GMA=u#W7RvIwK|9$~D zniHO!(>KhMnJFhcjc3L&D69-H!((Y*z?5h zFvl$6#%TQ3tH0>lpJtP;$4t@zFe` zWW4V~By@@FR=MP|reu2~$r5zG9dT6M`B^xfaG$q+b+(_ z^U#%f5(#cKW1w~GUfM$U-=RwVB+F{N2H zCZ+$OiHq_WD zbU%~`)NRnIXJC#tStD|a7EI&hl?Vf3D_S5LT^a^~NM<CB7S91)_cp+-Y*wJA0->64!l0emZ$t6v5QJy)Sj$d8@DWW~vW4-N7EWXG!~C7E*G*EHv`w zT}LWU?E)R{YR*7+N&*E!$6f;r@RkK98~ea;+&DHM3NVUkwQvqim8&xr$&OA${E`Xi zn?4CY7BvwyD^<*v6x9B^4>=#HGj(332wBbftA=}grsB4i>`7SotXdUJDFyBzv{sOD z)LNLr03V&y;gRMLX-kTk#~mNGAync%7WM)R;@(i)V>Hqnwg_-=G^^F-CrUB*fX_T% z31fwznieR{z6WOIDAY@R5YXf$M(K*_n2kMA1!7{dFbcr|cgCJB8E$9K!im$frFnRB z!w3&kh`*??xlN&Bb_CVd33J*5v}(V=*-540BO(>JVtC3Hx4V&ZW2B{pMYlm1`1(NA z@R&v_PA9pHDTjNYDu`>+kX5r=e|b zlgGP`x4C9At<0@7$mL6!JAKBI`8rDarWnAlV>y%|VUJFePBG*#?l)8dM7fc|Beqd^ zE+kaAQ<#XNgy|6{z*f4F?U(Gf&_6?NBya~gw0?Dmw{cLqfc|7?Q`*-b^XBAxONaE< zln^Rtv%4c!m{lol-dGq|l2qpsR=jSM*G#NPr;~!pG%u78vrXoE2Z2C2efciN-Af|~F z6+qP_}FOJC6_%W$)U!V@v9HrDKiW`gM-uS*gMkYiD#k?mr!DI6TUyq5A29d z_ME(euGgWmd-Ap9Iy%X-RXAOfxCF>>HWVo#KE8KQw+{s6H=x)UhoxcTA9Bph-|qoo z-Ed=K;kpG2h)AWx$)R$gtZu*&u}z=a`M8qK$;mLTqF4WTt6Sclqi0w48oiF>SJK!N z$>l_JtA&XCaG(`9%Hla@Rn9m85s&cBho8yakeP&PVSgH1{^O zC##*U9jm+gIoc`;gsemRQ5(0{DEa*K?XO;s#Y7Sda$oTB|PccK;S!ZH(9J4)SVQH`Np|X zT2S3Qu#-2E95N@_lLI%4p`EYZR%n7Q%>AR zzMU5`Pv%A3qC&C2Q|L8ePs|cUlkws&dF$^tuJ1OhIdjLnxU9ewc-z}e)5ze^+-orx&rS62qOEDaWRI)|Q|8`LE?cm|ibvRM1d()F=eG$J#Yf%+B zz1<8c&n}*uHWw?8tNE;J$|4Tq#r+5rb<59JT0PAd^K!q*&GNtpJ#|k#OBHD*?)H7B0Ja<8 z-wT9qwXhukZLUlG4&N=JZ^D&yeybWc-yWS_`;_E7s`2vHc z%Crs(;l!-Q^r%UX3>$ZmqUAQaZT_ne*8drdL&pXFc=d{^+3M|a*vKZ|uOH_UrX{LV6Q4+n*OZn`y$ttRs~3}bRS9B7&FM0z_gFz^E@13BxM2n=!N%Z#4H6_K zzycN{gudS6 zANfCDPGVw&G<@Xl#t=PSL#Z6qe8-_t<756fe?@4{l_kKIc}**xPE)MR4hBEtCc9h2|8xHEEzF5^s_^D4BtH=85T%dVC}R zN<9N}Oa~Q%)r*AF`WaQKdSnG?{H-_R;(4f&w1H>h8qVWpV+kW%rPZVAPkUT=?p~9T)Q%4Q&B+<)i)tT>8QRbhl2_e?vlX59tHQ z{O}5zt@>jFeL9`BvS%I&7m;RT0RV7GoIbbgC=K4zc$H65bg5+BK}VnaL=l5qx|K6h z1rJ$n%<}>?O*M0$=tEq7DBv)oKNP83dck(xkjtoGqvj^ZfbRaNSVi$rG%W}Yh<911 zuhElmuJO@08K&4xktrd=PGSIm-#$m`ohQUdy@i`2eKtT6rqt>S-`rHte;ALIFaxrc z#B!hmC=BdhOa5sxU;2c>clEv655<@Ajwn&DE%0&KBD9YtUKIaeCc z&vK(!a~O#?0dg&5rQ_)?!Fy|({0P~kd;Y%M`;*=2VgV zfI^8{d{wFO$BvbA^&ZR1e80I0D!|zog~ohyux)&Pj@R;l;Y`8S#r$?$&L_j<2(2ig zWFx)PFA7+}<=o!~gY{=DgS<7@uW%qu^y9)8vTH{-OUL+%9aGj0qIVycEc?o z`&fd-cMk-(GO57M*e(`PeodnwA?10;{buYDd-sPfd%LZiyQeF7wOKu$ahrNPwd?%c zwe}t*sf#vR7I5ix?)@(-{b=hLQQFTu+rRM~~oC-|~} z?DehM@`GysKSGWRyLDN2%Z;84cl|e(QZFOUSu%Z5)Ba%IxUP9%Tep;_uX=z5aI`;) z*s*QvwVdNTp@bDU(&vCJ*WA{q;+8#OV%+7b8!9-KM{#sAD;KX0{S+?b5%p zURF5Bbg(k}*!%k?WTXS^twr7S+cAxa;=e?o38FnpPx)>uX$@*haUwe_mO5Gp?aih{ky9E1ymK<9AS*iYhn4Ru_P{(aHtY|?vib2D&^weLm8R);78RKcVkd9s!Zp7mw zEO!mTv!7?zYidHLhBw?ANIPmByLTe0qBn0_;bq%g_l_XRwMO73Alc}S#tqhjq$4#d z8#NJoprm1|ps9{qy4&Xh>Mc9j+h-ceit0%u%6{e$l%=yvn4ScOG{xPSn(&DynI0oSxG;DcFYv_HlU!f% ztddFJag_Z|s!DR8cln{UijCx4Ls(rHc*^%^a*eSi+zhH7FlJQemd=v7OY*063(df(=c?r=Ws_44wdxn3@6Pm;&T%}gKU5K)PUGD<1pnNe zKVCc@Ez@Lngi+hTV*HR9waL@UB+W{U{ z8q?%7&tD@~7IhuDfE5Sjt$qq&`%T*0dxrhfs3Cb5NeONj{fNAa&ALGfRKGMfkQ>V& zaO1Ia{?bYR>FGaFL*R-GkADt6U9lQq#kM?k)K%*hQcil|0~ipo2GWjZA-g>nRneiO ze*ku3NYdpC9BH5vbXPZBLwrZ`hnGfAFSn=1$KA)qs&8F>z{$?lZP5M?ao;E0_j2n? z4~nQ{O`Us+<~fRGK+H`<=tTmJ$+LBghnmdtK?TImO38Y#UagMn26OcgxQRnL5#%R0>(RwTlic1k^pIlHGhy%} zy8I&O!VXTHF7D$bv1}Qyq5*Q6h8?@(M)7e3BpMSv=$+&eWsxw0f{>F%B06rpd7%D0 zg$^hP4jp@3>f2%eTk@GZkK(p&m$q!VwZfVqp;ipchNBxYxn3*sX4kcwvAeP-i%{V8 zOjy4rCa8_>rhOXSJKFyZh-yQPRK=iF=d#&zOpd&3qmX8rT15hX$Ahfce5TInJ^_HX z5Le#orQ}w}o4u5W&nheK7}&5UxmIDRr&q*2NS2G_BE1+99vX0Wn!P^#B#uXz^M5L- z&Mz?^&r!e5(gHaRl7?_yJQrw= zmmSp-3O@Zl@>A47O{&f~{P2_D?0wx)xreJ;7?^;{jWFnDd|C^$g7s_v8_zd>Zw5<7 z(R7oQ2E^L5ISE@csNzugbeti^vhDiWPfKn5iw!nVQV(Q2 zRj`yLN{Iw8z2gAUP+@(xQ3y!G!tMqK!@Ob>Cfy!?3Xbv8VYJ!!0M#iHGg|n$?&b}Y zua|x>eK5GPoKO0?jKli8=7WBB`%)cKHL*d(n5qB93~Dyvsr3+y=zdygb*oKp1vI3+ zrTuFdQErU2<;dqxs7*}-T(A?f;~cEsSB>do8-pu7!y~e*XDHYus>HXpM>5I7*$!|( zPL9Ungn8;E=gIm_Vz=mxB{`F6b4jeJhMXgYW0OU?`OBo~HdA@aZr$N&)*p)Y#?q#O zxuQzo%+HO7$L0tpzs zJdHdHb4uXQcz@B8*)<%zPQooM!x*a_t`frJjBHn_^(7p9$AkX)4o*)Oz)R7UJIgM0UnVa)VC5}@&%d^oy%2|0yzHbyK( zZ@mVFMsJRGSCHFQcvxwa$*m?yF=CU_63O!;0&hm$?@~Mbbnfdpe1PxK98`=Qc1O&dWjq#`F-7W8#Fc7>N0T=+2rMk_sheRy%G{DH z(#}pwW+{g9N(Ho0yiBh|$t?;!5AKZ3u@u6o0w4@njP8}hb`8T6UgRW%?X(!oku^Cq zPP(77%pUx?1M{^}&}}Z&QJWS6l;bm_v^HE*NNE@?VpVXRPlV?s+%>inZiRZxTabKg z(&JLFwL=K+*Q5qYl6Xdxqx`sngQaSPx63;1Bff6cJeV6-nB7p}8g37{ZmW8yiZ1_X za)qi#t4o%Ifk&&!s0YU{i0U+hhhfgeTglxoNc(Hz4k-qhpR2FITesEqr^R+Jnl4v{ zfX^nVWC?QjPvM^3V_=@<(2ELBHQT|$NHd!e#o00Q?1rbcKQ|RX{5)b@R9iVehT&fT$^+o@Q$fM*mbjgFr9~k$=w%!qo>HzA(h~$sQ>@!D_HOygiEMwn%vxtV zLjt5#4g766MLR;Kqz*Y+RJUw@{COTacrhy2_@|A(kvSJ1mr_YjN|G0vKv|EsGRNKKcjoj@%FWmL0`0IW!GHb>=JttHA5+3`w}LhjJn~<@+twz zH2luEz+b$m*~y@p%4H~wR+n;`6j38%8x;IT>frBDvAOnykcxP2GbKPO{B>k=DyU>$ zH)BzY(g9xc6Sr}AmR{{Q49Ni}(OPLD7@1UB=8ukyxH|liq~u7seq@s_Q*?|GZk~$E zPS7wmW`sPV#w8~}hje9XvMHiS$0THuNIWY;OCJq4I^2y<*z(ekNusW-_CAazu1KWdO-q!0o}R(9`uq!rY!X2;r_4T zPbhqoY!1*d{&yLwSVUYbVrcUrFK19;Pf&?tfjA1Bp-(JgfE}Qh&be7mU&{2elN}zx zU>FVo+He>NeQsE14b0Mkb+F;%`Qfg3wc*rc865>f9LsKW%Qqa0CD_9&Tw$Nyh7_oM z63JP?t)QRrE&^P(q9xNK?s3ayQv7`pKFDJWu6c$XS%z5j9VrCrFpji}&QBjBR76w@zN33%RyvIZxWyeJdv zm2tmiK7dqxAw+L)N&sWof)(`<*8uY$kt2=}gAe<;Sj2eV^|Y4&G4?!+^&f=)V5}5a z3D>~t2t9mT$61GlKUjf-%gC7>AQcsESK-{DU6yi!|WLh7? zw2;7MLVIHdcl+Aa`(H-|MG`~;a-z#l*YGJ-U`Q@>OyG2+!ZHnb!XA#HyelG=5X~X3 zG)zCyvkLnj)jZ@9m&3=Ik1Lcm67hMoLkci~Gca_ZU2tq^Lv?I9O1I1PFLI@u4k(wu z$YXGt#1dvVNKq_%ymANW&!73@k;NWl-M9bG`o*sLR^PaQ5*Y-*ALbxJKWLEfB9uhH zwe}to1V9fIP$1}DU=HSfbu$4mG5KZ^Rz%Ou6skCLGYtt_ZWf@7B3pbEJ{?L4hNb`p)tB$Ccb>6B$^Xu;V{28&FMDL8jLLe!9=5$L37W|aiQ=*f7d zw9(N(h!qki#Z88PrmdSx>fQGbnAn7Uo5nM^;M!=c?ZE{v`^j=bAQXuuQkh(#RH-%E zW@N=+?HTV~SX#9ui%e5%vh7axv%QUhiG_`Wi-%7@NJLCRO4hKfoz4f;G%^~OwR8FZ z1+?<%I`g{qxNO2>y+#e0wrpWA=zCqp{mE##N&VK{^M`E?*kEF@%V8h;&=CdnwlMgV z(MLXU!)HGCg(nK#_NAMSD)P!|cYNh*CeOSupqN>SGNsDxWl^a@6{{N6YSnqFUZVz0 zS~NRnR-0DsIz0E%g{k5{ZCitH{OY%c7LGZ7)sFifxOlIFHa*Gz9$E6OU;OB<@0@Vb z8E1Xql+&*1)aRfpuDbMD{`0#Pt9>wV2uLVsm@yrsDzVtPrrb;>Gste5?aZ(=Wc(8) z&N_{w8t>^O)#+=hjZWoVRjFFlte(c*ZdnFPb&orDve4Lb9Cmg~v)i5 z!bTsn52-i?;h@pS!t)E82MhgOtnp);N-Iygy4i1vIO*;)>jT1;Wu9;dcjBb6)2hR! F2ml_G{=xtN literal 0 HcmV?d00001 diff --git a/static/fonts/permanent-marker-v10-latin-regular.woff b/static/fonts/permanent-marker-v10-latin-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..458b4bb132a87ab6fb6a002e05c693ed9ac05ec8 GIT binary patch literal 36428 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 ?gF; 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 ap7NqkSVW6MLB@2?+$x6M`+qPef&L4P6ZZ!I literal 0 HcmV?d00001 diff --git a/static/fonts/permanent-marker-v10-latin-regular.woff2 b/static/fonts/permanent-marker-v10-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..203ccaeb9c2bab914dbb05e4501915a16315200b GIT binary patch literal 29564 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
      S}D~Xz1ggD{L7{ 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 Jo`3ha{{z9RE`|UA literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-200.woff b/static/fonts/source-code-pro-v20-latin-ext_latin-200.woff new file mode 100644 index 0000000000000000000000000000000000000000..2370c12493d4ccf81568fdf873b24b662b0244a7 GIT binary patch literal 19120 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%0ADAXKO~QE-!E1_#4cGcwx7}!dYu8k#6Zh3Wz~k2 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 T0Ah{<-v9srxB>r#ump_&nA~5) literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-200italic.woff2 b/static/fonts/source-code-pro-v20-latin-ext_latin-200italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4a823aa0bc9fa0c5bd28a52ba0ad5e6a3d7f1891 GIT binary patch literal 15036 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 SA9z~|SCQ|s%zM^l0000Yw%O%+>p7Tn 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 literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-300.woff2 b/static/fonts/source-code-pro-v20-latin-ext_latin-300.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e2dac68bf9f675ca2b62e6b39d14b522d7969ce0 GIT binary patch literal 14956 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 literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-300italic.woff b/static/fonts/source-code-pro-v20-latin-ext_latin-300italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..138339326456f8846e33ebf21b3b753a20db1077 GIT binary patch literal 20972 zcmY(p18`?g&^8*|ww(<&wr$(CZD-?+ZQIGlHh-~g+xYUo@B7ugcj`QKs-NmP(=$EY zGc|ME<;BE+fPsFB;sp@WfA5%IKl1;>{3rc?i@1oW7!VM!%@3FKg9kz&LUC~gd1W9V zkpI-Ieh^|at#l-=tSa=w{pbOU{=6}q1}%%^l^K|TfIypmbaZ}Tpd&qBpsXUO0t5v1 zU#sjt5I9JkP&BqRbok*UesphvfWZB_jqp~@4V`~DD4ri3sQ(3$xs9jUk0=5JBuEYf zA6xZ2tl0cD2Idhy3A+eq^%$05JfDXJPB&@xzV&*oOJjR+d?( z8Jms0@sFPL&X27B9~ZG+nqq6{@zbt?z)wBA9}s~Ag4oy@+M51wKYakU{;@H~Cnb~K z!QR>BXZ(J?2Za5f-gh++vxAfAPhG`>9~tsLSU^OFdaS_@5=#jGj4hzUbe+rkDKzd( zp$T$`d}7>-5xU>JO9QRm{Q|=q13oCv0@0|!lg9(f1{esnC7qFoJN|PNINW#8G1p z9)r%qoN2Aj%CybK)_!|L#eQw2T=U zV^W>%^HRCYR+p#yG3@2#U;xx?AOTD#Bz%zlnyA$Vh6Mk z#Px{n`mCO{S%qxUn52-z$`}*In+rJv8 zn78qqp}`1W@qEs?Arekqa0_xzv&%$B9ZY@`&1ME*Xh35}enJ~6uSA2v;hw^8E{0Nn z@ClscAbc?r+BAgriGYbQA#1`wJq&>93;3tOrxUE7qYzl-gW}^z{TG-XYji`zC;|#- z0)Y3e_n>;n`(P?+rb6fn6B|)g%|up-76Y5!k!WQEIq$Iu0rSfN(RW!=(9oj1h@qoj zYRCCt(fW%E_^4k9E!&j;WLl6lJ;w5Bcj_TWx{(k)){G6ngb*MoARr)+8O!^7RdR9^ z`^(0A|7s?r4OqY=nHwSjB?$DM^p}Aa^zu+3K?9X?fu;P|Z#BI}xUpIiAU^bd&C>Q35ooFKS z)yE0h`_SxFI zHEeB6H{01+VI_MI7m*pr%8q$zt}q91TyzqEX=%H@K}KzqMw9g11kq2hWt5GRDE#10 zRx<6Kj2_r+5SU;C5h)VdgECv$pKYi}zpc=ol8+ZuCj`tpphBOS-#WdnIy3k}(>qRb z#~9NGzaoggrDdk~{p@zw?2=Y=Xvg^31Q4MNezF~yJ45;A%6~rmf1fGT;URiw$s2El z-uSKO*w)T-7P@K6x6j?=xpxA>3VT>$LeHtnCS?E)mFweq9lMoo=@<=Sa#}F(qb_Kv_aaYY#W1wB}#h%23q&O|LXLrg-%b@FP(AJA$@@ z9O@zTTTdayJ!zl!@KpkwPa%U{QMSw!>g*ji<}<3~OIZ55H1r!VsgTu- zS`8;_J%E+tCYBc*Z(%Rej+0F}+-1~t#Lp%TrGiaI%I(#Qy? zl3~YWo}99||2@z1tBDHsSHF^U{hU)(3y5{qs1|Mg^teqO4R`g39&UZyK+8^9HHVQj ztn)JDf=Scqsuf*>WAM?}goJYA7L834PG;4#nRVSz#=#!KVzOdMK1%MXDPDt9cGiYj z7IwO^ABJW$&qg7mJas>Fqo>|SW!)n!i>J9vBnxsY^+#GqT-2-N;`J& z)o@XG{fRlqTjpP23Zv-LG!wRxwCwUDgAC4eYv3czznVv;^+TFQ&@GyomrI7>uB)cL zPwOGZEl2-sISjS^TgW{kWkl1hybO>_MD|%w2MifhqX-i(K}~^5hU?9+%+ga+|f`0RtaO|g%cS48BAOWt%}fVUL;L*F|~aVsWB6ukB3v-0dg(ZfmI6 z(4>>a}BayjEXl(%UZXK3{BS z{+;#OmQL&@FY9}JHDeucf%5IJELD5&lnpcVDKclCU}$+~2YG0{A2M>~4%IpotS(-gjm7~U z3&JIj>`hj^J6%jZf7|U)`xJ@~HNwWXE)WQk)pg*r3u`#6AZV>Ba91U^Zcm?p>)@d= z@otM$M)w^)#w>OXB6Tttz(?HN5_I*)qL7)=MawAorU6XPViHacc}TbdMu=u$Us_8q zNTrgjU9*Gorkv%V|ED#raYbI6B1{nO-D$0#(fqaBXy&>>@+(!>!|a*s?<`2Z%w zZ{`jr19Z@Db|8GfO`GLvmM>gtv)iEeV!Q-fcGfX4Er9OGY9z$MYe9|7PT5B|fsDF6 zs)~|L*-#}cXfvWll8S)W*isHY>#Zluao@`SbUayBPbYh3(8e*`mVa*WVB z6f&)Xpxkn{8vK+7M;Yk+QpEVtdKjWxUH-{`+HT0hWiTn zclrtjx+L_=#;&!IhiN3kp-BZ-nD(xD>~?;^+4GrW?k;;4q19jODuy9XSqDLZg@=?gR0~2<+-h8Q4;gJ7617-Xjr+8RqQx!>2m7GS&pH-dbvXY|y1uGSyA;Cs( zWYUO9K{Edx!Y;c;TM#$Y=*aZ<7`V1{VgC$2zf}&ZbLC!AqUaLdh|wYD%&v@SB03(1 z{A;l{8Wxx(f5n>6xF}L>vYyJ*D^r`sz;T4OaiVrP+^uoFB^BdJ@v#yGCP*w~>D>KLl>v8faovzjgg*O*-IZ`EUlKzp)vq-Sgaql(Mc1!v?(0 zmP~-vTVkYqQ#L!>fh+BX1TLB?mS;5?~&!H__U$QI(^9N z<)G*Lz7AdW)f9Iih)!kxX+D0{Mz0PDX_j4&<}zR2Py2_AT#8u7*uA>v(zW=W)0Ka{ zex2oW6+qsxks1g~ZcC9{Qr4WLZ@ID^f5onu+ij59{g6?w!u{w6aNYsi2H^*f1Q#~^ zkuU-k3UPV%d@*c;hP&Sy+OgM~3`b{j3DDJdn?-dwf7!@588b&OXv57WrNzY=___Wb zj5O_J5rwP1>Yr+OT}K4IYE~7iyM1J)H8!t9chaAsffKd3nOk`4T-P80ojMUKm3NHg z%sTHwvtw^!rD>x)RUwYOhY2k@-T5dUS((M-4)nZUCK9_Emph&I$#7_DPcSS+m3tRU zWDfW$1}_7SENuIxfyszS{f|ScsONoj=RTAgDqc5h}%^r3w)nhPN?vba5L$e%kJ_tH-uA zG;h}0#zdH@M@{988nk^ad!Eb(uSehKAGw+_zaUp!@Mn1THNP=7ssiB1K5-Nj{C;7s z7BeHx5;L-VX16rKF>>7M7s-b~Hqg%Qwm!e33pH_-g$zU!5WPJmOe=TMe{+Af3v|AX zNvNSB`wLq)(LB|d*_uvC&m?E%B$-WwQ$gAc19)~Dauc{UJQwF5SAs4Vi_@wh_Db91 z_MH(N_I-L!k@4O}JCi!74f9_O%&Owna=N6szLcGGjHVmD`wfpV8K?QjNezGjRx~0G z9Cp2nXL*pn@_RkrsIxH)Ek|>1eje?fgv31Q8fE>Z?Zw&UcYf~9bzkA1KE}yEBj3R0 zt>0ajg4r^Xy17by=MgLpm>-riG@L$F*Y^rGwsb+9hNBG!lO zeW&J@v!hpSh_&UVZKZe9m5a`?YMWB+F|B;heO4FY&W4iOR1peS{&YT~qJkXZGld>N0Y5 zGya(g);y!iT|wR%i9eh9NBev5!DYCgaK0;Tl)Haur*^#=DL=WWqTp;UmR=`9G)MDG zsb4OUyZn|m+{ATJqf`y^HLI0R%5(Qqm~JZMt_s zb4}5u9A(5fe{K-+m0x*J^S0<5LJhFmr7O8VYW5F`Q{1`f+93t(IB4TM7~UW=qnK>v z{JrS^2$?|TQpDQA#Fm~`8_Zzw?4G&gXW`LErVaFa&6Q5}lCgLj1;LF#*f9NLoKVKhg=TnX|>6LN0BC#Zq>y2IuARey-WhKDEAbd*1abaC>`&bo~;v z1^3%)SvGoZ{_;LECp7<(&`$gY<>isj#(gz30{z+@%$BWjgkVyt`y>%KUoX;RZjw^u zaxw7ZMBb9if~DPQkLa!INmid1tLk0B?HqCy0Ab`fx(V~U{b3`%`uD5^lq4~qjbbvvK8o6%6&iO2$7aSvw!=5=$&ocFtguOUj1`J@M9E@l7P)T4>% ziJ2)F@fuJN#Y?v~xbKd&)JTsi|{gqmkZKrf+7u67fEUi}4x_$r@Y#*yHZ&=*5r*teViRODor zTiP{c>)xQBYRVH-oB!PzBEk>hU?bNs)`Az2D$#XBIVqK$p(6m7sk-9w0VLToCF=1fP(W zgUcH#BCIlFCiYn1fyDMF1l?NSN?g9%*~puzjeb(9@NP{T<9ogRg>-#6RvjVkYTc{f z>!5-b!;QhYHl8Bk6y8xgijJkiZiU;!zfROo(xQf^ldqFQ6Kl9Mo46}zKhna42U~M2 z!j(BEd4v0J3ljd6A^EL=~~cvuw0^*_?aXVH!}XFSe(rrsKM77!?CZ3k>S*t}Kcr9>XzY*BuD z0I7H$j@qZ6ZvMh>%-Ot|bzA-;mfncu40|4XDfo!6*Dc$C((W1Y1jSR|(&9T#!O}&r zUzEyaN$~PNf0Ql?=aR0L>!AM~3IRYjEKbSVn?Pa`Qy#Ju`7B5AeV%7SPLWHz$U5MU zPV;9}Wc$Pe_Jer>1sUX3A?WS3JVJPvTpXur5UHg(9n1ALR#3W;o_ClIt{jNiLC%Ih zBw%)5L);Zyd@p`20%HUo9Y=+^c`lE=}Isv6T3ht z*vj<~TbWenK=O34zM4e!m}Phl!+yoKu93!iXqauZX)31 zxe&0(pR!o2DCqWKL(Ud7ZmEI9WZH&?wPeiC!cbith#dt+Pikf==SAg_6#w{Cfu&Sn zKt-F-B0&j)1%zvc5Cp$qZ8~81XAY5@ix!cL35ulGzv)Ojst^P<0&rDslZpoAg){!% znWhk7BI`L@@Guhy+|R5B9_79#HGyTsef1lp7W z&|{)whfx;xgs9Krq8hPu%41On7dVy~&%|>Xe$!Ya(xsFQ;Sf~vxyDXHyQjxZP;zf% zPuuC6S7GV+eznaD-S}LG9(NFYrY`5se@Bq4xhLYu?`?1rXeYU*r)LWnF1(u#`l_?GQH7UlF9%;F1#AADqXqC-_{wqcr%x zaMEJDj~R|Zf#Z~xmSLl7QPH=5fbN&uh;DWi9!gKUwryOo>T08Mzv(q~+LhjWe>^;S zn8opudx>(kh-GJ-BKnpvFlTMB>u*l^xxB8}ywdVcZ^(FAXv;0fbYgoVd^W3sof_)) zt+LDlXqIT@0VKv{vw1iGTd!h4=@+`tU%Ifyl$3c{G3eXoEEZ`>|1+nAPT?$~=YE#1JPUlt|K=8IXd|*x`~jKr z<0ID`59{hbr^4hl{*#;)KdYLCN(JmmS?Ol*b)7u!rwhA;?yL@ne_f=ySd8jcSo`pd z!Y1UWC>yYwSJxH5b!ycOL1fBNf-S87YT$Vo}~3 zS63HKZ+MEbI$ftSoOzA8Ug zyL|E--~NB|>0=vSw?eXiWJ%`{G=Gekmc?mC8! zbF=r|%+Eq#&)b&AeQ~|6$6nX^Jff0VJ?|Y|cG>xk5SuF$hh(iV8uMTcIPT4Chlf?( z&3M*V0S_Kx2J>2ptY~-7rK)EJJeU~!diNEfrIvBJT78Wkv}sfI@2M`czQT5fHos>` zIh(=zrYimMP=NE^6bv(g(bQ4auUwg|51k%^Ypd&Xv&Y-A7uVTAlQ?Ue_t^-f(z(qZhrNrCyo`rFEkNq!Tc^*#^$9K$_1PV5? ze<0L-I|Naa2*6bZ(637K z043_u&jpB+3Vbs+WX{RP6qA4MInPl}ju(*p`7V6){2zCnRp@+_r(;VFE+pn^Ve}pt zo|Csg1CPHPjveRQ!>BQ{H5%! zyvnKK!fxtt6Pz)l@R@P6~1v53u(k=vzYqkR^8H-;!@vA|zr%O+g@Jqi@W4tiO zWaxW8Y(D1Z6*Pc;h2LP3FK85+)lH1TC3apIc^!1s?ze1lVZ+j3if}ikZrU2JUtma+ z5$L9(!VJv)nK{jg8G$J%tS+Qv!qK}vyQMe1GhL#&nhK<1b6SVbDv0yIn}*0cT+nR6pG@#X(wQB#1-A zg;JG`zp(+D*O${?6CfqaDt;<1ut@NMH~jZ2gpeg?z*Duk?uGcXyn&s~*@CQR7O|KP z(l|IAA{?aA%FLOQWx&s!YALw_{a*;ehXpG)=2S@YMd4`~XYGZ}dRQ&id2p{S$qcc@ zMG%58ExZzE)L3$wcP3ceHbKsnf^)HI1WjL2m8Sfm@p zEY;!@X&y~+E*QSuntkkCVIGX4QcpiWVY!S^II%CkGRQV?PE{NIjuqLS3B*6EbI@w? zsyB6)P$gXU0(;ZwB`4wY-u^5hK)Xbq3mXQ@^^+n2M zMJ1Ek7=Vhf$eivRR7U`6g=87u;2LDo78rf?D|IVEt);^21DFaQG~&V|@GQ~E^*?ll z@{+9JcZf2XM+bI`p#Lm8DOBmR?4aZHbE2E4+(JY(p>mNPu}+nFNcS>J6%!%F) zsmXy-Sf$U^EN|%ZzlA&SE0h75yuQ3ArEI&BUx zAlx(XWw(8N!T%HsS8cf~Uv6c*-_Q0=ygMFy_Pe5cYCist8)s3Coy#XKVDnN$U1(YV zH_2NrC9<#5^YAV{yIE)U6V1tIUd7M0*ZM$!6?f9T0j1mw(bX431?cifO~5%%@(MSv zA>X5>@f)13{p`~ZOoeqFX12u*maBqW z%b$5%a1{{rw*Ox)o!{^mXq2r@F^<*} zieEqpOZPDjvC0a@i5`vy(bfCY;Q3YLeUztZq|t3b#!DRLYjJ+zB66wHOdP9h8H{iq z&uccd+h2{#z0N$;y@pMQP9XGZXxr4aA#d0Oc;mg{oOR`}l6T4K$Z=#ON#vya8q94L zNcfb=`+`ORX0$5#0p*B55Czw9`9m$HRe1y2W66VY4!g;sd6z;oGcs|TJ_QmpZ zqKqZy4^oSHa!<#2e#1eeOISQD+jgX%N`lN|U7%s`k6m6)UWZ2utMSJ7HA11=pj9Q; zgwV2819VJ*^AZ;aMf^RhCcTX3mlKBLu{87Ptj91rR-BCK$5Ze+Lbug@zZX3#`OMUx zL;ALAN6CtmQ{An+rh(8pKNM$)q0j@JDC4jkyzqnj^O@uzs6;I z5G}i4lzmOJY8(2j&cCezaRJo=()QWe;3qSMtFm%rIp~4wQ^b?xFn+~;s|Ejr+v1-+ zr}8qo0<=mgi@LfWkV|kmObsnK{;7S5sQjlDA+YKcK}c8&4nq5H%Lh4^g7KF<>huV- zxJ2E@Jqr&*#Rl5mM2#zAQ?-ldxX{Djf5l^B;a5V$of@#FOF}6yz1@PCnoVutg_*0m7ExH4+TsIUp5@Wr8Ho* zs-mZiPGez_(9*LvAdA0q=n4^Y-U6r^F*Fu)_T5Vi|F=U@*AT_;pHO91RzUvujElpT zlit`ETHo+mh)TXbpen;w3o42A=+X7Oy36RZc*Q?H&TL7BTLjmsgs<>~uV%3ri`q^_ z^U_~(;x{*vLAkzFNEH8!OaH6-2O~y=nNU>+5zXzu{AvYloAII!f_`*TUvH(prLz?e ztE+CK)z8ytp#BoUt#Om@pRdintaWG-!|#;LZVwMLbGu_#RBwF;BBJq$T3(N#^>6(( z_1;!T6U6Ii1Ngl~tD(6_Y`TVDnk8wdl=b*ddk%9&foztsYtrMkYqac+>22bsM^9er zodnF=$+w7*5f5FOl3^TOTi4&8dz%1+&gY}4PIhMdBiR(g;zJ1OMRSui0_vA&pZxjJ z{dqs9+jUOj?E-;{n5&x>CaiAm%Ice|!~E;e zrIi32-@1sSV)!vIoD8?l^vl2Zn+^am;y%nX`dP8FHog66IK|TrUtO&fS#C&(!}D!> zk+tf{jGnY4HgxW_h_55Ax44K$MiLnnnc1i9Vv(fCy>bcH&xuLCY$$ zJS+DPB4%~>?$}~9Ld2wexnX?VrM)Jn{;^?38Ta+xu&rhswn!va z3R`#WoQ;gZ8*O%AHYR-H?Gr@bjjYS@qvJ>0c^8z{M9yOfY{51zJY^9oXgRPBwa)Zf?7~Th=_$oA&lHx@Yo_0V$?PY&p8PJ#p7HXON_FyPgDl zjU4xCJjS)9>pwkX7>wNM!zo%7^nz&|++msaeE8{Kp;;=9O0b6vOQ~i7u@cNw6m2JU0^dq+net zYdeRBNocn3sxS9&;!yVIsYZi~qBbrjuJ9c#l?lKd2eb+1hw81ym9%^T;I z{MgyECQ|I51eb!{^2_bNA|uhUwS2!^4X1xC(!_2ZRd^8=AO?EDQY)fOt+$lyVy;Mu zt|QdOwYW9O{Dc3x)CG+~wPwh;A*+Itl%1H_Y~f0=lz$btX1J2H-*Q|NLPlw-!Ck@; z2X1jFDds9#FoE}j}!*w8iokk zuY7}m(KdNX3p57BP(0=#8qC)1OVCls?(c=N- zA-3Qmlq{Z850KFq@nfYm~$ONjuG0)ODlm7_ZGm} z*}1SxyF7-C=KPr|g~&%)O&j@?q2C1Sft9Qi z+r6?Dzmk#jU@@uffaX5**RW56hXc*Ii6Pmv_35(H)H}fum$R0Y%k%ZfRePRRE8+5J zIw*C9D+@IAz$4-zr52cQy~2kqQruxc{m*Gfbm-9f+sU0IiT&jg=}|~kt54;OjXRB741)v$c0E33o0A; z=3my(h+*%MXLY2leJN+IN7-9;{tkjP?PPtW+_t=hyL{>1MA>*U)H!;nD}n_G<}3rBkiL4m1gKG!L({dV8YE-6VoZ!KdwUZ6gApC zIuaOny{0$9bJ$-!3{i;hRbm1i^NMyiF-OAl?%(z@?)v=dp-IiW) zY9!Dr8f=$>a8-JzdfE9Cq0G28N$n*h{Cx)jy=-7*CL0~|JI(pL+un5fpgN;OjJdR# znZSHqtl0Q5$aA_R2{65DpWjr7Yd?LtnWLx2#QYUVc@CI2(&_?f0& z_3sxuL(Zj|r4ws@A~CZ$M}%g<>zk=>LBli6UU%SbMGkABHf*Pczd6N@iq3H)RT^`{ zIC)8Z-?T1P{{F93J?X9~b?MBa60!tkNqH34%2F=W^ab1e!oUmOKxfE4?55!?c@ODF8758e9U>)O#eMAP2ReyP)` zV3M#cln*5ibG)(%bx+cT6X22bwTdAMK==a7d)EpmFGzS>3Ia0^71AfY3@LQ);N>IE zCqNj&2#D=Ykp)F3eBWzrujip+f*PZoZu@FGdR^fJ~&DogwEY( z(FnjQcuwjB&JFv%oFKSDWP!GWOF~wtiJx?KhM`ym0TvZbn*dzNZYi8hqG8zI%HsB9 z)C+1*$d7P~5!1rY@u(7Z3=iHJ!tvR2_LjAJtDdFr7*9*Xq*l(5yJ%SV&z;1*dEQN!lbISShdBN1=L?}6q$kdT_2$uScqBE-qC|W)q!B$XRiA6#k zg%fC;_)O&i-vt@~a>ZE?jYG0oziZG$%jRPB8~ywleeMS2#J@T#bgRrKT%Z)Vy&n0q z`*uMA%AiYCGf4Y};m>l|pz<}UiNWq{>=$_yqP?LV*T(#Jbw6oG_rsa3=S0{Yf6bPI zc*Mex>Z!2#9y>JpY%t6G5@eR4U00KJ??TT5cbo=0@z`Rf{Ur+q!KSDFt1XplT?2aS z9wrrz)Nj?9+~8-D`U83P4@D;O3`WA&W^AW&8f^e`vyLhualF)BDegC!;GB2qBuVP) zX!U^^cEBQH8%lG!)uo6I1@Wi_#7aU@M4HrYEn5fDu*@GZ-BY_5xx%UAQ>8f3U$zN= z3iMa#u?7!)=fZ+~Y82P>#VRgz{NmD1Md53QI5|^*)+0f6mvx{qm91Q{5N<(!mC7#! z3-~TrZ;l*x)EbGvyIg1%;KOE3OW(9gP6Z*CY!uxDH>h?{C>JSUZ-3>&g8JV$j#>*` zs?sjedg-TgCkry&)%jB9%(JU(tigJF%Q%=SfaMbvEpq@g8a9o!BSw$NT8^+J*gH^Q z!-W{&h*TYxE1yJ^{DW9Bxh&DD==oFm;R%^H$-B7$BU_)25}6#k$#I-ll`hOYxuEh; zWU+y7n;$@W$cIO2AK-}c$SU(xg68@PVk=4(|D;#Yv%_@QY?yi2J^Y@kwUjfq0k9tD zeU-_yJkevdTu-Ih79`wBEjOE!Kd};Aqka3bgv60!e!tMS=eU$6^=KZYY(Jy%!0!sR zI4e$O&!5yyN<1Skocf@}IJ3r(t5Y_&;ub*u@N8x9LDCt;mDQ~=C}p*ib@>-1C;E>x zg+<)MOj8D*0qxUg_=w)CKU)ko)5){38rXVx=-8MqeCSLP!p2X}^vdS8)$35qReEyU zNKF$@P&xk^I+11xW$IK@zW;byBSRuv;J4PI~61awzg-(2in)XB5YF>{1M&di;$sx`HiTzH1^1c zbo&`>$MZTR%2-70W3q&UmAT_c!suE3UWD`js=l;qYfUtFKTU8Xdpm~6fS`7?DIB@x zdrp3``jr*!6@i|khdLl--Ro;KrPho+x5s0myaVI$$$m=90J~JSX0%k=YdEhF<@!on zk$p+no0b|j8L2bS?3aq`_xr}e`YdCnRt%!y|J9$58@4Sim_If(rl#?;C zR7%X3j_559BEU{#@2@fO4(%xd$g`(Mv5uCbuCCu6nTfQG#a{~*Hs1EfxL!HW=Z_G@ zVsBu-_(yfjkg`K&23q?WVzX2+qs5maX zZY|wiYphZTb8b#eA(?a+G|Y!nU4qyNN{@N zaOk}B7S+H+%OQv`cZi>jZY08Wb~jC6Ifu0zdTqCmvDf??A@ml%%rj?0WnXpxz6XM> zoY}S9c#I93;RyNaqGpj|^2((DP>l$}(sCnxknUyZj(}Z|J{A6WwqV?Y9F!09h#Lji zpVJnesGOxP;-a^`wJ$@Pe3TeR4WR}pAJ&3&AUA_cWea~M&k3g+ zm%8*v(@WaNS8WhDdp`W8GantWTw595EhT%-kgkOAMTkq@hr4ni>+}#^5@Y!m!$OpY z^yqGDFXbY@hs~~WJL4DSQZW;q+_#--1>CYFj`WFgHd9+iHI)e2wU*vUY?SrX>#e6C_3RJmrKd4h?J<-iFM`#bQnAF=$WUi zT0;okMCDo$kQ_IRnxL{|WHb;hrd`)w7@x;$AV0RDW#LddWybcBmy8`|8Y72EXxodD zx{0%ZOppWL%z=Mcp>qsgV-8k>3*xpdyw~xl-c91U8#2 zj`X9zVrsW2)ure{B;`OR;hZlq<+-)M8w|scMNcjErD2TL)_n3yhxW52$I5Gi-qyvk zK9VLjPZ8X)cqY_@Y)(xSsHsZ?X5v>34S3*9=fSaaM(3ZjCeyPS{>GVPUzzesl-gyp zszyU0+r2RMmXFbFCjQIo*7cz*tx#fn1V0_beo=87J?1T>D87_KHH0~)!MR-Ygt*{o z*0|)Mc0x}d_xI_|^AOsF;thwqa;ojT5ygbX8=*dwFRE?5o5^#6UihUq&p%|=)A-Pl z1&n-D$9uXh8FID7FKW!j74b1Gs1#AqF56dhVl=dW^6Pq3z!iqMOcS;-?trFHtA>S* z3cX6N*nm?Az)rhN1bMIsb8}pKbd{>ruT&LZacWj9S!@!S`A;l&3XxZee)&w3ZB|x| zTb>x_B2E}BCZ}`_Nx3{vY_J!v0qi$}iZKyl@D=J^r$&?~xD+q(V5dryC&nEQ^`K8J z#y#H8b=yvF2gW_c;D^NM{ioI>rNY^=P!8dOk)C*f`sn>QiyM}BNSeAenpHXb?EDMK zAJ6KP@uC zGqSYziJ5mSSo;P3GF8ZMlwFpciv5~1_Xqn2?(rgwqLKa6oCl3j^*gc8Ed+fy-KIPZ z9c=wsy?`-Y10s}(P>6wBmR?td2?ty`VJy_6`=Aw}QPoP2x40dm#`iNh0(MBvt-7}S zG0W2?*9`8glxR2FR@DJ*FB{&Yg!PQYD}*?*yRlgbX}1_p9sGrnRE-gteYlac6z$Zu zJplQVYRRHjtZ8vQz@?j;FK7HIK+LjMCrq>s1v;1y7=1sdeiGzJ)A{{1(Yuci4ADpn zmqPj5 z7JZUiaMv`>oTCp(&du?~nu0aay6pg+va^h&`}*65fq2=>Fh{C= z`>bDI!cM}*%Q81FL@YCUtLroUkzwTSR_HZXdvt%YJMHqm>I+1E%OkQ7BLkzeJ&=k) zUwqpLN~$#)Un2EEl73NyTL_&ZIIVMr7R=<3OoOe)+Nb=fS4rPikw{n*A#d)vbDfiM zqFGtB4wak3iMd%lz6TGqZ#$Il8cf2`D+s|n74?U3$%h3;{asQ`3*WSn%!pHFxDY95 zy(vMV|2@OsVYRP1$nsq}(B-d1(+gj}$7Qv@B#(Fmz> zznK@pSi}+YYCp<8j9y8bG#S|JgTr?;5I7)!!=sJPpABa^5HcwwQV2P0Pbp@CSkrH1 z)`@h&d3hX~UC?wPZn(ppC!A95{0n!6S+j4~Wf&=kRG@e0``=6RBSi!}KQB#~rZW)x z_2frQ&}uaa)hz}m*x&r;`l&<)yxF8M^J$Ab{9nuO)+OSi4|`w?j{)<5J^qjU58EWt zgDCJ{pD$*HBFJ*>(^^C3vHTTKH3Cq2ga_XDiKh-?l?~o*nL|d>J&Q}{PgtlqvkFvg zvXLwaJXU)~`{^bGo2I}2#C`P|0c#BhqyQ}C z*1qr=Le+3{4J`}}-nRgupxa1vqUsXkO3+{^17?yZ30j()p$}L@vf^elFQg5NNGZV8Ly%$wG zV5teuZ(DynZh@k9elal(bJ(=c-1AUeSaP`z4W9=}M??rrBh@T3QF^elsXP{)6lum{ zX#9`=gqBWAkYU zi1Bn-QZ-pHvR$#hu-kSnJI3WP)U2smJl5wiwCL1%ILW(c=>sve0FQ&e1k7Fqtcohc&_>1q3c-<`kuI-j?)|?8)X2s^&)4W+Q)`t$30`wIK^7 zZnsywf_!UF`9JAz`0$1JhmiMyi`NRrKMJFSs?aRWqIx%4b4CrrBc5M2C^E|U`U-6Q448*B>{e3^V95upI za~Zf#Lqed=_nk)Fxx%bM2U&oV??tg53KK8lwUBwc3An=Zg2~mGAYJNiTcst%zwGInbUw9hzzgFL;{*i$iMt~{ga}O z_YHEk9puc5p0DgfOR$H;3#*HRwfq#M?}zjkDtl+8fA0&@U!*Rqr`O=WG{3xX>+DYS z_v)Qt?vyi?OeNVQ>tvDP(MLUxKDrZ3T<}Ms`YsQ#lrt%wU5lnr&f%a0`}eu%Z&(fx z>h^EJ_$D1XMnYJs4A)DJi_K7WVY>=xw~3w3OSOaYipH{|hJO-vH|l{*JMtt)xa@v;81Uqo?~Rqv=~s) ziY8vJ5ZihdMLZc*qpYb>{184={^j6!UjcQ-_nfpkFP1eU#A8vq!=C0%p{4@hzC#*``cwUeV(*8Th=iN7m#q zIg>h#u|pPI)rW?6uF17Tx9!-x!eO&4UAuX`Kj;}ADc@Ndv{^J3R*)q}DvQzl&_^DIPXHuw6=X6>Rd%X#F8!mM~ z+9ZCN+|oRqwp)EUhhNt3c2cNbA0qJ#m?%MQIX_}A3a&CN7vnbelFOI_q*eYKKTmFS zCb>{87i!d=8(O2A6yxWay?fOgC{*XgjNH}^D_L>v^bC5?WarGRiEnf?7(!Oz!^}50 zXk!3(Sv}T_58HEYtH+Y@Vq4BbF#jIEPHx(xxEYu=RZ#DM-#0joW=7{~wl!t_M&4-F z>YOrbLk_=gugH(PZ`A~w_I0%=T@NZECqD57CMNJJKG~nM> zHT>JSm3W|0YWN^hk*NwmwNmR7X$^8+Fz!9sUuzSHx4zb4M0*hJrDw6pR7?NTbvmG-?er6t4GJG8WCv zpPXHmQD{vXrN%G?Ff=NS5sx!!)~r!$t@RLKAthjj+q}O3R#>j)6bco0om{0;!h?UL zQfTxlrCMJPp)l&f?dU1|7lC8MTA3D1J~S|FP;BvwBz|uLpE5}#jwo(7HyByH9yyTO zVKh2eC_MF$3%juCFsq6-?o5FP&omY#w zBf)0aDhfN}xu7XvHNt~E^X^pvSZVwu`lD#m7mh1u%)3$?KY6^X!!gp~0`cgiL^WyT zICxOhaEet14=$*#=MKXIIYanmayQvAIlJ{ITlMhZmz4*(GvE=VqJSk(<66EXOkmIu z(E;b{F2aS&H2e2!FClFr!!MFs%je|VMwGx=+H>)XpanK*_mF(;*oCGlNjDGN0ptT@rW%HvRTZ)L-gx2qmx zsIRgOV%(LDM@YN=9VGJ4qU7A!;e0vrlGbDuN}U2^2xLhJmoZxmcw8lCIF&-JuZP>1 zwMNivL_RSRee*wp9I8RAL!MwxGJ>SaiG-^3^>B-J5&+d{&iG$dRG+%DB)wrw`o${Z+ok#JD z^au2Oiq8bNReBpm83C^C-*W;ab3Vh5mM7=^22uqY|$C1DgM(8x%90<*yVmNa59Zn!DZL5YsF_X=ZabYj9$sYOR;OOYQrXG&;J9; zy(`oJ00001000011Q{eUBk^AkJoNwr1Lyz%007(^bFcsa007;W9-#j8{yGCO1S9|g z00sa80000000001000Bn{_g+)0$Bd^|0e@61Ly$4|HS|R000000000000DT~h0z0$ z9YGX@;lE>NZJTc=_A0h*+qP|%<5Fzfwq1yAr*n6r$*Vfl3V zno|*PYy?u0fp|$bNRrryr3V$6DapfN+=$1ZqSQ)^!5xEv`ZdYSCl3Zi$U;0lNu(ah zw8Dm`zDlHim#RZ4$cK#KFQ4CBC`#p2RJ7xb(Cf@@ONGqGG|(bJ;$;f7W28=h)87cj zW<{(WA9~P@9-_XaVg_bPOboW;X5m69;_;yj*@#b#ev|@3RQyZcF_ocGD%`F9&hUWQ z2ip6+yC&va^kx8gOopB86iFS~$*w=plRWekB`Bd^kZ324G1Rk&BRK=Duwl|y|3{>S zjVu`YHO=&AN>QFb2I5Tx3Stn74*^tSC{-xRURs;U#C|rhl4KRd0p-CH)-i^Ol6@?t z5hZCQ67);nus}cH0wGMnfx%?MQ=UI1>CF-9(g}Z-QMDerwG4 zagal6YI-Hu*qy5`@{?La(q0W#n15T{1Jc4 ze+VEVL>!S^WDs-u}vHlXT){!NW7IyMv?JlDw$Olkfmic*-*BT-Q_-c zQeKhw5pH`7P;g)l)lKAaUU4WEafBCH7dyC!&mmKz8F09buni(ImM%I1_) zSlhO3+qP}nwr$(CZTG1&009T^gLa@N7y`zF3*a_*20ns6Fb1YW3cJAma1@*h7r@nU z8$1Zl!0Yfad=G!2D3pc>s)FjHR;Vi)fJUQfXdzmIwxj##75a*^-~{Z!8qSAH;wrci zZi^S;b$BN}g3sey_$mH?e{<1X8b>%c*NN-Pjo>D8^SG7V7H&Ux%7QEoi{H}Kvfi?b zC%l_i`Mi7yzB1pCZ^L)z2k~S18T?{?9lw)5BBTpBgu+5Op{CG8XfN~@HVgZNlfo6@ zzVJ%;O0tjyf{25(Ae~7+GLlRox5!iSf&8Y?G>sDKrYg-#OVBE`K5a$2(gAcdokkbZ zHS~kkYi(g2X}xUo*_zpg+78&W*sI&;+PB%CIJ}NBj$w|oj@QoO&T-D=&a=*&&Zi<3 z^NA(I;o?Mbk+@d8EdF2-ESX`(n8`}8%B&u1#@eyoYy_LgRzS|M$h zj!2iJXRZhrbq#SXcKvpjcK3B(a)0$?^2B&jJr+*)2JpY>yZOaDUu z`9NBrSYTk_U@#(R1RDmY1aE~>LKQ;`Lf69y;UeJ<;W6Pu;fLX`;lE0h0u@Oyl%h&a zrJ2%SS)*)MPAm76A8N9iQ!Sx(R0pV|)iYY6#RxCIBvh0r7a+tdccSbwLfBq?74LuWYB9I zr&8~YI!+f~InE%7YtL_LJrXOoC{j!TX? z5$|d=jIc*Y)guno~kQE#AH+XKE}|eC~Rq(Be7wC3r_4R$2C{XuF$;W5ov=R z#UY(Ur9F>E+H?Z_^fD!SKZEmk?%#P=eDD3^b(#-ui}s|B#X2L*hn2^bJ0WB%XD>CW z#?^P_vQ5NxMKxYXhFWzrNR2c|^7^HHe|!qa zoFNs?kcz1W0GIQSO#pb>V_;@r`2Q7%w=x(pFfcGOpaB44jsxES006iF|AnvwjQ}Re B>x%#Y literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-300italic.woff2 b/static/fonts/source-code-pro-v20-latin-ext_latin-300italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..43488ead55f2e4135718e70f81b8e046ae133e34 GIT binary patch literal 15768 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 literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-500.woff b/static/fonts/source-code-pro-v20-latin-ext_latin-500.woff new file mode 100644 index 0000000000000000000000000000000000000000..0a753698f0bf71b09cbb397c25b744d23bf5249d GIT binary patch literal 19944 zcmZ6y18^@-&^8(yC&`Iz+di>v+qQLLJ0~`Nv2EM7Z9BR7zwcM~es!nz*{Sa8sqUTb zd3JVd*G*1T6bKmTr^%cE{rayD2m6u#NAsWbe>X8<5m6u@VCx@U@(ZAz@&d{Z-9WneY?_d;mr)3esoa(*+Bgt{4%rlF#QpQfq;1B zfq)#q&a}G{%}or9fq+Dker(wO12)kbq4|&UM>p{!KDGiy7eA3L#yA6e%=o%59Xsf~gAk6&q)pK&-pAOQIbVrgq&WAdZ>@d@nm6Qi_S zWwNEcos;v={EhtBp#5j}-2%jH?`ZNfR%Yi%hWroa5K+PIYw!cWqJh9be|DcC2vTwN z{ej@R%fh(?EC?_zzyiXyZGR;>M*u-_3Bw>Mkc$)K9`6h3LjtANj0XX)M&gLZ5DjNO zP@4JRwT5Yn4vokhq_lU%@(AM*%f%m$NF5|M`^I_;^AYQLKg%7k-=Sx5U8dD%b6*EX z;^BC12kN$6B$w;9Uqxqh-L;7gZ?z5jMI4a@{RHQ}#yScN(Wj3AH1k}U3>VOYcmkD0 z7y#}ZkOrf*i|$;2uwY|JE9$-jt=wdJXsd@`^c3%Pnjn|8!2X<3804T#@cVe9L3NqT zZ3*g^pn(DLuM|O(FCTb01GMXxftzj#PMP1K_+_-H=KuMUi2;q$QTQ#g+;+X#WCLNc zklTd4&=d`bz%FOB9F(<;y$qj(9{PA~<5~NY%m3~!+hMwy!W+f!`@9A|l+)#U$Fon5 z)9DaC8U+@D+;q9cl|0(cetqSeSD%Ox_a}42le9i8Rd+a6ucL1Phg9F5_Rw?*vHG0w95&UnE2|!M$i2*5O4d8n(g7sv0&~k4x$qtejcBUpFP)AD8&w zZ`0pLsa65OM`>~dFC%6<*xO7D>y+!iK83H1X$3=wBY^|9z#2v@M-(sQpfdW=Nc2~P z?ZlPQi*Mh72pMrd37BFa+;f# zww8MO!!Y=|tUp)>y{sV7-v~ZIYXBcCfJ3do8V@5JyRRAPg9#!)kU>B|ATgBo^(bd& zEA#=zdg3$^Qu|NflFST#0VVwD0ZhJti!*|HNJr5TAjNS2jm?9nyRSLNgWk+2zzuh= zk2kH;t~c4NvmvfF$*nd`DrF^meQSqa_*R?v9c4iPSszU(rj^h$s$O)V9UJoO5kSM_ z!BG{^av6~f&AF#b+?yj+7V9{NRL$D7$;Fx8hHm)->`;LkCIjz$9pTv zo{2M`l64x#NynSi32s?ZP3Gp8X|R@{&DUw_gq~aKlwiBm+s@;*i9Meq@n(~nq*Q32 z8EYi5iYzTCKmq&bGmPcKtmVOq8Z7?vK%1jlv$)sJ$7mCaJpu3Bb>2SWe6z{sND!Y3 zlXRt|LMv#9ihKdcI9**dA$U7Wmj8eX?7LAa&^^J z8`pkRo-EaAq1Z-uzdjuKEdL5>1!_vYWabWGW^kv8Jq|}BzoXLaKX(VU+XH=p-|B6D z3G=xE(>uWa_^a0{OcyS7SO-!C&=65W_1ls3y&ddU3BF}F_R|m*JEaq0iBFj`T@&<5 zv!JWY<7}A!V$0cg#EE$>HSqicbN~c|k!pRJZS!B^{@>#X-xTLk6uq@?us3H4v9E35 zkPiL}28L@4a_h0_S^G4dApgAM>S4#uto19j#qTfw#@-Tv_D#1{7PhcMJ$vS@5OF{Z zA?>NS90XHBFwQ{{7%8O)Ce}=xD9bL155@=q1anYc?{t(2=D0>L)sy|0VCFFhdh38m zl|$rv#{p`!$9c}z;r5pm_kP+yAsKTk}Al6AK`Cb0!H6?rQfr2aSaS$ zlW>C?+_Pgd4Qx@n7G_{v7~xN%h2^uShAf^~8C^pq%?>gXnA{8#Nl^^6{W62@%#6Jg z(rmCOlVi?KjQtxEZ1~KR{eqEoJw!B(zo}`5EvajUA}Sh@&nqS%%IoGmFB*~FIjmu0 z)*^_T8W{NL6ccBQ&B_}`hTzlR`H5vFJkEESKma3Utvu;M< zt{A5~uiqxasb?Lw>4#o_D<@sG0Yz9z3S`@lo5Z~aBj=u#ki9L4^||udejjSy2CnQ= zl?VFSCwzYcA-b7ZwG2j)UiC=wy}0})rkQFb=HAT?EGoP^k3`)>Y!ZTBSy zcxmPH+#oEi_1S0IYntI0-DqbOIP*BOc%OC1RTx1h_eJeGy zVoB|mA;~X^L(f8@XiwQHTX9y?|0**3Q!Jo*4N3uw83Y`K*&pSe& z$2VtLP+{(pe+bW30~dkKt#Ci1jqT~Np`jV^X#UeDjmNj6i+3Zna!;jLD*=?Pfq&n^ zQXe(IyarlG-TDZ9BRD7el%Zncq|ZmU8^1*vBr=%k?iHq05gH5_H77PjY}qvPv>$?4 z%0_orny!s9YYUkfJ6{&DLKL6E!5^8hICUNv z#N7W7By{ARPRqmC?ATzOo5)5A3;SP#$jyGcTxKRu5jpzW%zFD2qCyqqZ_Hd}M~p(l zcPn15P#=)wdcRzem)lRb=k8fVqvycdMusNCE%j616PhPV68-NW2RX!=oIVbSq;dhy zQOaiZuRurqL!-jnuIlSt<>|c7NYMrXl>tl~Yi9&um#;HkJ=O{|lc`jY+bFs!w%>!x z$~p7nzNYpdQZV^QcCj5V`8&z!FGhxYh#&4xW+WjG>#J%87Zf3cO)O~YlmN7mYQu-W zurs9S+B30y*Vkr?pBSNB_poo6{J`au1G11XwQq%mu}OV!{nKQLOdD3(gC|r`@m#Zg*@cr`<>{P4$nOKabu8mL$kEPoG1Au{du6 zrj_Hav58Vs4MADzQnv#YNV;|Jc{(ps0U)CVsWv;4DG&R8z1Efqn?4gM$h;RjXNHVThj%QzQU_{zoq-w@rN|dPW3}=M4aSdhq)Ie|SV?Kyv5 zi>qj(p4=!_e+{?rYjjlFHqKx%sV=H4D6`YV&0?=E<*fcjup4`@i}Y@ed%b( z%|8&6Ar(0bPA{xaHwMOJeR4cEX5m_GW87YypHIV=;%&s_&pxxW!*#9c&KuknFAV>r z8PEk=jS?bj$en4;4G}<*x!w^H38uoGVkB~V=c_Uucl4`J8IChDoINgC(=pb88cV8*p_@;^IXfW zS7z$WCF(;-fDOb6HKLNaPWwmo<8kR=533-GoOuzh(&L=j`7rB9Sx9Ki5t91>Q;jnd zvR6~to*4<6QmBw9CZ!HBzkLOE)*Wp4t$^k%)Ic5apbF!g)Dt!lNsgJ8pefLs@#q_GCm`X>YwcH)9IQJsZ@NlskM>H;OJX4xg>p9C@_@*$ zhJN)7hS^-QpGyP88;K(Lp=Ia!OmwJZk_sh{Hw_L4)<_YI-PQQ6Rs4;zY@F1T+L)u` z@}8bpY7yXeUU%lmZ+uQTK*vg^y*$^0<4WjJM&y#__Q(N3rn|W!DQWkbeu|+TopQjB zsmGS@u46X6u4#4Rv!a$r`xi;H?zl=@dvn%ARasNcmRM_=PMijj%u_|y%B2B~U-=TL z?lN1Cz80Hw11>(e{1oph6{?^yeL@^i9V;N(QRlHh9Pb<+G`sUKeKMh}f!0xH64Dp= zs})i!=y6gM|7P+V#2&RER}v3KMPa57h}11$rFX+*(8+T|l&rSwzG0O@Yqe=sv!ybPYs+D-7rS_ltC&{yaQ4vtR-=P1eM_*l0S*7&8e-(wjnP*D^ZyP;iLx8<_QERCwLgmg=sv)YusfQE7 zT28gVHZ-x=@YibxJwk&k^B848-<~1E4e}%ve9Sd)wb>K%orsAnpJh@vc5*^r2*`!< z3(Ho339kR8WpYyIaf(Ay?U_nvGrNd{Vd_#7WTPq=VMO)FgWuM8T0n(8lz$N4gqOe8 z4DUfL(4{^MS&0`i|Mpq&un)`PnAz;igOy6lF_i&H#;k8l0&6yGk<{yh zx_==QMTwtHn(Vjh%b|Jhh^D6^)2NTrAca6%_YCvtnNxzTG|uEe^*?gjGX{p5nxez^ zN_YhnpuKkM7rqs)m=l}|eYTMwJ4<%cCl129 zFcAh|Aw-)xMY_^b*UDAFN48!F?|K9weyd}oNa`dC9;;SSl{l#x(vVXVSIMIAan92x zc>%3PT?@PA1*J!B7t-iV@yRC%5f1=Ulm4peVf^fWT2nC4nd4XWz$MyW8MBDm_7&vIja+t><1DdZg9-rYukJ-4Q z5TbHeq1$8Mo4y8QRDwHgCl^(nvJmdRr#X6N5}QlEx-G3k#t|2%(#r!pG2YAL*xS)_ zA!^VYV`k}HBt~#>J4OPsU86>Dc>8kbJ-rgqiT#@Ft*b%04gbQAtwmY3_;Ok@Xh&kI zQfufYJr+vYi6?KpN_&}bDZ;}rnxgfoY<;PSG{iEyPDy&mwL^1{7&d%>cAb0iHVXhl`ns{ zKt<(V_?a+uN*4v}QTE}zE1~-r1o4}7$OV%UrK9N^BK>kC)VY6ZvVWI8`9gr;h1!YX zlfuH8(7pz~mn<4i<4ZRfW4IPW#}44lkI`}&IGS1uv?uX5g)R762y%L{jU^>*@^310 z4N%E|#q+E4>CMgLAL!(?UnY|;dwjiUKhJffCE9c8jIDnf1>>I@GvSV>^|LCa%`%ns zoiJJY&*GE~0fNfdXbC4yOcqF9+ZX4m<4|4vCs>&_!|%$j4xUAntr@UWtx6bn-64xvV)ppN>sA*Do=J!D#QagT3RsRPAPmJWccm`{q+{ZrIk~t)BsPwJ z9Mq%S-X^W-RHIfJ+4WvKKd&hH5PwX^tH`dZixIB_3eVS^6*SUf_>=<`168eQZ54*G43VJb0$el*c#pI3!k<{7ZB zdD2Nx#r)@seJVJ85CDRiWeZc$+&{79cl8w-{9gR{VSoiF<86Q2WZ$f9tJQ5SkQ7qQ zU{PnyQYYN>b8)ybK2U?PxzA8yHs%yBN+4WQvt=t|VG^}83S9ersVo&DUZ5_l_2(YC z?ALl7Zx|J`rl<-=Wv(fPj$rg(L21}3o5nXF0O35Ez+!c}rp-)#kzwG`cQh5|V6M%E zTG*X7|0}25R@~>3E+nz((wl*u_V!PHk5aX7%Fms?Mm;nX3`@PQ_QKn@8W`U5%k00e zo{Q;iZFv%4lay(>I|#D1GrP(CEpIS(rC0#hdu*s-59uUzV*mX}#8_AucX6V0U)|{I|$_$o!wHyhfQ7riy_xChNorvgLwe z{1AzPQ}$aU>H?h7-=H$d!m`}+re7Mh^@V9Qp$zfA*Ifd$1iwR!#K+#Uw(vqbtLHB< z-!20Sa{3guGSChsN;@A@D_tfiA>6jT?EfqgZrKSrlO0ybcc?c{Dh{4Az zw8yb8RhH|(tD)=L+BP2zqj6>9Jcz`Yfz)1xg84pE2^+m0-`hB`B4Q^M6$vV%b)Cy< zvp<(lnE!9EJ?021M#_RJm_JEk(iE8Nsc;yIBZ#;#Q6(ZvuVA4O)~MvzJO8F;?)zZw z^>+i<*-1x{3i)_3nms>IFq5qu_o{3}N%Ysd1yI?xEd8>`OfzRUmt|D3mEWAR3`7&4 zpEXBpa7F}t_?A@zUkXijooOk<$BULIIAK9ju>%m&^DPr;;9<_*Z`}@17DMEIv#uqs zRjf2;l~qkaP4NL6?htNcFLfQgUpLAk!+sac5grOQZ1_ZoDAgj>hpf5VyvL40ltJoqP}ieDyOA>G7KFM;3^mL}Fd`j}QBI2#}D04;s_6o(H z$l<%g?utJ>3|B^ddZY4n>z~lo8?+l;@K&1C_$fbIi$;OS8RlKv8nx4=Cn`3pT|O@q z`fqC9ls%)tl-9N7iFrz^O;pbvZrolCm+t>1l79-IQAhHuqNK`=7SINw^aW&?ys_zq z4ImL-nEA+=9U^C5X`jb-2c-WtFXu6rPA{`tE$*^!DgEpvyNo(=OKW>OEmCZ4$dam3 zK7uEQP}&B$O>sbh7ke+9Cp3M2SvB@7JeC8PqkPdCHy+kF-*^MN)>H|~3nb0X6a4F0 zOa11FMf0eM-$M0M@T9OeSdXLoIt{eCF9=Z@HmX|}lN#QSj>zK*MI#7dF;6^X>-k}B zuEMXs=q^OwRZJVA${2naB+phL%KXs8CGM@;;=I2Wxgn`-XD?# za)xlrD9F9j*ZGe;|H&8pN2E#yzFzcYTNai-Qn>MfS^JcaOR`UDg(-Nwd77uL>DDJ}oj5?f8TQ}QV zJ+~hbx)dj^-h9VNB*!B!EjPm3{jKPD-2p;gU)?2ryFWV`ns#m7>T%M2rK=sK;?Ri; z5DBRG`)m@mifZ`>g(T4I`rAby{D0pqs=o`W5bnSdW$@`TYjt9Wl0K0 z$@J!X@F=JxpCMaB~E^fUnzi;2) zox~o-+39JdfGrw0xbV1oVFyvtkMJ{GUk@c&82NXct1U{wSIHK-zAFRtS9l4dO+XAc z^1@&@#UxLS!eb2E)$ZLph8TOa-@hu3USww^it&TGseYUH;*%mJ_`1?&+>C1w@oX;a0|?*uby zjc2jI7ja!sM@uN-xv2@x?^sC%@AiUmDF^Kj?lR@1}R(qRH*O@vgnps zAeA4<4N!dy@Vo@{v6aQnk}C*B@kL-6JU{}JqONj_F@M}Dvib@;u~=6Vm;IrUW3=6a z8F1^NFR)rL7#L>}g23_gj%7t;F-Kz24~tq0w%A9T>R4N}cgYK_;`vPVBF0Pd0hN#{ zxw5umRI=am1QdQPQQ@QUeHGRBK6ExOH@$AHDvDQr*2hsa(Ow+xeRNC)v~tW1WPgPz z(4SS+M4vIE-epzizNK05hhPc$=&t8@X*oKkwN+Pjv{{!#5h& zKlse|{Dl-Q``xxo-k+WPzE_C5pMbtQ{r0~fjT-HE{GP4g`zIvpKCvi8f)x+4K+Xz_ zTnWc*9B^91olbhru+r9%}aVds@8784U?aWMW}_wWb5&9Sn6z=xu1$8 zJ4HN}$EIJu3=aP-%Y8s>CnLa%Y|@#e+oe@fm6+i_Eq=uv$oe!1I+e6>#XddEy3r_J zS&6qE*v1N8WLyJ$!Z{9Mm^Q44@LBW7eYGjQP}_!?-+$0St(6^Z zM0;(^RW~=ksLqv(UBk#xU=}?AlIGr>c*p#47QJhwgTJ>Fz7IB=7x;$Di%$K!pR_(K zr|Q$R_!pQl9>Mnx=f`fW-fb zijz532Du~7iG7u4$Ty4NU9jSp!{nwKiHD7o*?4WTGDR62Vg#-&GPN=C=Fh7TWem$K zUbhKpH?0;ESK}J2)63vtut9W{orc~Q#5RVYTAqe) zDDOx-f~2EM;O^h9O~_9&oW&GL^YBafzBFdncx9(Ui$rH%qC-{PwEr6S`1E3 zeH-3rTz7$ip)Nske3CKr?PEajOL5*wLTx0k#ni`7uRB8h`ZE(h!m#Guf80>(X*a4rko@~XhSvL-M+8*p9#K$`i7?I;BO zCZ-TfD;4OhGq8;sW!X<2ksId*^%xoGxh@}Uql{m`4LEIEb6)6AiD1b=a%n3`J6bzG z{2_o^$vEt)#r0E74bo*(i6)n)be_=^X)MD$X?^@Rpv`hg+F$D)c7+%4QDkDEW#s8$ z(QPJf9C7Jw)E?vBSE*-rtpY;BZCOHv6nX)< zKxJXDczG(}7zqHw4%;ny@@jB!%$jpjAYeSL%-riw4{kg{^Lak5v8PWAQ5o!mRIf78OKGBXM- z*}prCKRB9)!(vw*IG9@yQv8B`iBnCL5&c3Ual}%FdK^QguO30hWss8mGF+hmuh?dV7bQ9Iw zC)A@laLx5R={X0B7PSXa4$*CTy@cJ!7|l))T3NQyebZjIX6@3*XDjv$e~88N35{~w zrjzN`kMqtY($B%BaP?QkAVy}_TT7&r$mjCRf6H`U$WvobkQ=LvW^8fI)C>sv~$Yw>bXNGXFK@Z>Y)EwzG42$=0UrSh%DD2nahNa2<)>j^J z`%{pL8uXMYOnIaE=Zk?C^v$*b2eL$LAw-%PEfIgtdkED~gvIM-pLK&uFWw+M)e&Yv zOLij?l3?>;wxV-$W3)5^2Nx!6Gt-unfz$a?*}_narjSUpr@OPE_b3=Xe#(~Y(xR~n zKiFqI&YDc1ngQ#!P*F#Ox-{K)`q<|*b4~ALANbp5YotAE>RFCdxR%6)qi>YEaMtp4 z(2R+c1P3$WtrJy~rfMF5Wdtp0h^2ag1dlq@9LT{RMKE2eFVmwRh00tqx1`k6O%`o# z{76=Xn)ftL1YT$Id{4#m%#(?~RTDcbMVQQP0agh)AL71p1@Yw~`00*gghio@{~*+K zH#F!Bq3Y=^*;cNf1$p<4O2I?JC0O>%K6!Rcw}enV*5Xa-C4OT%W4@6N!6cpEO-7kc z1RzH8GyodliA&S=YL151WreN&nI1ec*&xmUhFMb=pqK8T+eT5XpG<+A!u&@+Y@7It zmKD?9xGf#mvY>bGN_VfZ;cQ`}hT5~&e|hc5;>u9TMuyF3V4&%&GOvyFE@{21YK$NG z$qdEUZ=vGwZ>HJf8Fc-UDx>yc69=2Fqrps;%OeY?W`3UhoFRfGZj_Uh)pK?by~OMX zm3n|3LAJUGb^pbm)b8d5B&_f;AVU7)!r+x1rBi;z=VElf)q63>OFL} z{Io9ptt{;t;eJ+7SPin_jDY_ji(i?<9$V45qP?@bXmHUc%!}^CTo-fd3U98YLC+?$ z!@`SWV~=U5!(dyTsP#VGHXV=Dowz4ZvPUaQE61oRx@WQ@f+QmUIEIgHsSGA{2>Dn4 zrDkJ|*Tfc@(-U@oj7#Z+az6R#g=3R-g(A1|q-XQcv^vono=?vKjHa_idB%CnfagIz zj9O&5!wS6fO0EyhmW*>z)bBPh{9e!m!oT_}Rbnj2%bI5hd7zv@AX>BiYpRu0xt>P3 z@SAK-l`}Dx9a1aw_rOo22jf7=g~C-Q`;l4;z9J0p>(KA=*w_Yt9UFL`-!*08EYfA0 z>`E2alP8%HGbOl`E+3gtB4YSzbH`Y>wpyu31}MwGyF3_IVJF?@z9_<%aMG=tTfNkR zm84`8pcWrvLsn#SNP8PtG(tGzZCa}xh!z^!#+KY}ckXx#T-ynY7DC*#8CuxPrPq`& zGpg6G9AX-c@rufz8?F>8Lo@uch{Mq`H}P>W=MlBas|MqyWucLVYPr>-)Q;qb3>1nWR$# zOO|a7NE!V5Bl$-ad<(s&8aY)+$hhOnVu>#xaafCgg&b zG0;p4<(1X+BauPhWsh*rW-aU++m!{yPCJ132$tqpYB2$-YS-k;_mT|C`CHE3DKGnm z79-23O)7@2&VaxFdUwf_>-uv(=>6$qDvSC6$sFc~^kuFdRRpQl1o-?ZNQeS6fzHZ{ zZPk-0c1|3B#2`W0cjg=WZqruLtw)XOGrfN8HokmT$~~9#M!cpMsAWM2xy=}2rl77p+Z(%N5et-p2owpA zdtkxSlKAIe0kHJ_j1bSmFT_t>-Po_hH=GoLn&OELnY+Ws)M7p{hZFg)khEsXJ5%xx zqO&v!Fk9w!WSz$RMunDQ*gn7n^(x8xSw95@Xr z-KF+$LuYQU5fDK$L0;T}@qjt-$n}}}kb<9b)qo%|M^)nP5iF@aK{sVOZddPFx<@Wg zoVmDhKU}DnuUwm*f~k|N#_W3AKK@C-O9JwsKkr<-j@a*oPRw3PjEe}Hpm_r*>}UI} zT(7iIGBn$q&sKxGJ0F*};os4+I_}2U(Gp#?fs1S@lN6_BL;0uC!vto{d?L47?#2=$ zz5Bb{e@q3_at@aB-1LWu3CpJi!N%p{-X_ulALdr1ec&9Wg<^CDae_I}Pao2l#eEn; zzVW!-emiPw4=|or>)8|1(Rhq7(>TI7c9ZzVON#=D(bMP=AydysM_UxBHyC?J^&r+} z#)uCnkiou!LSjQ!$V5j?%=xFw2R3dcNoPQ!Fj87M#&`wp!YGJvU|=|4+st986h1Zw zAq!eLjHU6S=ASG<+AH$Q`Pc3I6UwHY4*)9V#35sa1fiuS`<7WghzMjXojk#V{(b%s z!!1+6l7hifl346XEte%S#KNWli8U(8*o}NqO#XTuA!v>{MmL4q9johf#ULLJ@W#X% z_9M3&G!7Mt&MEqKmt}3v#2Cv9bsR=7u+Af(qa>$HDugW>9-hwMZ>4!kq+V5!$F>K5 zQef>n2@g&(&Xi~|`htI!z%LC`<00y_3-mjNIO?6Ue}UD53gyN(j**8dJgg_kk-NVy zl15hedlNy)ftf#k)lqLv*a~Mrzk$OG^DoU#3Bz?luLpx9E$u9`+UlsiGFKx-1l&A) zP0gKBppAlK%`zc#(qP)z-5GlCP&(qEDdK- zwKXgF_48c#%9%62J2SvyQq*>wvgiu-<;q;b>daA;?B@XcB6mYy{Q0;K;u(P5J)qqRmI+^!oYJW9w?}hHiOcYaejQ znzosOC{^flwT{#A%uJTm(iQ%bX|+zrOIcM_IU0Qz8}});96Q~e#bI{(nl(*UWi`SG zOH$Zcl;X+s3vIS0B7XM^<%8p3tsv2Zl(u?2wyY~mv`F6pmTQxvcKQ73kb}(x!G7|h z7l>(wWEDWoT%L+$HZ>C}m@J{jyMDdhyQ^X|`|-8yLdNc_QnA3erP4-5$3})X_#Quh zk|Q!!aC-@P+gmCKFda^+h8Z#FPOoE6P7G5fA~j9B%6y_6xiHl$-3nM-rlJzd;2$yO z`%^m!3Yy_$ceVAf;gsQeUn{It3+_tcTjntJ>h)KwP()o6T~p^5MA20s5B`j~KgJjk2&Ttb`iKq@pR7?xblGN1SB$Pl+@@?DK+EDyvbDJ$^5QArj#k|Ph`u6X=)*b$z-xO;Sh zSqAzr!n~)vg`Lni)%=218mKe97a z{+Selw!;6=39C^Fn+3A3Z{w~08}n8B6`Aj z-NICpI$ImkglDD{4u9V`i-?$~J-Bsz-9vvrhwlPN*~@PwHqZFn?&CV=?-wGg%>5+I z98MNp%L_=2EG*oRt=W$MXj*G_uId|hsCEwJD%z8YUYcRZ>4@~0MxW$uHVaU9K|anYn+SB(A*CUU ziy2+EK0gh*b-xpt=WOLPC7fY9!A0nt zI<2UC4uM3Y$AfxaLx~qQBA7`Hi+epkx7UajBq>e_|NR;R*N+xT^lFvUQpF|4Bp=&* zr~ptSJwZKkdKa;eS+Lq&fQ@CE>{F#R-#Dxx^MPsX%FCYDG!$@Q0LXw=4d=mwp+8%6 z&>1wYZ&Wcazb;xPVykvoMkkfCQZuRQY1-(klPMG}xt}XXKopIYLQoP^K8`Ht%G&A5 zPhrBzk~%YWf$IsRfs|lkoEj5~b8OB(txwLHY`=XybFW@g<-p2|z~q2sV@Oi|7LN>w zi-Wop#iJ`=m)i7I}#Fb<&`Gl_0*f^QsE`kSzWS)Htg(J9XtE0INZ}XlzYi zfrC~BsXV?Cc@e{zt$VweneLa0#-#NN7{{&@>K&IxKd?!svZ@jp`?zwSnn%Qq%@u-Q z7dEh*LGAtmW~XBxV}Z`@+#OE+0!j=xkqx2Q(3p#=58N;mH)K}f7JrX+C;H|S67_zb zJ`Gw_D=xybyt|j)cCbMC^Ize8mTuxVw4^m%8dfutsIgaMMhfl$&k}4Dboa_$*!Q=l zM8)glZJ}~N>FXNkjhmgna;aJ=JVc`;qQ`gIb|jmiu16lk)dw$n-y<0{^67Ztp<|*% z9{V7@lUnVYs9&0JrSfTJW;eF+Ew4D}dj#wsv~C2j6`(s8W1;g~us>TAf_R`K1>V_- zA|w0aNrDcX4*8gwOe#I{`1W+9AG^ z*K@XikC{K1Z<&Vsyd?Xz)WLI#5&}wpZ6pR;wD%=yHsda0HKYS1OU~UInu-S07nLhr z+2I<~XRd0PGim;vpPR7ua>+D3f>F;89M18DYm_Vgi3R~@z_vQBPCk-!H;Y~0+;?_q z-`u2YU$+Sja$SEXn&oTnq{lj~@9)j*EiTs2g}wOav|eAvy+1E?<$l^li|Y0Qt!Vd*(DMdE{DQ}5PZM~iK#%> zljdpv&SuCU?~6==j^xb4f|nC7GRD;jNba2mZOx&E=$I~;#mX!)>*0A*EY?X z)URQ0{m@~HZB;05&QL+C?2W&J@XUmvemkEn;3UFf^fL^G+5Y*M5m5vNV$NegU-yX- zW=ncuJt>~*JfB)iF*5o#q=j}-le(NyL!JyhU9^$%ajvC`5y2vU*&>|MMaDpfWX}Ad z8B3%<9KMMJ2FVKB)!$ZC?yN!hh2@x`RGu;F_2Pb--|r=uwLmdZnZ%^9pj?mVt`C+T zC%l-L!hwI@vbKTg`B+wDZkD)blj7tBE05N5E?th7({X7pm=1Skb*a{hgvCM{fK_?x z+uq53CVr0GgxYG=Hgni2O^#KH)nc^S#vQtGl)4tTw#9F6FlG(Y4r=ZrkJAo@ynA@` zF)feqM9H-WIpwQ-DR_uncdQY=nQ7Txv$2zK{uh|34kSX1w+PRhxfyxcIYN}gxMAcNJSc3f2o8cfws zNxCFyW~XS$MklX|i3;HrI6_$a2-ZIHR|S@Y*AQAzS_{L)h2}PlddzcdOh&=zO5V}~ zjCY;#s%QkWZ6?s>#jeLF#E?IF7+GFth#>FuE9(-s9UYuZI$8wbSp+I{HJQ8wbRJqf zsN3op>8mU%cwUtzs5|jN{I#`Y?3G$%`n2+DdQERIXTzdDGLFxUS(~r*m=1P67*Pf# z665L5b!D)JIBn*hH2SoCip1%vB)z7KQnUEdxZd+)uA1poFZlHsE=Pbg!10KyVRyV$ zuQ$AJymN0xBo2rjwx!;`J>q4+Z=-b_`LFl$Chd8;;(0prZq?RS)y;9q40J~%_PDEb z%Xf%3uFYz3fy^G-9DTCA1w># zN~bSrJTs&&&vQSn4tG)mg1cGY!R$-)JOGZ?RAnPsX)`L!<>kdqJgkb^+P)Nobdo0L zQa-$hec|qt4P7?B#f)OiSf0IfV-L;DjvGWXmZ7!Gz^Q}}-~anSEgrIsGI|s4jWn?R zFf6$lUK|_Wr1WsoNWbvjDt)CosB8cqCr1nIJs_Iq1httO4CsOCF7?zdu3 zS%92{r>l)t;B#zgbMN+p!sNf5>2w=I#!h)@_NwkynB>*ZU03mvC&U->bx6=e{vmkn z4XSvx@$;RN!Q@GZxpV?de)$YAk_g8q>FmBncl$ns$H0B|l)}3CldSn`u(wsyYap*a zy%!&7NG~se_gL_#KIr<~MMCirdu}gJxJ@6fXPpOxH!|;*OnkS5+WzsZnT}fKYiH*z zpCtT0khsOlb;vJb&5SVKG7V3&8Q8v#*dms_Xp@ zMlUAg2IE@0-nt{9&o{7mB>#XmzC&o1~L$28rTIWvx03>8TFjg|%L^p8+eH(@nmG8?@oqI)ca(E`Kne zsFD_dsbve{_f_FW?(U{=*Y9yr^YOCVE+{dw!&x6_ z+OTz?j*-J(T%}0Nu#3+${70Mlz_!mBHhi$R*6b&J2F&VANxemS$zg^@SbtA*&#-0o zZ)YyfiJR#pFbw$4{}uBZ#qumD**-qGD}3wRSBtgB)q>3OELwvI@hT|Ko;NASNz|d> zU^&D+mD20*(4jcQ)8oUvw?D1gkkFH^EVokR&eK);Lga`!A7MucY!D$N*)0@*P=-^9 zkTF< z?cNu|$AZ_jQb=eI8GkY^76Kt+dEUNldYk=H5sun!xWTrGP<03XJbHufD9!aH*Yt*I z*CrAEykXlm!xG3P@PdpX#E+rkF#!fFtUoT&a7JC7TtPP@mDj4V8TIgh;lYEORYnzO z7P-=9C4b}0SP0G?_ylO!`zWP=b9Pt?{ceZWVba&ttLYZH(O0-viCSK3Q_w@= zpN#2@+GJ9zOr}R6so)-;63(L#exU`w0d8MSBdWF}#;oW}S5c`l*qvp;HZv2&Nsm}A zQ#3&DQM-*su7Tpq9!FQvn?Am5WuV2xMDTI9SSGEP;~17(H3m`^3nR180`zgGb-2$z zg(ETVYz@G53crGGqc8q6T<4wJj9-~|J~QC@5{{t{aE_vjqfe=X^iFiFBMu42)K8lp zfkayH0)7>prMJz^`TNlF*2d6^7W}IEi0x)b6hG=S@ZJ9|Qm)f`C42=0r zwj20Se*(VgU}>)R$&laVn#L!#873zU+sJH#t!RV}^0N&&SRp5xKvIAePDuE5ou({OS2V6W=ONc`asnXJq2{UJ)D%FQZ-MR*T0AWqyoP;Aim{QU=Y{ zK`-ivPLA*eajG0L3%^%rFXaI5?Jx#U(%<CMd`*?f8* z4Tq^&dhh%!c<0bd@P2^g^XWZA@Cx(}^LUM)%m*?C&!_qRW#(0)Rpw>$>Aqb`G&+o@q*{4KP_Eq!SaQ!M{Z?AC`$e+U8N{<%h4{(8CgBkWQ_69eZWjDJo zh(W&MO#AJ*`Cz`i&vLDs%(+vZb#cg7kWzFEXqL^DqLLz&vpbc(ZI)f4U6yV5i;PxB zW-Dg*4b0Z942c-L8Kl@-^dp~yMP)Xt)C@DQp1DGF1+$(Go75VUNuxGhw9zs-Y1#O{ zm6JZw00961009J?4=;rkUk^O>00RT)00000+#GYH00000-IpGq|4jZm0}KQt00006 z00IC200000c-muNWME*v@$WqY15?C*pZ`A0JU|gtzz6`Ch6T$2c-n>11F%~G6olcw zw(UOKwr$t8ZH!Ud?w}gg#-O%s+iugXlRV8gdy=!^MadRq0}W|IC|UGn99|^R3Wf1R zlZp%Nl{SQ7r`C!J+L~)iriJ291f7VY1$lVuS%PK@wF(o|hpTa=909lxN5g^`z8i$P z=s*0E^+yG&)7MNt#mh_*LL;R-tqPE&2!k1q;H8vRq7hQfxD=wfG@*@&Ff)nR8A&RJ z6&3zyZYIn~1=`_HI^75+xj;1#s?)-#^S~b=fQSM_88bXHJg0@&DAma;fUfQz2}Yu6 zjyFOJQ--_v7a~9^F@cUukWms$l$i`V5pE)(7`n^;a4{2SB!Cv;O|Ib$5u}q!9%0BadL|?-vT*zV_Q<%W?e~(Kz#%k7}sN1Bh;Q^=kz{?_ETgoI9yh$esH+<=f z2W?2g0UPSk6Km25QqvtH8u56zy$YOdik3rN$}Ty)&p9x{Q^ z%1X9zNc&nfx3texJ522gCNYQGJVG6JWE%(A%?7mdncE!VGKXXmE1Am-lj!qIUb%7c-kbv0|4VN006*Z2lHwr$(CZQHhO+qP{RchY}xrApEuX{oeZ zIxmOi7;;*8UW}wAr9eRY`q8}Jw z8^^>+aC)2zkH*vRLc9j=z=!c;{0{#lkT@h3NlG%1+@uZZP6m;&WCmGG){&j$2suyg zk{1+EhsL5wX$G2`7NZqu9on3BqJ8NII+@O+E9n-xpPr&u=>z&&%c}L!hHD44Gulrb z>W&^uPpW6o^XVn^DtdjrmEKh!ppVw4=?nEo`dj^n0Sw!SX=FC?86}M>Mt!4|(bX7W zj5ekj3yp`y8{@kfHZ8NXS~W5})D><#H>I1!&F_|SN4S&S zdG1R0nfsB+j4;mPvJ@;c8^$KGIcz!G#P+fi>@vH@Ub3$|#7!RMiFrC+lQ-e*c`rVc zPvEopGQN@T;ivgE{*b@n--RP$iDV+9$RkRLs$!rRD`tqrVx8D2j)?Q(mUt>Yc#?;` zqFx2Bw%5$-==Jf2dy~Am-V5(@M2!@S42X=5JdJ$tB_I3DkK?EEv-$=6(tb6+q2I>u z?ho?E`ZuCVREz$u2_B#&hXDWp9v;tT(ydaZ4!URCwr$(CZQHhO+qUg{`ZHO93OtY# z6a`&Ce=rJ61q;AxunimpXTWvv2*#iV8O#q$!J%*hoDG-3jc^Y<4llvG@CE!VBodMf znFL9&g-9qUlo6^6bA@ZMLvBQ`Vl2XsZdrVArmoF0F^{dQAace zEkoPU2`!aYQEQ;J)%s`?w6)qX-PDWfbM)6nCZm-x#+Yi%GnN}0jFZL((=m&fZOsAZ zGV`JN-O{Z_R!{4Y^$%ym441-faW~u_kH8c0EW8-6!CUb@d>miEH}NC<8h^&WZDu#H zSJ|H(&#CFmbk4dd+*0mXcenf0%jDJcMti6HtbRGapTE_==YJ2Zpm0zA~_~cW@$j7^V)hg>G0NtQ~d?XNRl9>*2HTWB8MBQkFC&ZAn+smkcFi$y73zEG28n zR&tnJB=^Z%nwVywd1+JHiT0-p=stRtzG3ND#Hz4PYzEuMF0&WxH&4w4uJZ!CHt)fw z@_BqYzZ@ls?5KJ)I9eY)jAw`&@!aux@qr2d18Y2DQ2+n{c-muNWME+OWBkFO#gNCq z2IL_FW(H;eE?xofc-p0r1x^D%5Ji6#caP%k?(Xiy19f+A55NI91bz%+9EzXm7LP$T zv-?K&&kBH2JVOVKzJUA!DAr(^UY4~e)#NMI;aF3vSpTWU0E@<<*oaxptKw3OYIA$b z$+Lt(0sWtSR<6*q2pu9sZp0cAh{!2-*~<=xDDFuQCwF?K zvz_E&O$bBimp7Tj3}0at%Qzr??xK3A4!`O5ebGOcTZQTIK4|>X!NFJrX34~IIoc4% zIP+fWx?zr# Hump_&?a$|~ literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-500.woff2 b/static/fonts/source-code-pro-v20-latin-ext_latin-500.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..eed53669e761aea81252efe14356145ba218ad65 GIT binary patch literal 15184 zcmV-WJFmodPew8T0RR9106S0s5C8xG0E{#M06Omg0RR9100000000000000000000 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 ZFfcGOpaB44jsxES006iF|AnvwjR1uIUorpy literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-500italic.woff2 b/static/fonts/source-code-pro-v20-latin-ext_latin-500italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..8081bdede40567b0dfea15f4270321dcd3b1fe2a GIT binary patch literal 16052 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 literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-600.woff2 b/static/fonts/source-code-pro-v20-latin-ext_latin-600.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..80b75eca00a6329c83e82968d973bfc7e8b9b092 GIT binary patch literal 15136 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�Rg*f%EGmiF1mr$Wp%xO?mgv`~-kcz}F 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 literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-700.woff b/static/fonts/source-code-pro-v20-latin-ext_latin-700.woff new file mode 100644 index 0000000000000000000000000000000000000000..8a83d4f46882fb18c8aec0b7246ca85bc7a5e416 GIT binary patch literal 19856 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

      OB)bQm)`19);3!nzub45 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 J|AnvwjR0av+8h7? literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-700.woff2 b/static/fonts/source-code-pro-v20-latin-ext_latin-700.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2b85b51d4c6305984e520c48af1ddd1cb1966008 GIT binary patch literal 15064 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 literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-800.woff b/static/fonts/source-code-pro-v20-latin-ext_latin-800.woff new file mode 100644 index 0000000000000000000000000000000000000000..0f0eb21d2b1e05e6d6eb8d2ae979d59cffed54ab GIT binary patch literal 19876 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%0ASl4V|ItfQLOg$2b{8W=&dzKm z0wZ@QP^S4nSb)c%%yECVx-xVJvmNL*!Fd|E_Uc7;ZpBn(uvUkjqE(R~O2~}%jm`iq zq_U3_tZ!ad#4)Ff(d64qimS{rjKOtzml8`7ge-^WqoDxqXpJ$xFHGLl3F>!07wBqi z_39$&%l_^tkI%Gx0%1@|cXT+=1wJq<`;#1v>>qJKLH@G}SbS!isYg857NHmDtckBu4z~ zRVdj;odgPeEq693h4LfowLmOJ@+Ma&xVw6jwd@epiiae0nd%bVM8TL_h=xY_ zX>>YMpR8oAm8rFQi%?+Y&&yF$FCz^WD7E!9ST3KPjoLwAChP6C{PG>}d+N_ZG-D$y zK|*&%fuSAZ+?*41G-Dx_f-KWy^a9*w=lbEwYfW~TD5wo8L5v$D@s0bd4uC#fq<~VmM6Mo*!+;|24s|@s!%n~uL}rf8Gz;Tj-!W-B?Sx{ zc%yA*tKA+-??RRst5*fi=3P42;K4E68k08IC%Dpw;LB`91(isX6;nGqzFu+*-3N!^ z&9U}0bkgx1mb@nWHLP8<>^}KnHu|F{HiGbFy3o&tbtKk$X%-VAABWyZE|aWzP*fNU zv!ciUCjTn*JJkkxT9k6d_i2vS$m%8EN50&t7bJV03xN}PjVbRen71lHsssOZMs z1Yw+a?fW8Ty3@hp9&3k1(^m2xzdEgO_MJpC)i@`6&jzvClXk$-S+P@8Llowq9-DjA zlRS7XD-$u!v!VP1?n7)J(?wN+z}PbKyLM?I!h06&lTl(;Kl&UH|-7Py%gXB zt2#&xBn{sCg{>y&u7WG>ULv5Q5OT@9{5u22T0y?jms@hEP>|bLcC)x11}-AN`T-Q` z-_7b}njHR#-9YwAHda<51~5-UzFgF@ARPTfbC}g6C@-rFHQC9({hv4TB+2-9K$PD% zmL}VrefH|$A4Nmvmc=46Aa|8)K}<9ZdrMQBg$riS!kbm-b^Ul~DM4+CNpLs|8}8IK z-K>ol!48OVS*`+d8Q8R;O$<*w^>H6rjr!%AQfohZ3h3``$c-Ee_#;Y9`8@i19nLGK z1U8te#;lZoObKZ|zR6_msd2}#T8UaUP0NUe;4qR|EzwS5x4 zw4nm9oIP@l#`QBWEDo(`-Td zZA!5?3tMXNi{@i#n;HGA$j;0{=prc@RGbi>-mACLbzhlWJ&x517hrS>Zwk-IoXoNf z5(b^Iuqi>Z$8ZudQgAIjXfpY7SCfCvve53l*w13jMxAZNn8*MuKE}g&ZPf^Zk#bxh z{5nmxe0c?Ef4vwtPt4*QHoV}af<}k}178K#p<7ZE1q9oh^ABwzaDlT)Y*ZM4OQlLo zL&o7q__mEwgZMs$#l_5C^A=kyESfkqRK9nOyTHI#e!Jl}P*O9!=?8)gjtrAl?Jkbx z%*)=QfPgL;IK*+245uC69SNojv$c{&-*rfp1UhoVD3e6?0|+YP&c#L?;l|!xZ5R%{ zQDe^%0mx+FO2>m791)#_?pU4{$lghz2#vtFb}f=xzqYvF#uC4wIG#E*!QguQuy56P zx$Al8n`XjNKeqD%|3UjTTyAYscK0L_KRSZ5z(PtZWsijpL_ez*ZNm=GI!w^b3YdTM#=%-*u|h? zl;B%`qW$a}cqg>Yj4>^qpyrEtN!bU%d5K24%2S)~-Ee!|@U-+%sT+rhI-JIq~Y6}k5i_Z&SnwkZ&MH-^P}m8E&5_<;G-)(oy< z4GIb!oQZr7TfeYz(EFw(+AJ={jfUed;@K+b&PYwBgABqpnSCU)eu;1Kq(9{vAY}YE z1r284HOBGI`Kn&~m$>QkNli`S6pX`!;}lNf1hhfNGfl(QzU7?ARP+LF1;!<|oIsxj zl=vW_f^Z9SEHVdH!!#aXuh7-7cuLVAWU8M`LMF3KRSxFUaiAVA`pK1 zET8|7Jlcog$_u}qZ!uS`C%x_9X=Q&>s1s#zy46qfpIv+NpL}6G`U}-9_FBkY#Mb0z z9LbwBQT1nClQ?V4W3I=)W_Ex^y4(++VvIem?2n456brDYT;GU!m&AT*>gK!lELZvHKS|dH!fbQ00DU~|3Yc)l@AI0mpaKm@r?)cg65VYpe5U0R)a4d zssHNW+mod7;k#Qv1DS$h<3LV!6@Hl+fdKQ0?^-r?J)Q(=ws)3r z{)yMUkZ=QCV$`FHuM-H@(ZzZry5t5hliw^chPlk|vDEhPO`cCe7KK3|?2%boc`)OI z>*#Vjw->)duivrM$7kXF+YpnTX=wO6-(h2aaelu2qfVdzJ z8NdI}O68TSL<3*0ET63aU$BPb`1lnVD1o+wqBP>Fwaccqk^jr!aCSI(+lFOYY;~bA zN&z=cKG|odeUx4Q5%iq2(01-GRZ#4+XjhsiMLs0 z-oi3jDN}U%FUz!bZ?%!Z3$%1C9tdcwkXL;1ou$ zAK+QO0(N*tG`8+wz~0@fHM$#%q^-v60(4gs)GGgsM@c^{5T)z#1;it8N#*_~Jh=6L zD!;t0z{hdJe^SJvg;?%M&fmmXUmT_#0f^h82Fz(5p~C>FKOTro%{OfxUvP%1ETHU6O|E;6!ViRVJC;7w7wKX5J!UFvMG#sJjRZ26-3XL>vAS zF51W}%tyWP_qPtI9t})8Q@fMPp!HskJmhSxluQwL=V;j8dIzxVY@G+~xp*krJ9Iw& zd1=jOYOnw`HLh6gn(C6og3~jMi*y)aF`l_`G;`s&84EIteORvf9)mN_$0?pLp$d!6~V%RUfHb-CI z{eY#ff7R7azmnPvsb>``$%8h+yy6I!7nb66FF*?V3GQ!(+B@|)2@OIdA6oQYZbNp& zU1%GQw3^#E{g%p^!CYqMp087OXIyq7LhL*iUtw=&g9-Sm3fOgqor8U2u&gz6*IpmF zzMWcjjEw!!itSGFA;4`=j3M?fUqMb{f4z79 zhxfZ(*IpMp)rID`~ab zNR{g3JibmQl_rzV%cV->%*@Q0$eSAle^HuQ!Xv#=pTzYTu3)OkolX5mV%z8hR4qKs zUQh8By|u7+NIe9gjZfyp7j$>d>zuzVj>}3sf+^iwTa~wX_}5|JBcGaD^R-4bQ(~Wl zOz9Sn$zq7kW?5thY%bU|PpzV;fFu;<$&0GRf;Xw;>jE)2YrXXKH2FzPiO-D-uVm|a zwjnH`Z$wdFSQs#w3LA&ibyf3B*5$K%Oe_1%9&m{gn^h3K=wpDf9)oUM&~%=j#wRWK78|QQk(6@=og+M5L6=VmP!4)nmK*a8 zZAL5Qb=vLJpI#@>&Q~8MqO+F4QyUiI)|(7*_Rq0wmCHK+D{!%^q^qliaK+L`q&a#p``bQbD+eF167Xw-sOGT?6+W zt>Smz)@Q9K?crac5epTzrwt7H)b}&x4Heu!@HU~w`wrf9&}3ddyUR8?V(^mV>tfyU z?s?ne+EMsoIBqI8=<(!+cYp;DxhVrh)h~bdp$?<7Lg}R`WmU_*W*@~f7iqRkozRPB zHmO1teX~%ZvL&;WdL_=nmoWSRAt)BHRl#f?N;X5PYWh$R$L{u;pi&*b(?gUWfErs_ zVA#<$`^yYzeU$)to~}Yb3>mCFaT8fDe1ON585i9h1H& zHY3yE$3$Mk?BSChp`df0W~R@N5iDLq=DUHOeujZn zP}zM&@&Z>I&!1G${V^YzRgcPe_!--B+QWXScj<(UYKI~bjd^XWym6m5pT+rU9^qp% zizPMdDeZK=m*z4aWl=j@?#H{a17>OF7J4}hK*S?v<{fNX_dm3Q0X7qFhi+UtiE8_6T& z*apARryhFap5%xehSmz{Rw6Ho$v&0sn3uy0ERb6z3AL)w=gYEKL5^?%N2M+H2BUL; zmJ%ApV%A3Co_f8y&2hSlvHQi)b1K~W0v{?j_ge(2zm90}>N6!F!kC&JWGHO)*CrpX z*u{TN3bMKfdql6zP;rR*^Ea=BDCp1lyGi%tuNn1at9sqG>XCf+)oSheuVjz3=n zw{qaR15DO_9UO?hb3j9G!@bO0kQm5^G!Q@7mt-oH=f*Tt`E3 zvR|g!a`BkjFLt9?dM;QD=3|7kxqKLjkRXvI(@TL{3ZG(5#-W#G)6s(aQ@?1$bu$Y+ z#;}m-;Zh#e|BuSB!AhY3mCtZ`xE?8~N%HQkdbS+yp>Knm{$s1uO0#-3(-n9-2YGS< z3Z3)JDZfI27e_~-aMLM9R`*~`^!^ML^JkmsQxECwiVkz9(%9m#X&UOJg*-2lG|j)X zkwl!nl|g$SgC~4-MCc%N8A=*$7LuvjLYNb(>r||)_Nzy_Z9m;LTLv$)tiZV1KD7sC zze-Uw(QuM#cT_+R3N+{YFl#^eMM-dIEBOVy(1a7Z`ZSjAV8GVhs|9yf+o#&q z|Jr(CO3&?gUq2DhvqhQ@!}hHBCRvn;PEDbwu1l^fdgS;@ivm<=JHxMf$aneQgingb z&^aIHq!q6sTB;10Ky`k0D?$7ehx+pJ8PT>}*jPe09c@6ss(r}V$-X@CuXmo6Y^1<* zFF*S>H6U&bAS9W@IA_Bsw?f2$#AZOkew+I(n^`{o0=9Mqd}d zjmu|v>;kbX;x{w#!As>RLXOCQ#u_$##Hqcx9BEU>FRqAb0SAtDr)FjAj`=$}I+D4g zRgVni)!GMfPxDLt{`}&{INam>;)R#a|5$p3bd5r}Mk1f5P|gEa<=*lob*FyM-WvO7 zatz2rif!=$X9Jh#;!{uU356()B8RC#Tv)D^7PZtjjctG0b#WYILmtgBGZxwE{&s5^ zB*D#`yr-T$_D;1WGXYJw%c9&#zEb_HmDE^USSoj+P-B`04gTn2sjPu+Ht@y~A%6z+ z_Zj3H>>Gf0yzGw;fjr2Ib4<*AmO9;aB9TPRwY? zjL^yQC`%eK8H=hK#o#=PD|?(7GjydF#P8Lqbhd7KFLEhV4%l$Ca0=a0`X5R-G$gT! zE}pI76@MP8(SjxwDQU0>$zx=9!vO|g8sS`A~40YEN8@&`pc7BnRzE4 zvmkS$AU#+~JV0RRn2d6tmlP&obCxfp@SfALn~qO!K*?E!DIwK!XockzyOYxwE>6b* zIFK8yQc2o@Tw$T|0{6NI1fN@cTPQ))|nC3LaiJ z71IXQ=s_6-F9q*mh*Vkt?@8a;KJZ3CbaHZ{g$_2yCJ+dyS7@#ZsHS@F_JXmMs^Zz- zE}5isRixM?v$;?A#N1~h#o&{b<1Nm_dfcah_fs9|{C08)&kkPiFXx6%oIDW%js5y{ z%Pj|6`m0N|eu_ayM2@c3Rq9rcB8fT!B~YrV_JtVC^$)O&L?=)AIQne#v67qUVqhPv zXEH*dslP!NuAAWE26+iiy6}1T)kHM`ir7a)j_%S`>UNDHi9RvKAJx_X(_q$)nRDs! zf^UC+e*Y0HwewFeJv%9wuM(W~H}R`BtTp7iwlUL=1RSjJgjaZntE=i-1Ri)K{WFv_ zx-&WH$eaiVj6CV>HvsSi$XnT*GGG4y7Pkt4vY$2JFHrRYUXfq#)%|@hjIO<7#C_Jp z<#TMsY#0%H3zOINz>0f5L<%?-Kci4x$@sj46%d>LK<8qC8)ST5g!MU}wNLOu;4fy@C-fCTd z5j2wd!1<-?vPwLBUR13Tg*^g3(`8iZ_p8#WO14mrM-AN;+qxP6TTfmpk(H^G+@e$} zmzPPUWlEK4Q6{Nn>u3~%fNyrMqp{h~s0O~^_tmrBcp3F;5;6_VbQHapr>xJ+_!`1r z@jXDD_@%S*MdgJrTU70Y5|kOrG!shNRHf0B9!NN;5lup=JyGEAQgsN5Ys713E(#o6 z;P-oKbi58TH*^%rTh5}zi8{JmZEB}Gk`R;|F)m3@lv_x%gN>?rRYfxH%A-8@-cWvy zKl|PT`Y!?@D-I+c3rpP#F_YgYgRj)TUjOlpJFhnY>~3b8HFxxl^7wBx;To`RcXDmW z_-QUSosiu#U9U>=GlbT#xd?y8${Vi%tV?;6e#TtDI+2H^Wnn&%80c^2qTaw{OK<55 zvut=V(~vht#@|Lb#>mu9>^R`w1+y6V-pW^?Fl**}&sP8rI7SxTDe*)~ige);kA$K8 zo1Ps+z9JHjArZ^OqLl!3=QqU;kCqmKy(W!%Q7Zyz%1S$WMX$W6r?50ur8vitiwso& z9tf5+JIC_l)xC&{H26cE3iC5Em4iU0|7bPLHs`R#79lgg<7fNZSe*Md(B3zEmRPSS z`yha~@BGjTcpw?mN;sB3r?QY8aAYMiBl6Byc>m{>bGfiw@pe95d=nHvXyTAvA~w}! z6DUZ%byu!k+l7B{D35hJW5>(wcse4rX`S@9<$1hHzR;ov->YPrXvSSjE7MeVx-%m{ z1stfIG8)lW236j{vz;PofnCJL+-Zh3QD`)WOmwSf&WyANIQ$zT?es|mFE#m6>4)Vx z85)2BskfG+yL}N!`0_A@^;yP_7u#_hJgsD%^sD7qZaZIS(-(-0*VdXtaoPny6T(vT z`+VtzVTQ!*?4|-ayRidcLPFvWcB8z2-P9fuGf!3k4m&Q4!xhip8pGgOZPV~8Y2YkZ zLt$#(Y+Qafj#@8L83W+ol&T9%X>CzQBJRJS%1*n&uuB3tY?I&SJ6Bqh80ZCl(HFmH zJ3d2YXaOgM=VJ0*1#-Sy4W8M;Eid4^o-1xKVT8^YCg7Ja=#!w`#Ov|-p63vW+2476 zrYstLCY3&m+8O0pc98zu|4vX+(#*ohKB|r8%53@hHd$^iEt;Pnr2$orsW~k~;E|r7 zG8gG{Y*-y@i$EfG*0W6JT7lVJrud9O_$Ct(=ik~l^F;-|X1pw^&lmFh{~Q z(+S)uT$$cLEdM`;q%1D>Z))H#tFb#_3%noBaX6qFFPNp_>r)%Lf&oX@sK(24;1}9z zUjFPBT=|@#Hd>1ER;3ly=}PjWCFdjO!K)Dn`KipFH&)&n`>t?+KuB{4N~0`GhDp9N zzjym?B>KO&iB;B2uL&pvi`pHqyclSf^bz1(wZK~@sAPnTi=wM#(~W*wiuLH_l%rN* zyBntP&YR}9^w(@f5D-Lwn4=zUZLaU(URr#JloF{dJ@t4T(-f`XF_H1U# zSt#jj7IOx%&;&~@0tqjB%4^FCC0-w!O}$TsDi^+z(z-ISVQo{+%V~EX{M8Xf^kTTP zBs_0}-3nWf>fP^+UQwoq!tNhd&Qhfy3h$`Rk-d;tykSWdCnS_hV2$O!BNIvvG1Ke2 zXB#Kp7tgL|wA8F@TG{x<&ZeEf0(*@>6jt(ydg7|0Cpme);;~8VoFRHtSX5NT6?zq1 zf=)C~{1k(oMj;rn8hyig3)zYgR@fb|E#4nTaEyTFG4%#)sBsm$KNxkd!)J z|GufS1f7_cH-Xb|lFZ7cPV06OXuql-V1si~*;A;y-WXK%DD2mA(#VX9F?8(W4Dj3h zMSBzMu=nDjGPV!x1H&aZjBRwC-=H`6+GzTMq^MY6pD^Ie((n{&K8==7rQoTv?yU5iXXXBoocs6waf6E!wm^fRO7dPTyJ!O* zjgB4ZJhC&kbF;_DJ3Mnfz73OOaR(EuUhaGdjuiuAUxe?==-KJxv4xdfk|$yk5I-q{ z8RPYom;+NGrz<}*>EN!DZJ^Qh95&sc2HR|5U~}mDw|15T&ma;Rc$}3;w1T_dnI%)0 zb)u_aHVVqQiZWAfMBG{|Ep(NX`*fV9in{eJ?RsT(NIVhkV^6Z>q2*hSg%t-rT14rjGeGqtTnp5-1L~8nTvK9s-7)Keo z{!hkV$uk0VXc`4wOW4k*V`=GRcEb$FV>8LHV`hWY^vuGSMxxtp2CLi}_zhs$bwfb| z;FuITnN%yTB!eo-#9$~S>dtXx2M#9SY>F+oNp~cpVk?ojwL(qzBwm_;W6ayZ;q2t` zc5*m70B4)+XE1$iwvWm1gLC?{dsNCjI_(jK`smUEnLHx*THXWaw#XMrqzh#70c>#a zb@D-e0OZ0?{1?Fs{X?h`1d@6@x!N?%M`TbbOZ2(m#nNHqPIVUIFr^IJSKJl73Ui%&K4?FaO8)x-xsuezxX+v^p^r5@_c?R5(9xn;}vnK{K! zsBgY$xZz6_f$&Bw(IR`v$Ytb)t`04G+QaxDlJ zfD2pXeY4|}abnEGtXfs8IzPQ?MSY*ZUT2kFGd40#KuD_<3;hph$m9{U&z7H0Z_|4 z%5dzpgt34q8EhtJFLC<8%}OO+Y4f1jh8dhfk}JW6fssPJ*#7ulJ3RGj`o?yKD9JXH zv!zE#gS|=4mKmL_%za8Ic?htb%fAh|mEBhDpHiR|C4G zHsqV}avQ%#KRB1a2Ir6~oR>J&m*F?r(fWEBzY%~X2|n1IRyNE4*1{>D6d|;tWU!gM zIm>bu$-I@OmR&)2dy zNBg^vN;0oW(CMwldMB@$Yg&%&?;3qGI+K#dc#7ZGU%vNwcmg2&6rO))t7-cwS3{# zgul&p5OjL0(aEz{yWhV1+vh5JuaI~(5Omd~W110k*7JPWkm9Ojqc5I zgzC_cxL`46A?TMa`4?MPem|sPWzeg&>7|#xR$r6Yg?exvQ>g4T?30E=7_pJ<8YT`a zXgpk+mi(u3vdpoZ;xuREY#B2-$9XPrkxN|W3Rk(tb#8FeZtalKioCe0_#M)?`RsLC z7)CFI)S6Fs?AYiGU~gf^{#9)VHm=H;80M?kiGEY{1zl*%nr3S-5xh_Uz3>g&hC zCTij)X^JLos;VE}7H@&=@2JY^XDa=fe*rBKJ6^8)OJBu@8~=Ye$*nx_?=P2Cjp4(8 z{&k|?&zS4`*WX{IK8RCZY0w7DX?F3`uWI=nL`wjy1o83}tF2jd25d|~6h45%?J)g+ zd_(eO*ditjR7*o(q%HxWqj?Kra#Wx+z*fR71(fXVx+EZk58%M3{@AKM0dbTiYXUnF zPKC{i9-;UJ4lp1U4;$hAO0V__fhc?chHiB>MPK^l*4eT)0GKs}D}57pAkl7*(!)@r zuPK;;>V>H5c)VXCT%Zd*BHdmGNK_%SJ~fwyC$lr1Rwp0|AK(H9`r40B-dc&HvATeS z3n>jwqYR?BSf=JrrU``fRWd11amvQc@|Y2!kh2ZItPgQ7A_0iP2XO3m&(sAVLjD$Z z_W!blsexy(IU#V^U(0qY6A)jxD6APEonlyRN_ZWa0t81KGn)1=>jv&2Ed^)GiWyCDnwy3TKO9M#wH{Jbk#a){3Rz zY}ujt!MrPMHTrb@d$E7&Bue+@o>FWZw_nUXGzCtZ(N4Cb-K;z}Gn~7>H_;~M0JC?! zT{Zo_t*_Lri)G}V!91{3)x8XxO8FjDS~`oeUZcH~rn#@^B#M|Xa_kML!Ot_{;9S7#+6@d z9$bYxwr2`OwS7}*3RC1pO}{zyt5SKHVpHO#kW(0M%dCz7gU?nP1GGV$jvJK?R@jra zeT{xR?^yeOubm0VTS&F<6fC4+pWbHl*mQDo`>DR)6HjCQRdS=UqQ9<9>Ct0CG;X|4 z+wFZikWdVBP-;Kj)Y&-iz6#)c~G{(R|bYKIxGoKjD5 znJLx!G^qA&Ekcc}@~huvGiH3X$zuK0-`i?>UOQwcuCbe_0?(er0vaM}IXOu-?yG{bVprN?`{+}d&! zAv)DFdxDBi?haj{9j`lT)Fn*Q+cp+Gd7rw!u6cT+J)4}Oy(bwCzC_Cyoh{Yqyk1J* z@X);RyPomJbvpz^b?`Yo{=z<}|2It}wg!CO^RREg7gu5Ef2%hfCXyte1_K26Uma#{ zZ75|!$Gv^Wjr^25A;5AkDWj-5Y#J7FS`FliP?=Hb2;gWW3s~-UN+vp7G9E%EE=(4D zcqZJseLFEem3)b=@h55lEm!GZ%X9H{bQ>S4EKDg%c{(<_G!K0qjcM*v1mp;GvrpG$X>1b3=|yLmM0CJQ$y54-)-oOObbmJyM%=t3BY!=YnsJnmiN zk?lbk(yHCbhmF7_(Ie|JS;F~S^U@SI!F2cZ#!7jiX;yi()3Uq7A-+#J5B|-gS~p+f zO}Zl7B6-3}nN-cx40GN^Ei1p{x(G0kaTQWikvQgYk9eeCTwJSqA2{cPH(6-C?Xdlx z*Pn!ukq_`X!%Rn<fJwkJ{~h}Om8U@5x1IN?RHr{NRZl&W&p)pkD7b=P|e2TT}(*sAV%(4`~} z^7*?IDgcH8d9vO%eaJwr?$6zz9r-O64)XPb)|L@al^(#Gz-)`yI=?MO3Cgwv-}1er z_HAiI7TcE0ywA3!&`f^83cvFbOT_e?{b17?1rZb8%q|l{XQ(9Ar zBpMeHbIA7hP6S`Ui-J~Zn;I<|Jj6_v{V57DQCYBn4EuTP3amDO#og+3X(~l5OTO?_ yEB>&HS*=Ul%fdATwJK7qw+OofCtAxwoq&$iv+WXXAHJrH2MpuC(Y%KX0002zIEFm{ literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-800italic.woff b/static/fonts/source-code-pro-v20-latin-ext_latin-800italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..1ae744b27b895c45706517423f9d0809d259888c GIT binary patch literal 21140 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

      yPyC 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 literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-800italic.woff2 b/static/fonts/source-code-pro-v20-latin-ext_latin-800italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b0e79297088f04c5b48fe5b5219ec3daefa9c8f3 GIT binary patch literal 16100 zcmVum4qbQxER`&mYUrxr5Eq`FDY5ia-1`{?7qk6${K%QE{ zawW@l$DH?Ywxw)InNB~2=dDn0hr_CAjHyLVk=R@oe(X-vMt|dtJAbe9>iwkqbNd(Y z;fkeZjwd77W@ED{d7UMJQLy1Ky9XS!nL9gRMle^-o(?!3qoI++ub&>%hB6I6m|@Dix;QhBL}Ld_kmlh#9s zqBX18ON?jZfZh^$BBx%xP?7QasfUNT^-tLhR^qF9wg&*Y|A%ZAtWHcneMLY|+-v*Z2aG}EP=vwtNEG3&*iW{7~w|1wOoJMCMij{s2>^=|TX#qe^diDjH z+`WKw0)!LO5$Jquxa|?}a61oF{j`@#H-CR{R=v7f=ZFkQmyw|vJiU8A==9~3WI06? zBa@AeKojcXX29^gLsQ=8&Sbea9hy4GLDny_5TZ17_p;E<$b|qk)IM6@y7d^-{G|AM zwDmU{qR5uJ1H>ExPKROpJt5v5#5cVF69o#AAhF3nG9dMkPRQ(Fj=7x=WFe#vasYA^ zax=K?P9Fey96a;fORxF~$SCB;qSC+M$LE$C&pi1g;+LP4QskDas3I-3>#Xy2aR4M} zQNS^wSgeD$*i=d(R&;Xc;_)G11TrOvay1&8YA4$ zYPXx}I-u`rYOBGv+__J9t1YSmpO2>M2AF8bfC*<8)|XPR=8KJKG2|#)kK=Cpo?gWj zS5QmZ3{AX)H8m_#7$Wx`qSmD|u3VF_or~#ss{ZCp`4D1~G)wb;CpI zvvt&hTlB;f?4lNx2$A@NKAbKNGs~x3&wl$Y1?22~V&Gy90uPtc1hkaesXBDoQ(mL$ zbAJBx(O4f#qVoa&P4YhB^}{YSxf6yrz}kc+!8&alv*>|0n5cqRThK8$0Vbo@3|~ip zWqoJQpg98o^t5vaKtlkk&IRE1$huR@Z@CQF41Pz9qc?k*1-g(jF)DhsaBPXA898?$ zA~GxXe#MINOE(h5g-D=G`P#|rHf)tKI~?0=7 zKxfg#^gOzo7v?2+b-Xs-QVT5i<1{5EnMr3dnQSJXsbXrGwpO?nH{d4RihZ~f_uxT1 zLi#K=YYoj|JvMIR#-ackS9}Q~ivl`WSxW8yxAL~#`jxy)e}<#T!xBySQ04Kyc|Saw zXU!AxCi0R=l&T^(+wAoJU_%?z=4%USkvwdIm*>0f(8WZ_CrR~s;v)Mk#*P`rx~fZ% z@UzUiq8HXmOfpD+Fkhy!(u>t2z8Lf3=HtZS!PcP%(u;UJM41Ctzz8wz(bEb z_RK4TJ{zU*H7%r#*oZD zcqhRp>An&BPU5EwKcxC1n^KN3xm1uBz$OC9(}b#Ype7D9q^G`dYSVYO4vlfiGRRm< zCfYL7nkjj-&iJOp)sw)q_)T!9HvgpbUuyrRvamdh(pj3`;tW=1wJMvnIjzoaa{-(3 z>nm($#dcR}Pi6KNwXc{1l{;CPvsF6ha`mp(=t>R6>Tjq*bIWzK1jY+>>H5Dc`-?kR zg+o<3T$LkL3-LyN2e|6ZtE#dF5D=(XvdIXSO1X^|@`xV@(cQ z%hy}Tv67Bg;zXrRRqlM%t|fE5CO2x1M9EGkb)gy;t97Zm7T933jW*fhkr5vZ_(tJN z2#N{^Fo%HMub_Q!Jq7T(3ocgR6=WzaQ}p4h>vf!m8F2e`0@@wR-m9mhm%d_cUkDa` z3d-emlitL?)}PA1tcNbA5)S2j%+As5jcO!^-}cq5KDgX!h0lV0cbe__0(yCKpn)*^ z*Ve=^^l5S{dVJncD>Vf0tl$EpH{JV2q<17|k#*iB?$vpV>3Kb{EM_!@Tl3>nY|@vu zYT4+WrwB!S=J!|W_|v>TcDvLi=@1rLrB)C~K8z}X!i1>m!HjDuiFe9&7}&U`&RZE3 zT57KgUPK&eCqRAM&f|3UhNe}wEu+?^asiZnrrba747T()4_TGS8tb-sCmpIT;n|=c6YJ8fKnGZaK<&N%>i+|`lg(? zyUV7>tgrDXHD<94^~jW^wEzMt&YezR0+q&Nf;_gP6hS({Aw=>$G!|e*{B3Y|A*~86 zSg1&1^G31-=wZB(up@eRWg{YcEHMef#>8O+t(3SjaUgel;UCHb1fc6ExrlT5p=pG0 zy$l)ENnW!KkVmGy8Pzrj#j+SBMt%23?BFfFH^t?zcXus)#Y-ta;__(?RN4TcaKwpy zMuPjsX>l4_kv@D>N-N5tfJtPORFDayaE z3Po($S>!0jDunH{Dx+^Rx+sGfwSZG0(-|1Ikv49B1Dp93Kr@mmke=k+~%pQnv$P$WNz+# zq3dY3n4W>P-Fv>~PIEjy29|Jn+Uy&^?jEz)9GOPvlb)kMV$=*P)(soQzXGJb?Df%br!BsJ(g*TPbCLV*T@HY{4 zf`nel9vA|Bz~z1}2nQ9vo1QL>@X2Nqb_5QIUYw@I4&4F7Njn!=b^>oio5wUJwPU5l zlYA#~Kq~;IMKs%LNp!`fe2F>*nU1?UxoW1gs3o^Av`9jwHGo&Q6-D6SRvb5(KQDf* zhRjKFF3}wTju-K2B#AIhTmPI!YB~|<52{>zM*lhNc&Po&XkMu^%2)!%ZLE>2RFu*_ z2Zvmfh_k_?i)QyTqdkgWLLsl`9O6`XJ?s2@C5;n!kYavPIrduAFdUaQUkhU7fThQ_ z+7#1tf#3oR7-p>`5aC)Q#M0oMx}IFDaef6Dqp9``Wx`6eVSUW z4?&F$+SWApLPT`bj&G#e?2k^=zx1dd=bg>wid@sc-JAo!2|mN4C%YQTUvEQyhgCi_ z!r0yJ+2FiCStewHljrL`Cat>?UK!H{0A;ryTGhy@3fhMqq+?&zD+}A{hzB%5U;;gK z*jzVG+bSa7g7T+Pfvu0AI*L&g=uN`QN)p_$a`13uP5qKxPSdekm!&v;c@y%N;AU$0 z-gE|*+TvLxjmqV2?_u~O)qvaOdmtA&&{Y#91n5_x9f8`NRRchaA}CINi}rmVgVd`I z_PKQZY4|$W`|R;Mjyrm^+uRR`Jy`Yu-_?4&o7sjW^P95zT`V4QLSr@-NKuEoLaEsuK4LveP?=~bGWhpQOsA!Y7p>M;KSNTUr2bUw zgT{$<&MG=~fMFIE=Y7^ys@VY}B7)p(&iqbRT>Ydk%~y zwYmw7SakUelDgz2v<5RYkuJ{1k+>-C$L2b^9$xEX%@ik z{!^zuGYDDs3qU|vFN#Y?v zMdlpG4y;ZvqBMt#0mNR+0+|L1g+b=R|@7XlI>LbKaFwCwnY7%Z(zV z6+x+lavMJ5Lf_a)ev=o2A9)MkcXZpd{4A>{x3_N$*$4;5vzev>2D(QjR_ilvPDX4k z+`CBO7bdGO{Mw!-f>ov>c~%>YrUoou+r7u}!VjK!T`y#wN>1ZnxOhj^opIPbe#BToReCBi6?o-txAc|?ecUl;OgEkHD zktnh-G#77H`kUP@74KzS@^PxJt!nVNb87s_nuqd({geL+g$gW+WvdhZUfTQcL(g{{ zFD{31Tsv5I_&vwlBAkzoCiXxaOB<&RJf!FRf@Y-KttKpI6muqvmYK`^u7c*kM#kgJ zFNV^2<+RoNB3=QIzxa2(nQton$$#ino-$NhcwYqoPgA9AGa5;2qL{+r2EK%5UR*kF z>wedwecmG420)xv&309rA7hnEBML0twlhj)>+wz7TWoWj`gm)Sucj9RuMJ?DA@3F$ zK5R^U={|}EOF>t_?y=4qr;~1k4V4d02x5R1%A8*Tnkjfg$wM01t&Jd?0STEpA!W)F zJv0%wEuj^rbShQ5GSMY>{tnO*R)Q-AfYg6Bc;I>i9)d|t|~W|5=SIb*y2xBTOJ)s$zJq0vd6I_O^hMaDGF+$yBZdDhw{1Imw<*&lwS zd-}MI<~64RFItzS=;IzS=i`&6VL_K##thEMC}w)@C4`Ii0ME@~6eNRXi;fQK@WPa$ z7APrBjcY~bl8n4K&G7NK`75cyV9IK^-H^!d7b0VZ@u88bd{RRKH*ej?bnv< z_oV>ObLA!56~jZhA$&sPoJK#CpaBM+%a#^UKg0%80S%Z|U%RHSR@5)EszIk?iB|NE zE`L{w3QtJeC%06^^dFGyS`zIkIw4CHn}-9el_Du4HQjx+ajb0+s?2 z4IJxZ5LL4brTKjnbWUUW6o_ng)jBreii9nn;laC#q!R?$RAGFFnrWnJ#T9Sx&@__J zCApC1?%ck5)W;>unWw=O<93la-x2MGTCTuAbz+oQX8?paKlqwV9WWxgV%a#|tybn) z$!8EQ`udTszIqQHB56p6sFe+HjT*Lv1BoTzLYEwbt+9Ys#42o!tioGHu+JMmJFnmS zrI)-(o01JLWp%>DKGwUry>Ae^Rj4_yXEjH6yveN!~JE^k?8 zRY}z#_gcjEI3DFR8+z2+ly0^>j3V-oXfHORUYArbUq#qKQ)-6}mxBpH7Ew`6ou$Ak zw`I-$!E+6s!}CxC6mW@ByCE(JQ!p_l8va>IrL(V;oBy#5pHHb$4l1c)s)V2tl!H=A z1TN+{$2l_S-CXgsfUM7^#+f{XRv%6W(<`tUq=RtEtQGg#gQxC|INp{-Y{$H8QscO% z(;txX+QRTsJAjwjw1S_5Kj~Y&f>TSBs;-oDBy)XB>YW_~xwhB-JL(>gr;7QEKM^yf z^eHsOCbjyN@;sPPmPb{#Q1t#w`YTWWVOxfpNxae)`3t2F#B>bKzbv_qEawWWB9sTk z*6v<%&>A@EkkOuk4^{y(-L%Tlv3A#DpIpZZR=jHRVzN=}oaVbLC8X<*egdrf02|Q9*fiR ztc$jUNV!M@OCD=3n!&Pl1l_iaSCPM%{CjAX_n}{X?XS-PH3!syo&0Wn4)suepp57G zQ9ThqATnz&;6AW8T)3;CB;Z;+Et?~~U#M|QTd8~agmHKaJVu`$n+BEf;=y&XEu=OH zu?-LghF`ZN=(*-B9^?O8F}Z0g8U8@|B9Sj;vBFd#pnazhMfTXm>%O4#|8=ti1I*WM z()SeE+1-ZfVpknst0_|-Px>j1B*yUfY%|&~R*-BHQff4zFK6!dkbu^}@WkNS{=sV1 zSb257!o!)z%qh*zo?8)gS~NIdIWT;L&_^LIyie%6PoLlrdV%VS_D>>E*4|#c@V8aZ zfeZ7uoAP>!id1XkjW6lk=9qd%!cRHCU=DxC8ti3GwAV_~$?p;8*5JDD=ycwu41flP zCzKC&$RExf7#>%nj%T9)oYcE6v}OaT?~RJQu4sF~_ppLG3%$Ig^`bbt7h%gGJ~QfD zU3>;^HYJ;K!PMcmzGNRA8yFtX#X8^f3ya6(_rdIe;R%Z!zY-#x zVVPlFz{RWRL9o&Om7_79%jjxF8cS|y+f0k8q&X9;twX#)=pz#P-l#)>|2SFI6{Urvwz3IVvuZw8 z9N^M6F|5}-3)c7suyyY4W)=8LJ-iv2gPC5J0=dETGo1T|b0>qt0IMDul~?eGh8@uA zyHEbBN;n&vaXf7{FvFmV4VyQai_1sf8JV2^K69FdoYIRkUva$;xR1n5s!860#Ip|8 zW5$W#f*n)dF5^zg(!8C!gOEqFJ}F%cCIuhNzp{z7JBcc&h1`AX*IQM)w}`LvFM-!1 zg>}T9pVNw0-V3!7dp=4p2Cu<9#fi90Jl|7VuFRI(SO|!9e)UuvSRmMl5ZO)saW{MN z%$sN`r5bM&%0<8uCUmhS)5AR@=O-BJsSVRXh|3E^lKp=>xJxRO?r!pvBm(q)&oM*=NkovkWoXKAQsIg^~bt)H7~&6aQ%?olPol>%@K<{rz3 z@GUuIcAU0;eB}HIVueq>N6W-O3ua16wN-wbv?V`KFVa*uHWxFm>Do|n*ixc0HKUt_ zgN~4_GRf;4n#fMU$*M2UVSyR7FZ8SCCX$+bW``-}@1yZmE0QlR$#KmuLp8WgaN~+S z$&DFn&w40)ig)KOj2&_z$Pxrgk`bG*%^iwKl$u&0CgxWDhzx|vTDhqnYGW^B-7hr+ z{AXpoe5nAiN6t?O-XMe_3pV`6G+0cgv}~nbHLhVv)v1J90@WsbGU25EjPRr$T1%B10f<#o6) zk||;Gh`TpBMI!DB2?B5MbS$?=h_fJw<*CTsw`}=y9j#gS%|^X_$CMA?Ay2&)q5v}g zo|VFuX9>pGo=|5etTtI|C{QoVwO4P~leUC{zkMa$q+5ENiJ$d$2Jw!*A|vZFKs>p8 zcegzyJ0OyJ3zPAvd3=6xeukCio(?Z3ESg|azEWUpLV1)%UVNUl{jHw?_atSBsPo`?)zi-DInvfW?^r0W_q}gT_o?1 z#$9z_SIRUG1ab=F-etYL{NU6c$e!sltO7{m#jmz%b_4V`(>nf~;1;x}+{EbUl;NVI*5Zawul8I`T~%7nG(1wNS@Z9$jx^rAGW?<#krbDEj2>E6PI$DuC8Z4 zWPe85dBQV9PwYCn}$B+HnF>jcDv>-Sx2ECJpp`-!+bg_>y=WHQi)*ZuXx4G z^lMlYBptgAgM@;$KV@#r;CO_djIiyd#FS7uHzp=`HTIkId)V|v>9apsLUpv6(lsxg ztayOAXtl<%s%K-q;tMiCx32~A^6+FoL-V;tP)ed$W(&rPRGl!8xYbv8ZWQI zV-6@MdWss+5~1rwxBZKzd%y3a7}x6QnS6TZG|=rO2>c8E>EvD;ZHL?y`2(H z-yq7j*i&H0T$0YO#Pc~8n@~na5T!Ls-<*y6jY7Sh7AOTi64pN>EG8%#>6-g#_yVWZAYi?ZUB1oVEWcLQ&opaslRWTcA@J$`{3prA4BDxE`dGjs zYW7j<2g4q;v{n0F+zo=jRkXO_6n-i53Q(Gow=?^BEZ z*?yffHC$U-0DQ1WkF?%rzxCUt3Y0f}O?8E#yAE*SRlZhM*APZbvGNwzml1V-8}ptE$Cz*ZOLm9uhuCWpK#lGj4f`|#b;-)%OxRx6y5834b* z%If-C6(~>b5VrAAk&aD4VeilMk(zC0nN2RRQg>*Ry3wrHLJY$1o`n2 zNyBbCj5xS#VgL9`OLj`aJ_RswU!(>^1EDWNO8+l5=Qk$vmd}50rWBtaM;j20#6D1Z z{phA4lL0&F$WdN#E8kaHWMW0wY|b)ECGxPP9&?m{`Uj1O;(}t{&WY|@id0B-MvcIC782pEq^~Pdln&%I{c^7UDv-<4+ zv9wJ>mDws&^lPoAmM$;28Fo(&eR3Jx1CMofRd)SXx}&{lzT zqi{f&+rVcYI52Px_2?V07-sY(qY2A+Yse%msKh+b>?B(BF`oqMGCd{Zd!9?RF!BqE zvmQcuGh}0Q+U}Sj{wUF0N=bC*)qmmUY2M+9aX8Kh+{xuqa0CIt1h<1KScVUqs;!nM zC~1dor(yd2rd~QF_oI*0WQv!}d%iz*Ydrb)A$@r=+p37rmDX&Q{LQO*>1oY$To+p@ z4Hn9BdF=jpLj4k9?SsZp?pJ@!^LR!W13=i2{DN+PtfKFM9t7!eNq+manSF700ZmFr zdIBx1WnqGlW_xAtCne)=i%+btmTIE*kfXCxZ0sV|u z3U6jZ&X^?RlY?1TG-2B6yt?v_X)*`gY|Vd<&>4;2z&6jD0}$0y^Ac0;YR+;I`PyTe zz$Fyln*A^N@eDEkZ;_aqn|x@U`}Y@Xy!x0v?>k@@%vMxj$IBIwjwGS;_t;y~y;y>q z-g5DwUBtNK^FOAUH+_M7CpBDEOhg>l9x0{0v)%zOxTd|SgmqolfhBH?gDcibLOumZkMqZ#q`7X|wCQGKn(Ako)D)6= zH|wo@8(e@DSC+YRWdWb2Nb1Y{*Cs6mh51}a&(3Kpt$_$#)IFLx@5Q8Rj#n<#j2hL7 z;*xB=)#);-Bwl-NP-+*y!KQPWOfv&@k0iUUy~amjr4HI&!ryfaM7>oo3OfF{g4 z;BFp8M;}T|oUL^!s|oV}5*7C3^(0G6QHcV82b1T1yc?nk-WM(&$ zD-=j^fBA1|_L+JJeUEt^MTPjR0-nN?lP8V)Ox0|l53?mSId!&#a%-%uFV7=&P>4Ur z{IhPe`3_!AfWDwG+a}nO4fM!o+KQICx;#3_PD@1$~ek;Psn$gw6h>RLy&a%-%;PYXV= zSR>}aCNspjVlHhG)Llb*ESMtq7_O69wP!ksg%YyxFL5NnJgV^|I)1G8sG( zTdJ{b;j~s|ayN^z7@x?H_I0SWfd^9=2>i$f%18(iLvg<6$&FS8_d~u^Zv!8t(7D#Y zK>2$&QG{JM`s0IMXM45EA@xyiNsAee3Ib0<{gV7E^Im%ap)&Y=!pi-um7)6}H&Z^U zwVGSHydG4V=Xam=B(cipP?#x7lMQ@Kwu0(uhH`aP}{WS-EO?U!16 z+#d|@t}r?ZhHB>BU0$qSM+cP`9iidcxp$WptJl-YO**slV%wQX9FVS0{Unxw44fZ* z^=vW$AlBc!arvn~#Q0!+%A62Sb9;+(J~7#6GfZU+;eY@|4flA-pf)y&|{&-2bPvG?c3L^Bu}o zdAa<2g9{+GGrDRA>(RiyM|TGA0K@j#Z`RJ8eX^ZBH+XJ9cKW+07>&2iTR-69n8!uZ zNq^ezts<;r(rw*p7sN-wE5Q!vw%LUF8)lOZcS{a$n~k5pX?7e6e)6juBz>Nup*uXr z=eV@<`$nG_?K)xk*G&e~J3lcf9bDhDJ;zx7rkLx0ZU?cGLAyEqFSFx8v0UN_iPf@L zCO_ZL{f34;fx}*3fZZAsiJs2}_&2mwB3(%5lGlXIjr2TP*}DL}>dT4MUxK?c&DDmS zIiZ+(yt-i^*9}adTA$OEAI%ysZyL1Qc;hqs<^GqXLN=f zE^T9_CPz^4=gr9CDXP;FVi-P0fZs zl|h-TK%Hx_Wh?XL@~}GBXt~3GtCZfzV6RZHbGT>@JoO@iF;3q`Gey}x9gs9A{>pOw zt1v)Q2anHiKv)h%yw0Err&qALAi)VOW7!c+)3J_fJGNsb3GMU};f18ErA@GpJ7dEE8P$G6a8ubx>9isq^B%#s}_v*%-wPU}(_u8_^#gob44Xa&n}$kD+j40UdiGZ&90l&dq~}>z@4p~2w`()#rD#lj8Zr%qTJe?q z!5aqGC*saCG5AK4+oqKi<;%g3(f~J+`^KIDv*EwMCXbL5ECBzjG8-N;^PNIMuq&ea zm7C0|jO+rx&m>$TFs`wP+X&1HU~5mu{=fC9w(hxZ1o|^F>n4rD<`@bqKx$KFtHqjC z5mw2Gi+@V_GvDNlOiKxtrWd3=e@9q2)QHA<7xNjtK+~iPIjwe0Sxl0p3pj0db!k*0 zD4=EGsnl{JCCQ^w+JV>XbVvP_O9=wHd#l+W_1TMh8fi3fUUh*bROx?}E2R5gwG@=P z9kHP@8tHCsdzgm!g~KgnQfWv3>H#oTb`jmAC@m?;9#gRe^YO@{)87~?&}Pyia?N04p>DaQoS+Qz-N;fhpL!|zT2PiK~=^F0D&$uk%I{fBh^cH zY7%v7YficBR=E$lkCdVI;0g(|IR3eq{|tJUrJ+K_5OI1D*rz7~&_C^w)h^l_ysZmKMNd6laqDb}_tV16RGgX2;<(iUp z7corh$$9g|nrNviWdd8}ff8|bfC)2KYjWB`@vQX~4KL+-Y^A!FOWd=jaimVUDnzc$ zwreb6(T`W{<%l-%&8l=vu_8UCSkPQDKx*#L>WWn~?7uO33J{hcGz;b0)C0GKph~0* zh!*xNlSc6utd!mS?2-87_YC(;ENqrvSVsU#7}9G7GHcvs5*K0fJ(-a4GWnWl<04H^8_s$+>ceg03(R6!fRxmjW%fm@hjtOV^NAhT^R&;UW|$;p zRW)tZpC2%`Rx!2$HY_{N(zrBohTZhnJKsO1I5>k`bUH6qQO4JX>mx21-ID*~3)8>m zw7p!K316(Jx!l5p#StzqbZc7Rc_-!aK)0j?KnBc|$knuls?>H~RJF^NpR+FNopqI) zVa-$q$jKZ>wnZx6Sf2f^x%`RDX`m`~ED$>V_5zk`gf>rpsm>%irVr!ioJ6>Hek~K| zl%=KGE~;61_J(^_6T&rf>FBTR&ex=1%fQQH$>&pp%u@<7I;ES)w_;}mYv+BW+uE_9 zUAacE-8uAj*;+yM-hNTQDo{7$Fs^gTpzBEOjQ4*T+USUH)}`v%U~e40Nb~SU`|axr ztS&rs80m^b$54U8kwc$~kijV`2t55gZ{@}5YLm)pPxj{&E3;-=i==9gRm=HPEES{F zHFKe=px62luKCa;DgbnwSL#MW-%Q;6uL!+gXU)D=o>rI-WuT+Ls&jpFc-z5=mG8Zq z=K}vM-G8k9*tzCmcwooXU#$mQ+dS^km7}XXo=$_UoD4Av#78;5vDv?IC}r2(vu0g; zuFOC42OifR*IPDo7o-JL(Vntp50rs_MwT6`Ken%V-;=;)lx+=H8$cv|(@3}7Rmp;*QQbd(;u2V$N)MgI7=C)onb_idE ziKcnBLs8G*(8|h`rca8AiWk)o$-59TCU;eAX;)YaY+y34gk1`^Xt2coMRS6BtHU59 zMT{lQ4At1d>TZ@nCUTa?;5(Ce|)dS+UI2T6EThs+u!%+*b?0d# zk!0WDAXAM%Zn5H=h%ROTi3Q&~u)o)3x zI0X92WuAWShk5}@wO2C#U}cW@6_4iy0nalI@xZ!LqiE3J!5m<02@jasU3NSw9_R<6 zOa1|ua68mc+4b%|z~*G4hrf>ei$ipZw-%b7TFqP@>M~#jJCY8W7_ z7WO9=WKA)H)4BA?)6Rxirn6)!ep;9Eff2tyNw|)q579{%2(%Sv2$#ni8sYs#?Te3V z5{ujhpnZXGpGa<|6TT*qqbCOynMSz(*sLA+cEND5HTkL7y(;)pEHi6#`&3-oS2NPA zv~AvI{yBiOGmk#yvH5H>+%7=cHy@q*4tk>7%8Zb9R6!ORrM4F-aRY5U8W9+h@7ICp@sQGY;7vUpvqbNLD#z zC5t$;fjG1Hi#q)Sf7Rtd#w&8W`xLL)B7J}#gUj17)Q&~NT?^PP0Fg}3&dAK8rh*)E zD2iC4x?=fN#L*R*Q&nm{RlwyJ>iqS~eex}b$SJD_k<7`?$jqvTG#vGjnOS`W=+9Uk zk)|^M`<(n~@l{pT>sD()OC-~?GqQ3jOM4BE6Wf;sic~s7T;zR=-=W*b+*v}*$;#CK zvS<=Tn$q_aXj>CecMt$pi8zkm&~noIqM%=6lvh>!lnVr=IpuZP+ne`D)R;fug>4Q(P6Ek+bcudBu zQOtgv$uzfm744Dz9nb>HvPL*^aG-#OgU;7D{Su?piX7bl5J+@v3_Ni#4erxOlxI}{ z?0s$4AGTjOC-a-8*yg86DN;E*XaI?WPrsP(#n&%VORRBO51J{LsY{Uc6@fx6+WStq zy7`4bqGMxV;(;d){_ul;`jXokAtiM4wIh(!8V~I`5J+ru<$a3a`K!46&x%i z7gL%31!f~vW-cHBNdHrx&-#Re{u6v3uYEoz`&7=}ocCHw8~IE7Q{5~GZGkP+!d(5< z*A>Ust!PZMOrvEZZ24gMeN19JTtcg+&t^^yM*W^+ORTFMw-a`9&nf)lZ>Q~yowajz z-Y(chyJVN`ie0s9gX<5F=tX(;OKU%49j~8qYJ%AY89BL~o_X53Q=f~4*8e8{_N;0& zZiYd&8)KNM(3!T2I+JqM3o=d?4r}pv@ns<^Imt#YtD-Lq?!Bz}tlwkz^5#d+Y+m8~ zf&UfQKq$9%UEc05lm6V>=@C^|(lIaQqtp59qQR;J@Ji1K4-~ z05K|ZzoY&cSY6^5pe;r85G;}h&%`08^dKrCSSRRw%S=(%p5&zOSl5%Br-B*D@E0={ zDkaeZ_9+@l9%>SY!KBaflT3>$DSWD>B6v|+V??zWV5!5a^(Q8`jx)>KiZnIT4qsr+b3Le8eF^h!-emVj6w1R1laT}fc!DTf8gGf7Ea z@Kh53r^Xh=dL(VrN-yDDs-~8dVyV%dXs)7`dQ2{HtT}~Eghs2yd-+7oYo^Vd6V zZ(S4Q<6N?tkFewunqJFLA|8nl_5`kwZyxlbR$GmnoT~M9hhN6*Uz)!>l#bIrQ7+9M;Xm}#87JDW7!HET-(Kj8ynHOV|;KJ3Q5WjB}QRLkZMbe5mh_SuH zIfNK3XG)_#G|ox5*BI7TlWTURo64n(86pX{h3n?uvJeTm_Zc#P>kBub;8nfd>qV~_ z)cit2%&LaM=kO?EH{NG4Xc7JIl3YQIT{D1kZGllV6p@hbb2T&6SQI(IY#9p8%f36w zS$4nS8Idigq(82*ZCym1RoXS*xXZDB2jY=S9OP@H<^)?~+~|9z5>lqvNm&mQ(@FFTEU%YVzGmiBbhiKd#}Zm4K{r}+g}iXvx}I|{x2u!6cYFJLGoqecXdE2;Cbs5=k*&FY z^lKg-P3@gY9F2GV_v6!#BO!ZH1=3crh}_lzPBHT5JHtDSinR;^>Y02T*``Ds|E(j4 z!GOP;#_fRrZ!51@54r7H!$=q)@PBm7xtWQW)P$RyTxab6@UBUufpwFSP+BaxbAqs` z(c~8;P3DZ5V>1*@C>b}8r6TdM`QdYt0-TCj12{U@AT~M!_`+E6WF>@Y-sc)_Zf>iO ziBI`;!dmBtsj=KIrz&LUi0_Zhnrbxb`f*$xa9A`CfO#bS-7nggA!{SiT-2vWsXrby^?-ANIA9pG!L>8zs^E}UOREF@pgY+<7UB?pzyMyxR+mW;WH zDE|qh#YvxC_FFAik#fmoHj`;puHH1O$<^5FPlwF6UBB&iTdUV`PaU+`XQzF0(*|43 zcN>cX9cJ_;uKU7JblKBkjZef$v=CeYVt~ncNa-SFkYx(xG{T|J_^f$7Cc?w3dAK)m zV1xAzyW_p=5L^NoIdv=s?oB(9-aNOFv~9iV zDp>iAD^nDWH#_F+sOwm*K&27|EA^ta6ebkxDSPpRW&V0v(A{cbjgw>pX~$%vaIV6w q;=IOK+1$fDLAcnq^{m5UpSn*Q0oE6=_7DQu=l=9!`W{9B0000?c_Q!t literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-900.woff b/static/fonts/source-code-pro-v20-latin-ext_latin-900.woff new file mode 100644 index 0000000000000000000000000000000000000000..d100787f2450b14ea021f1d50268f11664b2d0a9 GIT binary patch literal 19420 zcmZs>b95$6@HU)ev$5@DV{B~Owyit1Z6}+JZQHhe2OHbA`Q`b&IPV|doVm`Ns=0c) zr>eT9dQQ8^i;01Nf_xv+>mW$~UBiLj^8aZ5lm6dBTtrk11O(LjTbJ~WS0V%=ZE*#8 zWe^ZB@Ne1j8^P8eqxlU3z3TZQWfegc z5D;**Z<*&CB1fQ;{>C+#C|aogpmbcYG?uiBAolpVfzob#H+sm-^y>@^0!R*4N?eZkR*VOv-`L1`Fnh8 z-+g5(aL657+ZliJL>Ip0@9}|W>oW?L|}nnmbQjArr$c5@3!Cf zeu%gvCNbLEIXQpZuk)LO@gMK26@=N|(e(Si^!M{XApZjZB09u<6@Cy@EC>`tVCM;f zC>7tp9|W$aJc3Kmf(YvzJRp3_7Aes=5(J7%1O{1=LV_swXiwMx5+t>DA{cZf3QsJS zcqH?l%G`&bEnG)zcvN;jxuZLdM}&YxKK^J_dOxYfH_lsxk3`@5Nq(RG7Bh?MBCR2t z`zj=g0MBzPNU!}osY0*gGA5(@wq1N=vwg@f@{m0EdvNZntYe@M{RUVdz^AGtxPV^7 zW2mfO0Y9As(qOcAFr5n!7HlkO#oV`{RhlgiZ1o9?9^<`E{>o=9us>xK20N$_p&hL^ zsx6VbEkYp)85)uxB@3B;`oPN@Vq85BUiV0H%A$o4meZmG{_9IN_D8g?BAVz@`_;c@ z8wk^d+-BT`=9tn*+zLj^Avw#qi-;-c;rEwzo>hTd{x^5IPP2_<-e`W`r`4asIo+&Ll!Gb(LNr`Ji`Y<%DBZ`tWZ9|gOG;OjT7Bw{n`OjYYK@Ag3!mH(uMw6HRt;3RBv=Oa`7{fT>hz+F8`6t*T7;g=N$NxOr*Z^Dz0fHO?0s@(# ztiM+!J6o~8biDVE=HJwTW4J_fLnM&D0=&u>b2 z%HMwVoHF`Ys5F2+*!Vd{fj0jSZzHs<@IM96FEVn_ZA_3u%r~m;oSs9k=b-NF8mla= z?&24&?)n;&y7#K%#d>X2+nAo0`$L~4q~JD?=F|&j?oeh1_up|x5f~J=)OrJF?mz5y ze>}r)_H{gm`&@$S@8iA)>bHr|MMxjigH@MmimIdgZApHfUPy5cSr%k6z<(mh*YA^=ZYumo`{P&fG>7s6T07F`=<|%huQxGd76M)2VsLs-@eDRmb*?wtptUpCHO4&C$~@%kxf{FPVs zH9PmGkpX-PZb*}Rb{yEq7QJI(4$g%Y@hDbUF?(Xf;)#>dJzUb_AUlc8%`ll5%|JUK zJLJyH*f%M|28%j1?(D=kus+E~$UHS56jk3#{JRN_hIYh~rgk{8vI*s^auTAVe%|xE z3Hgn~8a8${lBBtjfuBw(VYb-3qG@y(KK+fKM0U!vqITBOx}Gbest?2JZxpwRx>#DM zly`B8!|1q+qhp4HnMv%6rU~P%eOy0J5!4LjxD)kl1P;W)4W{KAv&%<}=cgR*z}%v} zGYeBzw2*nh+!U5GJ2`K(C_gH2D;SOe*;rdhNA>Y{ljW!g68|+uolk{3~z@?paB>n}Rr>OP{T` z;g&7Xs(v*EkndXI>k9vqMvy%s=Ec8{1(=BDnctKR<=xS(4p%YZxXA3bq@v2#aRentROm%T zrLI0|SLQ-_wffXaj60o6?hjcNDT@;}FcItd8du`zo}Z6;Di#@5b~#qYHPe1i9cV)e zthtI{I9lUkFI3bOQ)V*c1%lMfyNG2uV`eZfI-^%hY~2ghON9CfR~jA7-5qwVXs{th zMV@SFlZz)F;`+4BMXLEY8uJ~jfrr9$DKWfQFyK6B`AkvlCpbQlj*2P?^rA;jAz+E7 z$st0%IVzScsWJ)zv%iz_@pa?kOo!#7-S~Gim`uCkwJ25O-EW7>M(IqQC%&2v>dZqM zHZ_B&I9FGiSa+DF3g^*eN#m8p;_;OHutpuDoie}9KmEEqp5OM=EGh{i7L1iVeW#SS zo`(_7?y}?i`efy{9nnfP{38Pkc33@QGz$nX3yzuIUMO;i+?|a^B6ul?4$ul4g~u@* z#;NYVYQLQKAPTwccbQ?7L$!8kKXKi!LfE`gwlnrEtMWxR3qzJ=W zil+CoDfTaP$}!iwSU~uk@EM&)~vKaMCM5ey;&D0g6R+aW-?35?{?O^ z?XNh$!;G{3LLb3Db4N~#tzXMquo&G7;gRKlJa&1-W173GM7v82Dgkvr9h9Fsw5}T+ z`%^I|+9Pv_81_Lo44C{7)uWg__}VQaw_qMX^9c%w4z@^Uo4vb=iS2gtx?-NbfgHj2 zYjC^T;@FP5!;W?QNy+VBPoTV*(V(E7>6=Jg z6*hFGR_))&2UG{OY)^8GI!m_;G3l2;zsvPVzg^@))=Lx zF}Wkoq>;<(QvJr1D`ki!zU7c?qY^xa3f4;j^W_a)#A->&yfDA?m(wH(*{w&7Giurpe?DvW`YuT%g-w>w>}5~ue^V#KaCa3JjrNp<<3rBrb>jE^60`timPygo*uS=^xQ)Y~`(253PD z7Kd+gjG|6mq8Qb4trwObnMk73)fE=iAwGZ35I?TB7?Vo}QUPwNLc#-eE`BO})rsIE zS~?cO>T#+Tiow?NWIPW2W=xa4!PsSPCuvED+-(772f5Lhm%=F(eIp{0!Wd zoavNUB-3XCUahUr#cJCBRWL)yDjpzqbKaV?OwIWny84Zu@@`t{C`?Sfh}c1fm=kv5 z1)yWdA5NK@wxRFB`E%etKG>#DvCp2z*=i9p+Rg1=O0{uy7VXQ)ky6@B>C{lI)=wmj zadIWtn0i^AA%wy1NU zvzh2KYoq8NpI!fTqBzY*j=}8AZl4`c=LNgdor>uP;=wG#58eS?1vc?_%8a3R-D2)# z%l9u*SvhxmzhJ?fo{}qq_tO|G4AKT+QsS+{uto`2M!-j zb<#wKR~2g0r?o|)xsBq4(gIs;2#C#1cNZrOkKCcz)wazM2@{wQv5lr?hQC5r&F!>i z>Q)sK)($Q8CFo*Jg3}DNI3YveF2UmLgk8O7(Tx_za#}jPOg0ypIz}rh>-9UC|E!>~ za#v!tjpDXux zrCLjCvJx`8C%fP0`fRS|Vb9-xJ|2HQnXN3nVB;SuMV$$yBE_5CbzLCl2=QL9#mt~Z z-&6Ly5Uu(q{u|t2S`jS5aa_wC%jvr&PEP?JazqKR2}?vVWxJGPqk*{*dWlx6 zj>k`)&|YA2ZrF_$AIQG%!d-3vEEh4?!U8l34*4SJ^6-LM@#?7a-de>XwIMuIjT|Rf zsP3oHWPLWUWoI@60=jtLH?V=0KjgeIJ^B4|j^6nFN@{s=hfNK<%*ZqUhMu$IK1^I- zkF+`Ylv?4zY0l0Y# z<7UV*N!G+`Y|u0+_bBG*K)pCTKekJenWni5B8Oz-ma{v2B$c9X;bbN<03V;Dt*}ZX z8kxqXBrXlJ%|xKb*K-TEQPjV9qzGfcR`Qn9&lbTVW7$DZUF zLW5?xGRo(A(?L=D}{^;*x4z<{{qZ!oCB1 z#bkm@pT|G<3uOg1$muj6@|^63i_2dJ zdrt*;Z;HPQL#V(j&Y=hWLw`DJ{lIZgCL!3}YInDd=_g8|ypLoxpDD;7gb2%@&D##E zR7%~87NonvZyRO5!86bO5)BfeHY9aSGmMig2K;4Vj6Mv>w!(p)^Z}Hq1le}u;=zTn zLm&_y@<9e&)sGi^ewH@r@la2`Q7hnN?*tEpq^3yKeZ9nC=EHOd%~=B;Kkr}o^(D&i zs3X=X5sAm_-lCyN-XH2(o@*SG2`S!;vMxc}1-4{Xh3i^n;4NRbQc1K@be8ZUCNj2s z+T>0DN^4Ci$E{==!z`9?bRO(H+T{=Qvs=! zbyo@Ov;7Y<`geQ=y|;04^cpeKnT%eaKQxPMiF2w z6#g%ON-)7M0QY(Zcw!M&?XnmEQ~)z1%B-+~ z{Pyv(uhA8>R(3o4WHv8YA_k_1R4Z-e&RYL9iWV`zJvE;cP4-=$9Ltor!Xr0u-C1%` z1NsnGAHq*Dr^3{O9nH%INs>Z3O@v2VN~9oO1I%0TLCU>LD}S@G*^b!NSAZ+iO1@dN z<*kbj_qeB7V`u!QE!L!LN+uXfL+QS^ioX=YD)x@zwGQJ5)G00P|1vpa;GyU-LEtcB zr1~9)O#%>tVZ0vC9Gn(R>X{6X;!mBDmz4vPK3tmUiK);y+J6PAfe0DQiEtAJO%i7P zGJ4tLu4N0ajrU^U$798mM&0K4vK?D?Rduz-FOsriII}1lL_**+cnVeSy4rkSopn+E zb&c!wHKj$F@swkzE9r4&paK672_y)76+Olhyd!oF%#}p`wuVMVLVRnF?pSq02+O%@WAEnsv$4tFbYU|qtEkvB3*ZFLO0JGQl9sSo zmKa^YXOjw>^tfIaXMeX~Ws+I6r>-;rQSgJo%Q1|75Zd|Bl)xH~Vpfl`buR<(TFD-$qx4bKJt5DMC$z zzjnBx3`WAyW0aelJJ{CpUPRNv9F`^&mmrWduKxFt=`R3sL9=KPRMKo#6!-H&RIzDU zA2a1`lQbo~s0C+Kut@A8YvaqK`0`35AB6M(SF(4t0P>rT1MkFGcpJ+9F%E}d(Enqc z%U=MU;8p#yrh#1Wn|OE&u((*iZE{XXJkS%GY5;z{6~0_O@gBhW46E0x))r*3g<{M`M~=KoYn~Kt&1^4Ej!Sgb%9oB1S%afZx0;)mJ)#M2`VU^Klg~l zGF@V-si@VDeH@o-GB}{;I++%FWUabDBjg2j`akSQAao$PC?F!&5ZUujt|l^<5U>;q ze}FRW2=p`;)?K|c>&kdJg3?tg;&mD33%=ZZX(%RxVC*{f`6Ms5ff4FJl+NQgV3sb+ z=rznZ?h^nw7LW6N;_M+eM)CZW9ufU;Blpr>2PMjwI&V>osFj+KL$W6{AUcV7r&{rK z7UbHIf08=~ym{+5M*{kUBr5>16iis~H*Z7N_`BcaAZKx<@0(+H-BswiVLuE&yHDCS z#)+8tLnu=mGYQWQoE96WAQy|4E>8x!U^y@%hgMAj!ASOH1AQ_l;7C6B5ov+`e>va^ z#ktF$x=j~1&{e4-kIXWn|2uPd!2Is`Z4+;KUUx67A62yuPtC?t@4K514{MwF^7zY1 z_X1cdI~=UeSuLih4fL!2n5~2S6k%Uo*K-LKPx3vBmNI2M^+tGU-a9GnP%vuAi)zA8 z62IcaaB_VtswcVV#q2>0ZZbgomxWInwDBv@wK_7{J<&8JPxP0KDfa45xAb!^$yP>% zICJWLATL);=!)A7LSk%2k@v8j2q;-6V#wKoNad;2|9@QkPe||z0bK*lQiH&!BImv* z75zfbkE^<&WHV+Ow^f6Hiek|QoZ4EpmP$J&(dJE<8wm}v?6VfHqPc7eHoC2-v&?eb z2fdQWNf#U)U2>fVCGaE#@CyvdYwf^lUDgYn)_E)+&~q0W^utOQG3)9gz`qTVRo48Q z)Y>%Hq!szgWvxPX*QVC>z<}7KkCrd%hc2;g2_fqU%>{xRIbvISjJZg)d_CkI5onx2%1zn9 z%$0}`>s({-sVE>XcudrPxz;1mv`tqk5aR$#xAM1e$9^C?0ZJR4gYS+=KGZc2$|B$*Z|=*Ru$#Vo%#tL?Nup zqd=tBlNTyJ7{et@4k*EEo1+{N2&FXogxSPBFOA>QzWii?jSPD7BSkz zM}LX}+*^JH+}FL$O^PIj0Yz?Y#CsbY2QG28stuG{%O_9b3_0G{;~WI`;Q+M6V~Rch zQqsCH@Rb#Q2=XCcDPA$_k`mTS`{fJhkhzkQn|x5yd^z*Pj^!5I zig2)II#mD_!n%?UgeCeyL+~6s)TuT)d^qq7Ts9o|GcZ)-xCA^V++6{M#l~L>1^8oq zJyEJprzGxaok`zmN!O3v&$jf-`lF$yj%;fl@@uh5w?ppwdah@7DsI#B%*uM9V5xmC z!jcvFs#@y-B5EkN1!YB(*c73#5Yz>Tou0p1R$YV~i8|zm$(ceAAKrTGSiFTiTPhgX ztQvAQ+WxR@dz1EB%}V;tk#bYmMN8&oubQWV-7rREg|l!vyI)TU4lhv;eYN_K;PaNR z$P;LG6RIe;5HN6a}d&yOrn$x-C=+m`j7N>YS*w`TCO)5)Cc(C%jz-3R^;wJ@S}t5kKDAi7cM=|ySBn7Gm8>0W zw)KvRB{b_a#zd4wN3VJl_0q%N$wQ)gDC@6Z%v-M+We`&INGuDJ4`NbiUdZU8`lFu; z_dnS|Nq%9WXc?W|REPH&e9aT#Z2w@azSpo$8i8o$S#eoUlnz!RkJ+h|3eXFFN#Fh{ zXV{%dT;t-RI5xxva@r5z3{>1^8&rWl)f76x1%HT8NY3R%{+XUz2h}X;Pw-te5Tbu- zDdL8MqJMmh2DQZ(vfC!IQEzazBG0bYMf;r+$nyz5Wb= zu`AAR7-eum;E1gIZPRz#AxdHZ*GMeZ0j|;pN9zZ^zQ;S|P&!aE!~4U@9GlP`g%&5} zXSO>_@gGhc@i2(QEicD;RP^l+C6Z@w%c;~@HK*gD9Z;&xA4Cs3J5@E`-$Y@BQnJ8T z5lU%bCRCRkFc?ag2p|#cD+LVCjEiyDUQR{Wjq=|-{yL>hGi5$Jy0uEUG0SQ=KpdPh zffXxJw6Fz51y82Xc__y|tPWt=4Bj$eF**~z7eSpiCceNY0uYKh48kpzAr=sX=HA19 z_w--X{?3Dw1*TG7V1i#D<^2|PB6beQ{e__Wo*FgYdxpXPxc7o-UIw#mXZ()Vmw~0~vt8G+8@;rv-S8k(ZuqTvdfgRFZ3d<5i#7l*DJ%9#BEY+! zP`h8UT7Oj@Al%@He4IFIt~8{3puB5R+o2Hq(2g z>p}5A!>&R1E`^G`Y_h~|L4~byfIzSw1wbg6?%NgAQv$$fN?K_k-nxYVzQ3cQYudk$ zGyNTdn&z6AlZmwsqQ6y7V*!H-bjL0&mb6Scb@VhaHg6mmF={NdyiPy7{nygV2pXC< zOqf`tAy^?;4lcv5`)uP8*moY3`>jMsmp}s_6=OWc(LNxGigi>@`pIdJM|4RcsTT`J;B`&MD+-*WDvwV#gHE47O3Z`C891h# zpes<|X$q!;0)!)&jxt+!4RN+JMDD>c`cY-`!wdeOoYh8_m_`oh@i)?z0M>i6Hj?V* z3!t(LD;unsT13r>{dPmouYh$M6qRZX5_rj6E{f9zVV8H2tW`gHi!bjnfwMrv3F6*n zYdqDKGwWZTR!H8|skL4TKg4Q}TX^eN)V8`01GVuLQ z|97F0NN-0-MPK(!Lm5wglY?UWp+2an;RgRB248dlQe7<27X)=6PCWu5M9G1L($>Yo zSElXzZ^8e{)m4!YBF8R)LK;+bk z5OsIwWYI1<*g|(v`>ocnTT+DPOp8`)aCupMqGldy3>}t!VvC47uAO3W(wSd@YNE$_ zfs5+0+CMx1(U(E9rAaWA%}cdXzv*Q!=0-Bzp&T)nbLisEMQaWc^THYKMW`9s>X{ZW z-Ro+9W1hiwHg45TFobGLKonG~D$bxtZ4s5q|2IFt3OL#^lt<$qUZnnaVSt*q1f7ng zmo^Z#_XkxT^{N@@YvJ=FVYM=OjZab2goEoLJ0c& zmjy@}1f#qyqR<2X`aoEdpxnEpCXuJ)ATiOy!t4z!M$tjc==BRS!&Gf_HG6q6G8Pul zVz)3`xD?_&woYv@&-2$_t|6vW$bZIxb7d;H^0C$Wiu3)&ZpeU-_``4N>fHQr)$Z11 zH{9?Lkuaap!|LzLdHot%)Bp~f7_p|xu*Z6#PC&jbC;ISA{nV^ZI0-3*^rXuUE`w8} zdbQL9p>Jq*-AC!2-fPi$#{wFNa>gOF)nQF)IXU`~Z^5-BZ`P$4BVBFFhIOs=sh~*3Fj=wcs5DBn$Du+ zDbuKfKLDLcM#~fDoKYihDaOr#^!m-(+T%CCN7h<5iEMA&bhLC|eFjF6JU{l>bn6cW9o_#YWOsoCTCt1<%VDFaAei#;|0KR!i2+{-8-5Ln##^L zMYFp(N_gS>dy{Rw+f=uZJ0sWzJ4pM?37p_u>#NJMT8vSMnO=Lbn zAj%JU=b5Wj)~zn9AYQ{Te(gD1`Bm?-#F-o!YDoFZcj)&u56A29t8Cc}v5m`F*^JAZ z3u$mL=u0r42V?zVU#WlYGy+LVG;Dv4=H3$-j z7V563*xpk(PTFyBW=5X~Yd&o&@DFLzr_R&O!`^_k)vmR@8vu|e&2C1{#oU}wjzRX> z+YclMl9xJDTEAN|BkcS0_!m3G9beecD9dG(8Oy%pV!F=--^K0s{@HzO(~L`1&RKb4 zzv|a(mlV|7s>M_JIYg9vi~JEIXBOL<3 zbp(FRY{rss2|hpwMOI=h$aUlMJZDRIFPky0V4&^pny>NbadxdIz0iJE6Zvj^ z7A9>pe;MZKaRo9aqVeCFEzJntuNi-ctk!?l_Gc4_E>&vqK?JTF< zj8sX3mnXU{yog2U!LA9Go$3WrHE`p4Q-4+Go)F2Eg%J;yF7D-y$EyWc_hoTo1f}P! zrqvjAA!$A*0omso2fIG8z+cjS7l3tla5Mmj&(~! zO*pF}NmQPOYa&ylbZpopR&(cG$NX;9uof9?-d0bjx)f$s@;om=Z&VOhV_yDlnCK;3 zk{Os;mgq~2Bw8mKSUaSdwNKc%%bKpHyz$l}1H6blX^8H3m$7XI0!IxTMvpQHJ+fCb zt*V|Ow0ZlToI|N%yXSWFHnIG*oO6+m+T8rIAnV|-BGhjx^vM|5##YGpPo{3A@CO~tTG44JPAM9W`wN}>XXC6i1UMB zz$BvadEgz>59I8=t4DpIIzKSDpu4j;ef0j`W%f$BdMbnoQPJl6+QrWquXgXWYKqFZ z>w@v-mFABlA*JL+ogT-!i9ReA^^}8gYPMvB$Fvl?A4~W>;k%k8=jKv0zmeLHrI70m zbC^#crpy@fRFtfXagr*qbC94T^CfxDmVzB_Kv3)-Mt_{r_k{;WAf$RYJzZ>;9Pce| z8B4As*g#^I4#THIC7-fU794a!p%Xe0;V*B;uI+4Gm+9xjsS_T$+Bwmht%oO|KZi!A ze9W%;XS2{u#8%c}ZO}+L8L1L@0i0Ub`5hjOmM!Q zUTAKq@YnwH`^ypk5zo@7p!T*0R+iTKK$Rts>Xak4k2?-6{7Fwa{G0(NPmrxuI)MHa zbdx=6fg&b86ND|G0BSg8+9bF zHv!D|Hu`!WduQw{%Iu!WCFu|;Qgs)Az^t2FeQTjfmV=SQ<`b_}fC+@ZtdwWSq)#_B zWAWV)`pOeNoj;OWn$9^Q)%0h<#IcCn$zKVll$iAsgom~)nNf7-7nY?UlEvbsx4-M` zl?BUIxk=zh&3;e2E(~30{E1&w#M1E2&J|>3l5C;gWnhJG7<5vhvG)zb#3EZ|Cr80uyYb@-Uc`&KC$1NrP_=xl-xn&3pnQ&CPC%I4 z@RayV!|$5>`F-0P~p~@soMfduh~`X`#pqFnE-fnJ|>Q z1fq4Mh8SVveK-<=S`hKCryx{W*G)ugs*Ro^ulylfSa?$E6%0w~W|S?Y`W0<*4tO4z%y;HPaCdYF;#)DOU!92d z)!vi-*ds>{$y`Z%$M?0w6?2-gd($0E6+})l*zuXE2QyYfL8ZL+_2~xcI}yi3j=ABH2y}H4n8bSV9<6A=TxrT?1N`t5a=539|-G zbX(R=wWm4<=j^V7Nc&p{$yn9FY0%{_CulXA=lG&2{xpdg&8k(kn4w*{$7V7y7av-^ zgq1UUQEpV=n1aX-qxOz@;a`A0VT86hJVKJ1O`WH*)!%F(C0M3l0ZU9@>2$3HzXmP3 zKS-N;lnUNUL8;)IbM-N<$MLv}1Qucp4!x~iwrMGBOi8lN9CJ5}4Sm(r6fzX^ zYjQK*U+;(6x<2P#79H$!sMOW)Er3qb9^I`VrYU`?rQpKd1skN~yz{rTQgOP1VvP8Gqd39jrq9=6CLFJJ6xXVNEOrn7k zr$z4TNNl_xE|CPxYpTOYim^oNLA^Y86hGn6lGP zu7+U^g$8^;7AQ7`zuGem3$2>-coSXb0_nYF(1f{b;K4&85cyP%+B#^e zN~*2BX*J(Mu{7hY=}>0yQgL*^)qH$92AdxO+Be|Uo!6@_J4$0FDeIhni+l5F6Ou5I z>#OfB0X}$u=>Ww+LW3qS;t%V-7?m3#1IAK?p+g>1`CPfaU)W+Q(}6(Jkz|pjs-$Ul zjy1bvy`=gg{6Y@ue%$(ntlmnJr@)X*4nGHQhbCi91)*wUWmlne0Vio4xLz2$iZb*t zzOO*ev~0_`fDU8ckM~_@N{L2QE|<$T6?wIBy~DPCuu|`}lH1cb=t|2@@EO4guJs6| z3zQ~BJUs?CyNR<$?;B?JX|;lTYnA05JDX%Taxztb(Me7)!-}^*t1UM%nlQDo9Y*11 zVr2L+P$ZS_Pf^FHRK*7|%UApk<{>C5{C62^&g4*``%Cd>VBfBnEOnU>m0fa$Z?2_< z8Z}mkU! z&C|sY^D!D%&-i3(=Ed=-THTGOoK(ISfI|GP_-$u@qRxi`LCL)*B8A49u*&LDF*;5lIN*}vNh7)9Pp z#6s}vgNc1c%Bg#-YN?anHl__2*P4>FH8Vvxos;;aCV;92xe%lJ1vp%CSCIQhV2&_< za&}pk!1v+ywR%VWkp2(~r|TQ+!#m)}9DSkxIg+Sm|G7_3w4}es;zu#=0$t)EEuaUo z4J_SHt{cAR3;FACcj{!=X?*yiD+ld=C2o_gFsQzZ@+g&@^n7%c|?8w5*{^!#eU{qPMO=CZ-j9DZLAVG4x--5z2(y$ zdnD`0unvc{JtyGGa%nGO_0a@4iSO+Rz=3jAP+e&s);4R|GHe;7uZ4f$~JYzNZ zy|T4&Y0}$x0CZU~ag-rukYKk-*)|gYup$sF(%cZ3URX?Kd6YRas*?<&TQ`dyN-#5@ zBj*g*Un^Xn9DpmT2KB2-pqbAZS*ll;+~K6sxys@7deoljo~v#yC#B9P|5$I>0^2X! znPjNHc&NT{_vG5U2MhhYl3=_bhNItCC#Fl*Q0p`()vmxN)&e+1rr_EIZW_Res zc`t^`mf<>_knqh(f&d-$Utw|6p8#bJo-)?r;fki4#3`0+YvFm}xmjU*hxSYj@3_T2 z>Y+Z-U`TaZT}qwdDt9yS$0f*~22M@@{v5|bS-r7r3R!*`B*j&R%ypeE-CCs<0FjZ;0P$Il|!0=$_%{feOQ_1tCcyj`Ee&7btmx;PZVDW2i$X6L(DqrBzAEt^a>^%dQqM`)Ao21Se3;q z-O5rCBDUPe{)h+O7p6fvbCt$^+9mM4w`21qidkJ?Pg%XKN9O!NP~M0mEM$FlSf{yh zFh^Ruz{j4$F${2a5qQ}H_K|n0E)h@fI2|Ku>1er_)uMTKxBwVWYy1va-Q_o+4}OL* zm+ryw1-*~h9bJ=|)a=|Ti};UGNOY&Ss98lR$FRqBKLtP83MvOY-JTDe^-JJB_$X(P zsc9)pqaUIVe#__al1B|!BP@wq9<)8XHBY;0EmK}6J{Mc&adju=N?)2y-j80qF@s&M z-bD`C89ei?YtiE}O zzMQes=C;FgU-)!1P5w=$cQEbHjuTPqPuI3_$boo*Jxyo|RJ zYv@QpKBxS#^dKxkjgf0+Q?v?6P*hRNwb_Sy!KR%Xcy|A1L87(m|PT6;@50)|YS zH#9@TF_n5fkYM1UimCc4&F+ z>C!$>WK9N6z~4H=e&n@fNv|T9Hg4-`+3dNHwWdGj<-FIpZN6*}jRW80WwH%Mz}Jcj zt$_t@H`yBJh9OpK%SpG&2bjaw1@!207}YU!bZm38O7~uoS_duPOINXDc0*^E8>sTx zU-w=jib~E8Aab-CqYSSvyL6vaL%cpgJoq{{iQ4Fyxe~TAZ~XQ%REoCV^=5(1KvP?r zAX=epM7@vm_m>|>Gx9p?ZpfeZT)s8IcM@lL`Ig5&3O8Hgyz1lALz)Tl&;}=>btlc6 zr)Std%|y4TAjT^N(+b?b5^|Ii4v$@Q`dr_3`_OmR+7Wt#YzP7~ zQCtnR1)SEsSO*yL#~^aJAJ=abg#JSPV&&?)Oy_pBMwlBejXOqb7tm~DgrT>r;ouA6K~6s1X8*gopCl<@EWqsHHiCbs)?XT% z9fU6rovcm%7P6B`0=YbyW~HEvS}NDEZIP-*PcW#MZF$OITO(wGb{}Jx;I=?|>=te( zCJmMV&}^;Cv0jKYoA#1IbPcTVnE$vr;rFWddS5G0jL|Zl_ky2h(`9wfVPe%3U-fcD zCs@|WSb1DtO?y9t&uGB#Dv$cGL+Dvt;o6%PYNO*YR4jJU=}K#=XBa2e)bR4LMWG^- z;N&zH_6ZA%59#9bPVJJRmEQ`ETyK_{jaG>6;^cI*w*A{>A)LH3P#V|e?Vj3&;0W{9 zO>|`On|-rqs3)hd=O~v9s)B=YIUv(JyO$L+0#>o?|bc^i?-X(0N&_B*$~pZqK* z;9==R4DM?Fo~Rw-9@jinFIO56pxA%K^6BHC7?EAvx@B7FmggObya}D*?lN=deEPDX zzP$qd3g`K~?>0L|FRN7~XNBD@P>3gI*SlcmDo?pU-PMV^*-0@h!G;z<8{{!U}eV#1){I!#%mf2@*55+N{UmYg#;v=OdaejSCg^ z!8thY%i?aMke{{7V^34s8&fV7>KWqagmUze@RPFG38VCckxrzvgUhoJyQRdA|T^bCt3#1|y&rK0+ z15o8IlY8$L5vUn%!i3zahst-N!-q9~Ak^o*he~M!32n!O>X$lKBtVVse+Ivk(4F}B zwz}&5>AZ(Z>YhNCn;;WDpVYlWyFXB6OVwniFVyY3K&UN^=?PG+SnQnye*S*}!3sY0 zaxjpx;GD03><8|e)3A1vCt9ap>7nIHXm+EtHD>2>(v4opbC2%!mX5@oZ{H|&C*sv= zJhAjn4WM-qYTzt${5#z0l)6Vh-`Mu)Ft^FzEcUD-?3Ubxrs@QX8Cr zI(In3VW%U~_&gmsUdD7Up^qfgzliR@^elbpPP#`D&({9W_?y_w}J6s=+UF`Cml$T~q;nosMwW;fypsF9BV` z?_NyT{Rj1c`{13l-E-p@Hs@2To67RqLmzMG2czsebSs!1i^A~3l{rw5N zCd1<@b3m{^paqT^jII|;C+pk@d#Jt>`vdq#@g3QFV(s6cHhv>DM-g#DP|gY z)-SiBGJ#8!2&B^ixDLz~<|XrmS^CvP0FNt)1BWsb6PZImWfxen>&&}fgUaEl!V$@l z!W5HkP}#G+Fg#q?{=Wg2Ef-q=0003100035oC8GrS6>f2^#B6{=l}o!0NfmNqyPW_ z0Ns}!p#Mz%Is*&@Bme*a1^@y8000000C?JCU}RumzVYup0|QgUf1m$8%sfC5RKN%T zn1%(*0C?Jj&;f)LQ5?tduN4;CIYetVN9#6YOe<42#x%C)aL%X{D>WxxNSf+3hNSlanR zx8RE67Q~jLz+wr_V_l?g&C}0*+6jfEpjnQZ%nCT@a8K{)i4x zr;@7|EKTt+(jv^h5Rgbp#4G{J_{?)0kC3y(oMOZ~Wt9D5EIs;s!tjPInuO|**KFe8 zW8@MrVx2^NhcQD|xsKthO+<>}1T$RAeo)8oiZyO=Z*qUk2cGKfh4P%Y>J4_-;yb(h z?%n6EO@oMY9K~gYlPv4`2sNOqPV9V_sd7wev=!m7A{e<~`zAg0c|7$Kc3B}JW==FW zH~7qu0X-hE!F#K84VR!%n9GD!|fQ?~0*b@$c#k3=Pq2ojg1CfP_qQifC~jYwP4gA69)$a!*$JS88fLIF)cQ`2m;AT2|y(?+x{ z?Li0Aar7L$NuSX7^cTy)3bS&oCTqglvtDc{o4{tXWo#qc!;Z5{>@Iu3KKr_l{j7dX zf0BQ~e-p?cUXU`#666m`1yzFvLF?dha4(W0GB>g!vN`f4G(r+a4HJZ^!)#%fuzxrz zoElyV?}jhJ&s^u2N8#~#N8X1I=acwczJhP&`}j$Ig+JhL_;+E8K*SV9M0rt5G!-30 zZ!t_v6m!IKu}vHlXT){!Nc@tXxtI9RtT65jFf!rAG zI`@cs3w+QX^a7W`J@68If$?BU$UzlGVNO^CmWQ=qQ`iCahR5J*_#GugX%L506hrk; zOVkDRN2AbGv;eI}+t5LD1}Ddvuz)S>;r6%}9*QU6*?1Y=i1*;*_!7R0U*a!(JU%6# zg_rmcAMgeF;rs#qi;zvIEi4kQ37%KRT1Bm%)>a#+&C|B)Ko9h>`W+*wQQPQi3^T?XGmM4CF5{ueo1R(M>|jnaFPhJ- ztX3tfm9^P=Pg7Ej=BD*%bJ~ISq=V>aI)%=q%jkN#gC3-(=w*6`KA~?yBvc_ZEA%)l zgiD4;hWCblM{-5_Mpi|xM3Y2IMteth#gfPJ#oEP|#LmW^*__SnVs<&Zn%&gyVh^z= z+so}O_F4Ovlf>a1>J)KmIYXQ&&H?AVbH{nYB$k6!U^Q3+)`E3lJ=g#?f=ysE*aEhW z?O~_b4fdM-b4|B`Ti0#nj&@hN2i)uKA5Zr3d9}TP-g0k`chP&|efN|4>3qvC;y3jB z`NRDQ{vQ8DkU1z2v$#>$p2Q?(XjHJ~-{}-smh~7BZIXBC@O;NC7b{ z;q!i-ckiVX*vcd^BJmCKGz5gxX$M_i89XP%qlOPw#1x|81G8=d+SEJFu z+vV$lcd#*9nditcHb;AbFD=lYsQ(Q7RQ(r!ILKu#a>+W#xzJhCBXTs!ke9zOrb|z* zJ09c}4YIl&TKFf89yy(pl;ocJZ7%o?@#DOSFq@o}>UyU*%R$|;`I7Wmw`+A6gxQ{( zY|xY5lcuhE@Zf&FsP;`|$satx`Gvj7Cw4g`KB_expE05*r+G`6A|<~$nuR$T(hoo&2p|a>~8UEb=5kQ?R)Zht4z(Ysan+kz;oWN=DruK_`_^a zd1a+_$~vEEQnzc&0jiaKRCwBBU}gY=|63W1fD|JG8UO$+(*f%M0Js7Fg|GyT0OCOD AU;qFB literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-900.woff2 b/static/fonts/source-code-pro-v20-latin-ext_latin-900.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a9af059eed5679260fd720a9e7a4bd7fda0d7b2c GIT binary patch literal 14848 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 literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-900italic.woff b/static/fonts/source-code-pro-v20-latin-ext_latin-900italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..79b0769fa9c810095fe55b5330eec095c305aae9 GIT binary patch literal 20776 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 literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-regular.woff b/static/fonts/source-code-pro-v20-latin-ext_latin-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..c134396a5dfed41e3b3d195d98ede20885f2f115 GIT binary patch literal 19880 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 bTN#Xi6e9x~001o00qXz&xB>r#ump_&jGBN9 literal 0 HcmV?d00001 diff --git a/static/fonts/source-code-pro-v20-latin-ext_latin-regular.woff2 b/static/fonts/source-code-pro-v20-latin-ext_latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0644f21e497b285a8c42d96e6d232b0923a4990f GIT binary patch literal 15156 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

      r3t(7eLAAQvdhJJXAt3 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 literal 0 HcmV?d00001 diff --git a/static/fork-awesome/css/fork-awesome.css b/static/fork-awesome/css/fork-awesome.css new file mode 100644 index 0000000..b6b3b5d --- /dev/null +++ b/static/fork-awesome/css/fork-awesome.css @@ -0,0 +1,2573 @@ +/*! +Fork Awesome 1.1.7 +License - https://forkaweso.me/Fork-Awesome/license + +Copyright 2018 Dave Gandy & Fork Awesome + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'ForkAwesome'; + src: url('../fonts/forkawesome-webfont.eot?v=1.1.7'); + src: url('../fonts/forkawesome-webfont.eot?#iefix&v=1.1.7') format('embedded-opentype'), url('../fonts/forkawesome-webfont.woff2?v=1.1.7') format('woff2'), url('../fonts/forkawesome-webfont.woff?v=1.1.7') format('woff'), url('../fonts/forkawesome-webfont.ttf?v=1.1.7') format('truetype'), url('../fonts/forkawesome-webfont.svg?v=1.1.7#forkawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 ForkAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} +.fa-pull-left { + float: left; +} +.fa-pull-right { + float: right; +} +.fa.fa-pull-left { + margin-right: .3em; +} +.fa.fa-pull-right { + margin-left: .3em; +} +/* Deprecated as of 4.4.0 */ +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #fff; +} +/* Fork Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-sync:before, +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video:before, +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-feed:before, +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell-o:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-globe-e:before { + content: "\f304"; +} +.fa-globe-w:before { + content: "\f305"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-community:before, +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus-g:before, +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-utensils:before, +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-pound:before, +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-down:before, +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-up:before, +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-down:before, +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-up:before, +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-down:before, +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-up:before, +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-utensil-spoon:before, +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-heading:before, +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-closed-captioning:before, +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +.fa-buysellads:before { + content: "\f20d"; +} +.fa-connectdevelop:before { + content: "\f20e"; +} +.fa-dashcube:before { + content: "\f210"; +} +.fa-forumbee:before { + content: "\f211"; +} +.fa-leanpub:before { + content: "\f212"; +} +.fa-sellsy:before { + content: "\f213"; +} +.fa-shirtsinbulk:before { + content: "\f214"; +} +.fa-simplybuilt:before { + content: "\f215"; +} +.fa-skyatlas:before { + content: "\f216"; +} +.fa-cart-plus:before { + content: "\f217"; +} +.fa-cart-arrow-down:before { + content: "\f218"; +} +.fa-gem:before, +.fa-diamond:before { + content: "\f219"; +} +.fa-ship:before { + content: "\f21a"; +} +.fa-user-secret:before { + content: "\f21b"; +} +.fa-motorcycle:before { + content: "\f21c"; +} +.fa-street-view:before { + content: "\f21d"; +} +.fa-heartbeat:before { + content: "\f21e"; +} +.fa-venus:before { + content: "\f221"; +} +.fa-mars:before { + content: "\f222"; +} +.fa-mercury:before { + content: "\f223"; +} +.fa-intersex:before, +.fa-transgender:before { + content: "\f224"; +} +.fa-transgender-alt:before { + content: "\f225"; +} +.fa-venus-double:before { + content: "\f226"; +} +.fa-mars-double:before { + content: "\f227"; +} +.fa-venus-mars:before { + content: "\f228"; +} +.fa-mars-stroke:before { + content: "\f229"; +} +.fa-mars-stroke-v:before { + content: "\f22a"; +} +.fa-mars-stroke-h:before { + content: "\f22b"; +} +.fa-neuter:before { + content: "\f22c"; +} +.fa-genderless:before { + content: "\f22d"; +} +.fa-facebook-official:before { + content: "\f230"; +} +.fa-pinterest-p:before { + content: "\f231"; +} +.fa-whatsapp:before { + content: "\f232"; +} +.fa-server:before { + content: "\f233"; +} +.fa-user-plus:before { + content: "\f234"; +} +.fa-user-times:before { + content: "\f235"; +} +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; +} +.fa-viacoin:before { + content: "\f237"; +} +.fa-train:before { + content: "\f238"; +} +.fa-subway:before { + content: "\f239"; +} +.fa-medium:before { + content: "\f23a"; +} +.fa-medium-square:before { + content: "\f2f8"; +} +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b"; +} +.fa-optin-monster:before { + content: "\f23c"; +} +.fa-opencart:before { + content: "\f23d"; +} +.fa-expeditedssl:before { + content: "\f23e"; +} +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240"; +} +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241"; +} +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242"; +} +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243"; +} +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; +} +.fa-mouse-pointer:before { + content: "\f245"; +} +.fa-i-cursor:before { + content: "\f246"; +} +.fa-object-group:before { + content: "\f247"; +} +.fa-object-ungroup:before { + content: "\f248"; +} +.fa-sticky-note:before { + content: "\f249"; +} +.fa-sticky-note-o:before { + content: "\f24a"; +} +.fa-cc-jcb:before { + content: "\f24b"; +} +.fa-cc-diners-club:before { + content: "\f24c"; +} +.fa-clone:before { + content: "\f24d"; +} +.fa-balance-scale:before { + content: "\f24e"; +} +.fa-hourglass-o:before { + content: "\f250"; +} +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; +} +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; +} +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; +} +.fa-hourglass:before { + content: "\f254"; +} +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255"; +} +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256"; +} +.fa-hand-scissors-o:before { + content: "\f257"; +} +.fa-hand-lizard-o:before { + content: "\f258"; +} +.fa-hand-spock-o:before { + content: "\f259"; +} +.fa-hand-pointer-o:before { + content: "\f25a"; +} +.fa-hand-peace-o:before { + content: "\f25b"; +} +.fa-trademark:before { + content: "\f25c"; +} +.fa-registered:before { + content: "\f25d"; +} +.fa-creative-commons:before { + content: "\f25e"; +} +.fa-gg:before { + content: "\f260"; +} +.fa-gg-circle:before { + content: "\f261"; +} +.fa-tripadvisor:before { + content: "\f262"; +} +.fa-odnoklassniki:before { + content: "\f263"; +} +.fa-odnoklassniki-square:before { + content: "\f264"; +} +.fa-get-pocket:before { + content: "\f265"; +} +.fa-wikipedia-w:before { + content: "\f266"; +} +.fa-safari:before { + content: "\f267"; +} +.fa-chrome:before { + content: "\f268"; +} +.fa-firefox:before { + content: "\f269"; +} +.fa-opera:before { + content: "\f26a"; +} +.fa-internet-explorer:before { + content: "\f26b"; +} +.fa-tv:before, +.fa-television:before { + content: "\f26c"; +} +.fa-contao:before { + content: "\f26d"; +} +.fa-500px:before { + content: "\f26e"; +} +.fa-amazon:before { + content: "\f270"; +} +.fa-calendar-plus-o:before { + content: "\f271"; +} +.fa-calendar-minus-o:before { + content: "\f272"; +} +.fa-calendar-times-o:before { + content: "\f273"; +} +.fa-calendar-check-o:before { + content: "\f274"; +} +.fa-industry:before { + content: "\f275"; +} +.fa-map-pin:before { + content: "\f276"; +} +.fa-map-signs:before { + content: "\f277"; +} +.fa-map-o:before { + content: "\f278"; +} +.fa-map:before { + content: "\f279"; +} +.fa-commenting:before { + content: "\f27a"; +} +.fa-commenting-o:before { + content: "\f27b"; +} +.fa-houzz:before { + content: "\f27c"; +} +.fa-vimeo-v:before, +.fa-vimeo:before { + content: "\f27d"; +} +.fa-black-tie:before { + content: "\f27e"; +} +.fa-fonticons:before { + content: "\f280"; +} +.fa-reddit-alien:before { + content: "\f281"; +} +.fa-edge:before { + content: "\f282"; +} +.fa-credit-card-alt:before { + content: "\f283"; +} +.fa-codiepie:before { + content: "\f284"; +} +.fa-modx:before { + content: "\f285"; +} +.fa-fort-awesome:before { + content: "\f286"; +} +.fa-usb:before { + content: "\f287"; +} +.fa-product-hunt:before { + content: "\f288"; +} +.fa-mixcloud:before { + content: "\f289"; +} +.fa-scribd:before { + content: "\f28a"; +} +.fa-pause-circle:before { + content: "\f28b"; +} +.fa-pause-circle-o:before { + content: "\f28c"; +} +.fa-stop-circle:before { + content: "\f28d"; +} +.fa-stop-circle-o:before { + content: "\f28e"; +} +.fa-shopping-bag:before { + content: "\f290"; +} +.fa-shopping-basket:before { + content: "\f291"; +} +.fa-hashtag:before { + content: "\f292"; +} +.fa-bluetooth:before { + content: "\f293"; +} +.fa-bluetooth-b:before { + content: "\f294"; +} +.fa-percent:before { + content: "\f295"; +} +.fa-gitlab:before { + content: "\f296"; +} +.fa-wpbeginner:before { + content: "\f297"; +} +.fa-wpforms:before { + content: "\f298"; +} +.fa-envira:before { + content: "\f299"; +} +.fa-universal-access:before { + content: "\f29a"; +} +.fa-wheelchair-alt:before { + content: "\f29b"; +} +.fa-question-circle-o:before { + content: "\f29c"; +} +.fa-blind:before { + content: "\f29d"; +} +.fa-audio-description:before { + content: "\f29e"; +} +.fa-phone-volume:before, +.fa-volume-control-phone:before { + content: "\f2a0"; +} +.fa-braille:before { + content: "\f2a1"; +} +.fa-assistive-listening-systems:before { + content: "\f2a2"; +} +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; +} +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4"; +} +.fa-glide:before { + content: "\f2a5"; +} +.fa-glide-g:before { + content: "\f2a6"; +} +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7"; +} +.fa-low-vision:before { + content: "\f2a8"; +} +.fa-viadeo:before { + content: "\f2a9"; +} +.fa-viadeo-square:before { + content: "\f2aa"; +} +.fa-snapchat:before { + content: "\f2ab"; +} +.fa-snapchat-ghost:before { + content: "\f2ac"; +} +.fa-snapchat-square:before { + content: "\f2ad"; +} +.fa-first-order:before { + content: "\f2b0"; +} +.fa-yoast:before { + content: "\f2b1"; +} +.fa-themeisle:before { + content: "\f2b2"; +} +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3"; +} +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4"; +} +.fa-handshake-o:before { + content: "\f2b5"; +} +.fa-envelope-open:before { + content: "\f2b6"; +} +.fa-envelope-open-o:before { + content: "\f2b7"; +} +.fa-linode:before { + content: "\f2b8"; +} +.fa-address-book:before { + content: "\f2b9"; +} +.fa-address-book-o:before { + content: "\f2ba"; +} +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb"; +} +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc"; +} +.fa-user-circle:before { + content: "\f2bd"; +} +.fa-user-circle-o:before { + content: "\f2be"; +} +.fa-user-o:before { + content: "\f2c0"; +} +.fa-id-badge:before { + content: "\f2c1"; +} +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2"; +} +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3"; +} +.fa-quora:before { + content: "\f2c4"; +} +.fa-free-code-camp:before { + content: "\f2c5"; +} +.fa-telegram:before { + content: "\f2c6"; +} +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7"; +} +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8"; +} +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9"; +} +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca"; +} +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb"; +} +.fa-shower:before { + content: "\f2cc"; +} +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd"; +} +.fa-podcast:before { + content: "\f2ce"; +} +.fa-window-maximize:before { + content: "\f2d0"; +} +.fa-window-minimize:before { + content: "\f2d1"; +} +.fa-window-restore:before { + content: "\f2d2"; +} +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3"; +} +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4"; +} +.fa-bandcamp:before { + content: "\f2d5"; +} +.fa-grav:before { + content: "\f2d6"; +} +.fa-etsy:before { + content: "\f2d7"; +} +.fa-imdb:before { + content: "\f2d8"; +} +.fa-ravelry:before { + content: "\f2d9"; +} +.fa-eercast:before { + content: "\f2da"; +} +.fa-microchip:before { + content: "\f2db"; +} +.fa-snowflake-o:before { + content: "\f2dc"; +} +.fa-superpowers:before { + content: "\f2dd"; +} +.fa-wpexplorer:before { + content: "\f2de"; +} +.fa-meetup:before { + content: "\f2e0"; +} +.fa-mastodon:before { + content: "\f2e1"; +} +.fa-mastodon-alt:before { + content: "\f2e2"; +} +.fa-fork-circle:before, +.fa-fork-awesome:before { + content: "\f2e3"; +} +.fa-peertube:before { + content: "\f2e4"; +} +.fa-diaspora:before { + content: "\f2e5"; +} +.fa-friendica:before { + content: "\f2e6"; +} +.fa-gnu-social:before { + content: "\f2e7"; +} +.fa-liberapay-square:before { + content: "\f2e8"; +} +.fa-liberapay:before { + content: "\f2e9"; +} +.fa-ssb:before, +.fa-scuttlebutt:before { + content: "\f2ea"; +} +.fa-hubzilla:before { + content: "\f2eb"; +} +.fa-social-home:before { + content: "\f2ec"; +} +.fa-artstation:before { + content: "\f2ed"; +} +.fa-discord:before { + content: "\f2ee"; +} +.fa-discord-alt:before { + content: "\f2ef"; +} +.fa-patreon:before { + content: "\f2f0"; +} +.fa-snowdrift:before { + content: "\f2f1"; +} +.fa-activitypub:before { + content: "\f2f2"; +} +.fa-ethereum:before { + content: "\f2f3"; +} +.fa-keybase:before { + content: "\f2f4"; +} +.fa-shaarli:before { + content: "\f2f5"; +} +.fa-shaarli-o:before { + content: "\f2f6"; +} +.fa-cut-key:before, +.fa-key-modern:before { + content: "\f2f7"; +} +.fa-xmpp:before { + content: "\f2f9"; +} +.fa-archive-org:before { + content: "\f2fc"; +} +.fa-freedombox:before { + content: "\f2fd"; +} +.fa-facebook-messenger:before { + content: "\f2fe"; +} +.fa-debian:before { + content: "\f2ff"; +} +.fa-mastodon-square:before { + content: "\f300"; +} +.fa-tipeee:before { + content: "\f301"; +} +.fa-react:before { + content: "\f302"; +} +.fa-dogmazic:before { + content: "\f303"; +} +.fa-zotero:before { + content: "\f309"; +} +.fa-nodejs:before { + content: "\f308"; +} +.fa-nextcloud:before { + content: "\f306"; +} +.fa-nextcloud-square:before { + content: "\f307"; +} +.fa-hackaday:before { + content: "\f30a"; +} +.fa-laravel:before { + content: "\f30b"; +} +.fa-signalapp:before { + content: "\f30c"; +} +.fa-gnupg:before { + content: "\f30d"; +} +.fa-php:before { + content: "\f30e"; +} +.fa-ffmpeg:before { + content: "\f30f"; +} +.fa-joplin:before { + content: "\f310"; +} +.fa-syncthing:before { + content: "\f311"; +} +.fa-inkscape:before { + content: "\f312"; +} +.fa-matrix-org:before { + content: "\f313"; +} +.fa-pixelfed:before { + content: "\f314"; +} +.fa-bootstrap:before { + content: "\f315"; +} +.fa-dev-to:before { + content: "\f316"; +} +.fa-hashnode:before { + content: "\f317"; +} +.fa-jirafeau:before { + content: "\f318"; +} +.fa-emby:before { + content: "\f319"; +} +.fa-wikidata:before { + content: "\f31a"; +} +.fa-gimp:before { + content: "\f31b"; +} +.fa-c:before { + content: "\f31c"; +} +.fa-digitalocean:before { + content: "\f31d"; +} +.fa-att:before { + content: "\f31e"; +} +.fa-gitea:before { + content: "\f31f"; +} +.fa-file-epub:before { + content: "\f321"; +} +.fa-python:before { + content: "\f322"; +} +.fa-archlinux:before { + content: "\f323"; +} +.fa-pleroma:before { + content: "\f324"; +} +.fa-unsplash:before { + content: "\f325"; +} +.fa-hackster:before { + content: "\f326"; +} +.fa-spell-check:before { + content: "\f327"; +} +.fa-moon:before { + content: "\f328"; +} +.fa-sun:before { + content: "\f329"; +} +.fa-f-droid:before { + content: "\f32a"; +} +.fa-biometric:before { + content: "\f32b"; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} diff --git a/static/fork-awesome/css/fork-awesome.min.css b/static/fork-awesome/css/fork-awesome.min.css new file mode 100644 index 0000000..6c4010c --- /dev/null +++ b/static/fork-awesome/css/fork-awesome.min.css @@ -0,0 +1,12 @@ +/*! +Fork Awesome 1.1.7 +License - https://forkaweso.me/Fork-Awesome/license + +Copyright 2018 Dave Gandy & Fork Awesome + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */@font-face{font-family:ForkAwesome;src:url(../fonts/forkawesome-webfont.eot?v=1.1.7);src:url(../fonts/forkawesome-webfont.eot?#iefix&v=1.1.7) format('embedded-opentype'),url(../fonts/forkawesome-webfont.woff2?v=1.1.7) format('woff2'),url(../fonts/forkawesome-webfont.woff?v=1.1.7) format('woff'),url(../fonts/forkawesome-webfont.ttf?v=1.1.7) format('truetype'),url(../fonts/forkawesome-webfont.svg?v=1.1.7#forkawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell-o:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-globe-e:before{content:"\f304"}.fa-globe-w:before{content:"\f305"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-community:before,.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus-g:before,.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before,.fa-utensils:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before,.fa-pound:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-desc:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-desc:before,.fa-sort-amount-up:before{content:"\f161"}.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-desc:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before,.fa-closed-captioning:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before,.fa-gem:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-medium-square:before{content:"\f2f8"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo-v:before,.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.fa-mastodon:before{content:"\f2e1"}.fa-mastodon-alt:before{content:"\f2e2"}.fa-fork-awesome:before,.fa-fork-circle:before{content:"\f2e3"}.fa-peertube:before{content:"\f2e4"}.fa-diaspora:before{content:"\f2e5"}.fa-friendica:before{content:"\f2e6"}.fa-gnu-social:before{content:"\f2e7"}.fa-liberapay-square:before{content:"\f2e8"}.fa-liberapay:before{content:"\f2e9"}.fa-scuttlebutt:before,.fa-ssb:before{content:"\f2ea"}.fa-hubzilla:before{content:"\f2eb"}.fa-social-home:before{content:"\f2ec"}.fa-artstation:before{content:"\f2ed"}.fa-discord:before{content:"\f2ee"}.fa-discord-alt:before{content:"\f2ef"}.fa-patreon:before{content:"\f2f0"}.fa-snowdrift:before{content:"\f2f1"}.fa-activitypub:before{content:"\f2f2"}.fa-ethereum:before{content:"\f2f3"}.fa-keybase:before{content:"\f2f4"}.fa-shaarli:before{content:"\f2f5"}.fa-shaarli-o:before{content:"\f2f6"}.fa-cut-key:before,.fa-key-modern:before{content:"\f2f7"}.fa-xmpp:before{content:"\f2f9"}.fa-archive-org:before{content:"\f2fc"}.fa-freedombox:before{content:"\f2fd"}.fa-facebook-messenger:before{content:"\f2fe"}.fa-debian:before{content:"\f2ff"}.fa-mastodon-square:before{content:"\f300"}.fa-tipeee:before{content:"\f301"}.fa-react:before{content:"\f302"}.fa-dogmazic:before{content:"\f303"}.fa-zotero:before{content:"\f309"}.fa-nodejs:before{content:"\f308"}.fa-nextcloud:before{content:"\f306"}.fa-nextcloud-square:before{content:"\f307"}.fa-hackaday:before{content:"\f30a"}.fa-laravel:before{content:"\f30b"}.fa-signalapp:before{content:"\f30c"}.fa-gnupg:before{content:"\f30d"}.fa-php:before{content:"\f30e"}.fa-ffmpeg:before{content:"\f30f"}.fa-joplin:before{content:"\f310"}.fa-syncthing:before{content:"\f311"}.fa-inkscape:before{content:"\f312"}.fa-matrix-org:before{content:"\f313"}.fa-pixelfed:before{content:"\f314"}.fa-bootstrap:before{content:"\f315"}.fa-dev-to:before{content:"\f316"}.fa-hashnode:before{content:"\f317"}.fa-jirafeau:before{content:"\f318"}.fa-emby:before{content:"\f319"}.fa-wikidata:before{content:"\f31a"}.fa-gimp:before{content:"\f31b"}.fa-c:before{content:"\f31c"}.fa-digitalocean:before{content:"\f31d"}.fa-att:before{content:"\f31e"}.fa-gitea:before{content:"\f31f"}.fa-file-epub:before{content:"\f321"}.fa-python:before{content:"\f322"}.fa-archlinux:before{content:"\f323"}.fa-pleroma:before{content:"\f324"}.fa-unsplash:before{content:"\f325"}.fa-hackster:before{content:"\f326"}.fa-spell-check:before{content:"\f327"}.fa-moon:before{content:"\f328"}.fa-sun:before{content:"\f329"}.fa-f-droid:before{content:"\f32a"}.fa-biometric:before{content:"\f32b"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}/*# sourceMappingURL=fork-awesome.min.css.map */ \ No newline at end of file diff --git a/static/fork-awesome/css/fork-awesome.min.css.map b/static/fork-awesome/css/fork-awesome.min.css.map new file mode 100644 index 0000000..df02930 --- /dev/null +++ b/static/fork-awesome/css/fork-awesome.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["fork-awesome.css"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/static/fork-awesome/css/v5-compat.css b/static/fork-awesome/css/v5-compat.css new file mode 100644 index 0000000..2d6ce70 --- /dev/null +++ b/static/fork-awesome/css/v5-compat.css @@ -0,0 +1,446 @@ +/*! +Fork Awesome 1.1.7 +License - https://forkaweso.me/Fork-Awesome/license + +Copyright 2018 Dave Gandy & Fork Awesome + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +.fas, +.fab, +.far { + display: inline-block; + font: normal normal normal 14px/1 ForkAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.fas.fa-chart-area:before { + content: "\f1fe"; +} +.fas.fa-arrows-alt:before { + content: "\f047"; +} +.fas.fa-expand-arrows-alt:before { + content: "\f0b2"; +} +.fas.fa-arrows-alt-h:before { + content: "\f07e"; +} +.fas.fa-arrows-alt-v:before { + content: "\f07d"; +} +.fas.fa-calendar-alt:before { + content: "\f073"; +} +.fas.fa-circle-notch:before { + content: "\f1ce"; +} +.fas.fa-cloud-download-alt:before { + content: "\f0ed"; +} +.fas.fa-cloud-upload-alt:before { + content: "\f0ee"; +} +.fas.fa-credit-card:before { + content: "\f283"; +} +.fas.fa-dollar-sign:before { + content: "\f155"; +} +.fas.fa-euro-sign:before { + content: "\f153"; +} +.fas.fa-exchange-alt:before { + content: "\f0ec"; +} +.fas.fa-external-link-alt:before { + content: "\f08e"; +} +.fas.fa-external-link-square-alt:before { + content: "\f14c"; +} +.fas.fa-eye-dropper:before { + content: "\f1fb"; +} +.fas.fa-pound-sign:before { + content: "\f154"; +} +.fas.fa-glass-martini:before { + content: "\f000"; +} +.fas.fa-shekel-sign:before { + content: "\f20b"; +} +.fas.fa-rupee-sign:before { + content: "\f156"; +} +.fas.fa-won-sign:before { + content: "\f159"; +} +.fas.fa-level-down-alt:before { + content: "\f149"; +} +.fas.fa-level-up-alt:before { + content: "\f148"; +} +.fas.fa-chart-line:before { + content: "\f201"; +} +.fas.fa-long-arrow-alt-down:before { + content: "\f175"; +} +.fas.fa-long-arrow-alt-left:before { + content: "\f177"; +} +.fas.fa-long-arrow-alt-right:before { + content: "\f178"; +} +.fas.fa-long-arrow-alt-up:before { + content: "\f176"; +} +.fas.fa-map-marker-alt:before { + content: "\f041"; +} +.fas.fa-mobile-alt:before { + content: "\f10b"; +} +.fas.fa-pencil-alt:before { + content: "\f040"; +} +.fas.fa-pen-square:before { + content: "\f14b"; +} +.fas.fa-chart-pie:before { + content: "\f200"; +} +.fas.fa-yen-sign:before { + content: "\f157"; +} +.fas.fa-ruble-sign:before { + content: "\f158"; +} +.fas.fa-shield-alt:before { + content: "\f132"; +} +.fas.fa-sign-in-alt:before { + content: "\f090"; +} +.fas.fa-sign-out-alt:before { + content: "\f08b"; +} +.fas.fa-sliders-h:before { + content: "\f1de"; +} +.fas.fa-tablet-alt:before { + content: "\f10a"; +} +.fas.fa-tachometer-alt:before { + content: "\f0e4"; +} +.fas.fa-thumbtack:before { + content: "\f08d"; +} +.fas.fa-ticket-alt:before { + content: "\f145"; +} +.fas.fa-trash-alt:before { + content: "\f1f8"; +} +.fas.fa-lira-sign:before { + content: "\f195"; +} +.fab.fa-linkedin-in:before { + content: "\fe01"; +} +.fab.fa-linkedin:before { + content: "\f08c"; +} +.far.fa-address-book:before { + content: "\f2ba"; +} +.far.fa-address-card:before { + content: "\f2bc"; +} +.far.fa-arrow-alt-circle-down:before { + content: "\f01a"; +} +.far.fa-arrow-alt-circle-left:before { + content: "\f190"; +} +.far.fa-arrow-alt-circle-right:before { + content: "\f18e"; +} +.far.fa-arrow-alt-circle-up:before { + content: "\f01b"; +} +.far.fa-bell:before { + content: "\f0f3"; +} +.far.fa-bell-slash:before { + content: "\f1f7"; +} +.far.fa-bookmark:before { + content: "\f097"; +} +.far.fa-building:before { + content: "\f0f7"; +} +.far.fa-calendar-check:before { + content: "\f274"; +} +.far.fa-calendar-minus:before { + content: "\f272"; +} +.far.fa-calendar:before { + content: "\f133"; +} +.far.fa-calendar-plus:before { + content: "\f271"; +} +.far.fa-calendar-times:before { + content: "\f273"; +} +.far.fa-caret-square-down:before { + content: "\f150"; +} +.far.fa-caret-square-left:before { + content: "\f191"; +} +.far.fa-caret-square-right:before { + content: "\f152"; +} +.far.fa-caret-square-up:before { + content: "\f151"; +} +.far.fa-check-circle:before { + content: "\f05d"; +} +.far.fa-check-square:before { + content: "\f046"; +} +.far.fa-circle:before { + content: "\f10c"; +} +.far.fa-clock:before { + content: "\f017"; +} +.far.fa-comment:before { + content: "\f0e5"; +} +.far.fa-comment-dots:before { + content: "\f27b"; +} +.far.fa-comments:before { + content: "\f0e6"; +} +.far.fa-dot-circle:before { + content: "\f192"; +} +.far.fa-id-card:before { + content: "\f2c3"; +} +.far.fa-envelope:before { + content: "\f003"; +} +.far.fa-envelope-open:before { + content: "\f2b7"; +} +.far.fa-file-archive:before { + content: "\f1c6"; +} +.far.fa-file-audio:before { + content: "\f1c7"; +} +.far.fa-file-code:before { + content: "\f1c9"; +} +.far.fa-file-excel:before { + content: "\f1c3"; +} +.far.fa-file-image:before { + content: "\f1c5"; +} +.far.fa-file-video:before { + content: "\f1c8"; +} +.far.fa-copy:before, +.far.fa-file:before { + content: "\f016"; +} +.far.fa-file-pdf:before { + content: "\f1c1"; +} +.far.fa-file-powerpoint:before { + content: "\f1c4"; +} +.far.fa-file-alt:before { + content: "\f0f6"; +} +.far.fa-file-word:before { + content: "\f1c2"; +} +.far.fa-flag:before { + content: "\f11d"; +} +.far.fa-save:before { + content: "\f0c7"; +} +.far.fa-folder:before { + content: "\f114"; +} +.far.fa-folder-open:before { + content: "\f115"; +} +.far.fa-frown:before { + content: "\f119"; +} +.far.fa-futbol:before { + content: "\f1e3"; +} +.far.fa-hand-rock:before { + content: "\f255"; +} +.far.fa-hand-lizard:before { + content: "\f258"; +} +.far.fa-hand-point-down:before { + content: "\f0a7"; +} +.far.fa-hand-point-left:before { + content: "\f0a5"; +} +.far.fa-hand-point-right:before { + content: "\f0a4"; +} +.far.fa-hand-point-up:before { + content: "\f0a6"; +} +.far.fa-hand-paper:before { + content: "\256"; +} +.far.fa-hand-pointer:before { + content: "\f25a"; +} +.far.fa-hand-scissors:before { + content: "\f257"; +} +.far.fa-hand-spock:before { + content: "\f259"; +} +.far.fa-handshake:before { + content: "\f2b5"; +} +.far.fa-hdd:before { + content: "\f0a0"; +} +.far.fa-heart:before { + content: "\f08a"; +} +.far.fa-hospital:before { + content: "\f0f8"; +} +.far.fa-hourglass:before { + content: "\f250"; +} +.far.fa-id-card:before { + content: "\f2c3"; +} +.far.fa-keyboard:before { + content: "\f11c"; +} +.far.fa-lemon:before { + content: "\f094"; +} +.far.fa-lightbulb:before { + content: "\f0eb"; +} +.far.fa-meh:before { + content: "\f11a"; +} +.far.fa-minus-square:before { + content: "\f147"; +} +.far.fa-money-bill-alt:before { + content: "\f0d6"; +} +.far.fa-moon:before { + content: "\f186"; +} +.far.fa-newspaper:before { + content: "\f1ea"; +} +.far.fa-paper-plane:before { + content: "\f1d9"; +} +.far.fa-pause-circle:before { + content: "\f28c"; +} +.far.fa-edit:before { + content: "\f044"; +} +.far.fa-image:before { + content: "\f03e"; +} +.far.fa-play-circle:before { + content: "\f01d"; +} +.far.fa-plus-square:before { + content: "\f196"; +} +.far.fa-question-circle:before { + content: "\f92c"; +} +.far.fa-share-square:before { + content: "\f045"; +} +.far.fa-smile:before { + content: "\f118"; +} +.far.fa-snowflake:before { + content: "\f2dc"; +} +.far.fa-futbol:before { + content: "\f1e3"; +} +.far.fa-star-half:before { + content: "\f089"; +} +.far.fa-star:before { + content: "\f006"; +} +.far.fa-sticky-note:before { + content: "\f24a"; +} +.far.fa-stop-circle:before { + content: "\f28e"; +} +.far.fa-sun:before { + content: "\f185"; +} +.far.fa-thumbs-down:before { + content: "\f088"; +} +.far.fa-thumbs-up:before { + content: "\f087"; +} +.far.fa-times-circle:before { + content: "\f05c"; +} +.far.fa-window-close:before { + content: "\f2d4"; +} +.far.fa-trash-alt:before { + content: "\f014"; +} +.far.fa-user-circle:before { + content: "\f2be"; +} +.far.fa-user:before { + content: "\f2c0"; +} diff --git a/static/fork-awesome/css/v5-compat.min.css b/static/fork-awesome/css/v5-compat.min.css new file mode 100644 index 0000000..eafc2f7 --- /dev/null +++ b/static/fork-awesome/css/v5-compat.min.css @@ -0,0 +1,12 @@ +/*! +Fork Awesome 1.1.7 +License - https://forkaweso.me/Fork-Awesome/license + +Copyright 2018 Dave Gandy & Fork Awesome + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */.fab,.far,.fas{display:inline-block;font:normal normal normal 14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fas.fa-chart-area:before{content:"\f1fe"}.fas.fa-arrows-alt:before{content:"\f047"}.fas.fa-expand-arrows-alt:before{content:"\f0b2"}.fas.fa-arrows-alt-h:before{content:"\f07e"}.fas.fa-arrows-alt-v:before{content:"\f07d"}.fas.fa-calendar-alt:before{content:"\f073"}.fas.fa-circle-notch:before{content:"\f1ce"}.fas.fa-cloud-download-alt:before{content:"\f0ed"}.fas.fa-cloud-upload-alt:before{content:"\f0ee"}.fas.fa-credit-card:before{content:"\f283"}.fas.fa-dollar-sign:before{content:"\f155"}.fas.fa-euro-sign:before{content:"\f153"}.fas.fa-exchange-alt:before{content:"\f0ec"}.fas.fa-external-link-alt:before{content:"\f08e"}.fas.fa-external-link-square-alt:before{content:"\f14c"}.fas.fa-eye-dropper:before{content:"\f1fb"}.fas.fa-pound-sign:before{content:"\f154"}.fas.fa-glass-martini:before{content:"\f000"}.fas.fa-shekel-sign:before{content:"\f20b"}.fas.fa-rupee-sign:before{content:"\f156"}.fas.fa-won-sign:before{content:"\f159"}.fas.fa-level-down-alt:before{content:"\f149"}.fas.fa-level-up-alt:before{content:"\f148"}.fas.fa-chart-line:before{content:"\f201"}.fas.fa-long-arrow-alt-down:before{content:"\f175"}.fas.fa-long-arrow-alt-left:before{content:"\f177"}.fas.fa-long-arrow-alt-right:before{content:"\f178"}.fas.fa-long-arrow-alt-up:before{content:"\f176"}.fas.fa-map-marker-alt:before{content:"\f041"}.fas.fa-mobile-alt:before{content:"\f10b"}.fas.fa-pencil-alt:before{content:"\f040"}.fas.fa-pen-square:before{content:"\f14b"}.fas.fa-chart-pie:before{content:"\f200"}.fas.fa-yen-sign:before{content:"\f157"}.fas.fa-ruble-sign:before{content:"\f158"}.fas.fa-shield-alt:before{content:"\f132"}.fas.fa-sign-in-alt:before{content:"\f090"}.fas.fa-sign-out-alt:before{content:"\f08b"}.fas.fa-sliders-h:before{content:"\f1de"}.fas.fa-tablet-alt:before{content:"\f10a"}.fas.fa-tachometer-alt:before{content:"\f0e4"}.fas.fa-thumbtack:before{content:"\f08d"}.fas.fa-ticket-alt:before{content:"\f145"}.fas.fa-trash-alt:before{content:"\f1f8"}.fas.fa-lira-sign:before{content:"\f195"}.fab.fa-linkedin-in:before{content:"\fe01"}.fab.fa-linkedin:before{content:"\f08c"}.far.fa-address-book:before{content:"\f2ba"}.far.fa-address-card:before{content:"\f2bc"}.far.fa-arrow-alt-circle-down:before{content:"\f01a"}.far.fa-arrow-alt-circle-left:before{content:"\f190"}.far.fa-arrow-alt-circle-right:before{content:"\f18e"}.far.fa-arrow-alt-circle-up:before{content:"\f01b"}.far.fa-bell:before{content:"\f0f3"}.far.fa-bell-slash:before{content:"\f1f7"}.far.fa-bookmark:before{content:"\f097"}.far.fa-building:before{content:"\f0f7"}.far.fa-calendar-check:before{content:"\f274"}.far.fa-calendar-minus:before{content:"\f272"}.far.fa-calendar:before{content:"\f133"}.far.fa-calendar-plus:before{content:"\f271"}.far.fa-calendar-times:before{content:"\f273"}.far.fa-caret-square-down:before{content:"\f150"}.far.fa-caret-square-left:before{content:"\f191"}.far.fa-caret-square-right:before{content:"\f152"}.far.fa-caret-square-up:before{content:"\f151"}.far.fa-check-circle:before{content:"\f05d"}.far.fa-check-square:before{content:"\f046"}.far.fa-circle:before{content:"\f10c"}.far.fa-clock:before{content:"\f017"}.far.fa-comment:before{content:"\f0e5"}.far.fa-comment-dots:before{content:"\f27b"}.far.fa-comments:before{content:"\f0e6"}.far.fa-dot-circle:before{content:"\f192"}.far.fa-id-card:before{content:"\f2c3"}.far.fa-envelope:before{content:"\f003"}.far.fa-envelope-open:before{content:"\f2b7"}.far.fa-file-archive:before{content:"\f1c6"}.far.fa-file-audio:before{content:"\f1c7"}.far.fa-file-code:before{content:"\f1c9"}.far.fa-file-excel:before{content:"\f1c3"}.far.fa-file-image:before{content:"\f1c5"}.far.fa-file-video:before{content:"\f1c8"}.far.fa-copy:before,.far.fa-file:before{content:"\f016"}.far.fa-file-pdf:before{content:"\f1c1"}.far.fa-file-powerpoint:before{content:"\f1c4"}.far.fa-file-alt:before{content:"\f0f6"}.far.fa-file-word:before{content:"\f1c2"}.far.fa-flag:before{content:"\f11d"}.far.fa-save:before{content:"\f0c7"}.far.fa-folder:before{content:"\f114"}.far.fa-folder-open:before{content:"\f115"}.far.fa-frown:before{content:"\f119"}.far.fa-futbol:before{content:"\f1e3"}.far.fa-hand-rock:before{content:"\f255"}.far.fa-hand-lizard:before{content:"\f258"}.far.fa-hand-point-down:before{content:"\f0a7"}.far.fa-hand-point-left:before{content:"\f0a5"}.far.fa-hand-point-right:before{content:"\f0a4"}.far.fa-hand-point-up:before{content:"\f0a6"}.far.fa-hand-paper:before{content:"\256"}.far.fa-hand-pointer:before{content:"\f25a"}.far.fa-hand-scissors:before{content:"\f257"}.far.fa-hand-spock:before{content:"\f259"}.far.fa-handshake:before{content:"\f2b5"}.far.fa-hdd:before{content:"\f0a0"}.far.fa-heart:before{content:"\f08a"}.far.fa-hospital:before{content:"\f0f8"}.far.fa-hourglass:before{content:"\f250"}.far.fa-id-card:before{content:"\f2c3"}.far.fa-keyboard:before{content:"\f11c"}.far.fa-lemon:before{content:"\f094"}.far.fa-lightbulb:before{content:"\f0eb"}.far.fa-meh:before{content:"\f11a"}.far.fa-minus-square:before{content:"\f147"}.far.fa-money-bill-alt:before{content:"\f0d6"}.far.fa-moon:before{content:"\f186"}.far.fa-newspaper:before{content:"\f1ea"}.far.fa-paper-plane:before{content:"\f1d9"}.far.fa-pause-circle:before{content:"\f28c"}.far.fa-edit:before{content:"\f044"}.far.fa-image:before{content:"\f03e"}.far.fa-play-circle:before{content:"\f01d"}.far.fa-plus-square:before{content:"\f196"}.far.fa-question-circle:before{content:"\f92c"}.far.fa-share-square:before{content:"\f045"}.far.fa-smile:before{content:"\f118"}.far.fa-snowflake:before{content:"\f2dc"}.far.fa-futbol:before{content:"\f1e3"}.far.fa-star-half:before{content:"\f089"}.far.fa-star:before{content:"\f006"}.far.fa-sticky-note:before{content:"\f24a"}.far.fa-stop-circle:before{content:"\f28e"}.far.fa-sun:before{content:"\f185"}.far.fa-thumbs-down:before{content:"\f088"}.far.fa-thumbs-up:before{content:"\f087"}.far.fa-times-circle:before{content:"\f05c"}.far.fa-window-close:before{content:"\f2d4"}.far.fa-trash-alt:before{content:"\f014"}.far.fa-user-circle:before{content:"\f2be"}.far.fa-user:before{content:"\f2c0"}/*# sourceMappingURL=v5-compat.min.css.map */ \ No newline at end of file diff --git a/static/fork-awesome/css/v5-compat.min.css.map b/static/fork-awesome/css/v5-compat.min.css.map new file mode 100644 index 0000000..44c6790 --- /dev/null +++ b/static/fork-awesome/css/v5-compat.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["v5-compat.css"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/static/fork-awesome/fonts/forkawesome-webfont.eot b/static/fork-awesome/fonts/forkawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..b96d208facbd9143496537edf9d50a6d5984fed8 GIT binary patch literal 188946 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 z zTjSv&`;>{!Z7{@p7{r1~Wkx#FL;hxAABfUOIw)!p&>Kg}Afnp(%qSK^yv)ju+i-9L z{wLqApD=#IhVc{Dzn2(x`i~>4vL_CjSUlb}nrU)Mxs0G}5npF(iVP}lt!aB|_32Ry z8ZMYSbPPx2ex!dIJ8bR+_47uaUhT+=A}hg^M((4=DVAs!>l(Ro<;YPhR*dTV6;3iY zjcsk3l$vS_SP_}Z5to#8WK5(C;H*@ow|VV5<_P~fyd>z$FJ3}gVBjReJxh!7eW9g? ziF3}5aEX&qvdja6XU`s-YSTI4n-uZK(sI-p_08(wy+Er9q8SB|7YRRp3jzU&Uq)T7 zCf0Qg=qLq=Qzk{tqP8)m(RmG39EGck6Jri|8W&1&TFsX*5prx%1YCc}Kx zJ9n~$tAtMtL6aKbq^zLk(U#m%HV0cF+gBXU(B74=Mb5$kvf|mHa#v~sUsYKyTr78H zl8(xlf{idYv2LC4R3ngfd0LN$v|U)FaD@wYO5fN3GFG2lF(pf9QEQcLhgwW3g)(v? zu8WRi0*<2g`z7{`nWI*5(HOh{0<2sZY<4&TN&zq4`Tbr}fs8(*-zI}^Q zjY6H`<~@6ER?q_4A7((I*V)UhH*eJyCV=4Ua_5#08SI=$s-7*jm(|+o~TE z{d<2Y#~rLJ;+O6}=Um=9ecwIK(2Zjo`wv8;#4H+ z8p0pMGFEa*LXVTuW!eV9pG2K!iOfz`8RLg$41_);YcbG?8YGJ=nPMwd=ENZc%?+qJ z3{o)0$-wbXq{23-;uP(#yv6LTQ z{BC)eu|?-i-PKYj1;uOCp#>X1>Wnd6^3=CVkZAtd9mz0d-hpN!`s1iAQV9>V1KuWR zR5ppp&#;lQVpx|LpaP91BP~%7JveN|9S{g?MzX_aCdw|MVZ#?{qnW*?G4Qw>kBa9Q)F$D}9|HP?x0EjjREgd?w$OA<4!Pt=qCO9z_gM-Z!qzML4{}}M8mm zB}nwcs!wgIR3(IO7-ad=-Db#GG5C@{5k9 zWnoTX9=JkDPqN0$vHFQaep6ZMaF?}>ef+d|F!q(rH9gFo3kFK{zq0m{OV}*HT;xJRb`y0I*ZhA^;mpV0EStx6O`3@LqxIhWbzFz2Nae zxC8yM*ywZ6k4mk-$a(|4l$P7#w9H}_P3KVh>7$p4wq2U=HHdTQ)5H4`?=u|7qf#73 zZ&ZBtCb)`~UKcy@g!Dbc>z;GZA040G*Z(-OKoG4>bi~ob!nhJ8sD?QVcC{$2B7k@M z1?;pe%}q_-Fz3-rM~t}i=-eBUo2N{@ef^|~8#YXwGBfVV6;ZMB+=R;$rO{!q=gkV~u(YfQ#dwvf#hx&+n@9E+|C z8@otwhYg0DI_hydd^)YyuJd^O9=G4K*X=fB&|C>F-NAgV&0#aEt^N#8zQ*o#m^BW+ z+rLS!(U=MfJT6zhWtKY<_4ut?qa`4l720f5dpw{8Q7DX2zuTlW8jLoZ(WKX!UH%u4 zg3sxWBBh}ABAeRnriaNlxZS$)C{o>OhvH%AlYxR4KukO&1@qE}#Z%82*l)P~qft?F zXr+u^0HTKKku!vsg;!?GAUPy=?E)~jJu#miF?SA*=zW7_kxE5l)@d|C1#<5ob0um) z!{8XTU>@#y-2g^h0kJ#0A z{S|#zTGPMxipK_-GpjSrs0>D|4*CS*15tira1&w&UgQ0N-CyK^NRN$5#ADEGsSUv6 zOa~{(668<5Tyi7&Ip(2kLb)rgVY9fxQ-TKrnrN8~NL6h0jfrRa5@s(^Eb8x0qTd+3 zjdqLD{w@gD5>Ycegus3oAuMLmHpOYT>-!_cBEpK^4j9dIdH|^ixe-lP;|fW?NSMrZ z-;bO*Z0gju+-gsKJxOH7-4>_CZ4YEtuWuJaGF2vmi+Q8Ij(*=kJ_9e}xa?%SgZZx5pYfK{t0|eav~99*C{jG0bbJ`gF)NK)y~UXmj>m$TdW}?V zH9K=+iJHugaD7ohW2D18Yx}I!gN!aVZu`b73nI*4=}qU$$(ZBEg}W5x6Uy5vghN;A zhvt_Ehc045r`6>{hn92SU`cfw*#GjlX_CEvq(r9kep zIx-#J!r~~2(*YO*TG&=WUvS8E_j0R=kAvGC_0Y@@xIau>i zhL9h>EsoQ~?CI%?i4!E`6L_xU#TeBvzC+}XW8n3ddYH2QLPOAkyGPR_Go5e6E!i2p zR@{LR(r-cQqJJ_mwg?wQOQX|+NEJv|Dao14LjXR&AdF){6ooLn{xWzOSg{bP*Tj9| z03NhZ{gR{`FiwMbkM>xF1K_W>mU#%UOJd{3J|qb^yAR>vhW_dZl$PL(Ktv1rL@N-n zV(pZ!9G}b7x3%29Z5yeX@n~$+$V}qT>Ku_Rd`y?*+3`8O)`lq+Q?@uRakMP&I)DD? z4(585!DWxyGZpKHkNiPGxZ#~Io+rHh#v9jPcOCyqx@|3T#2s&%mY5kg(sJ2siOkUo zN4eu)fd>vdj@Z6$jvcTUrmoD+e#*LUXu27$D)!tLw+VmsmcL|c`naq}xSfoRm%MDL z^4=qtbBv+F`^V~3uHEV|*4qQk^*0t&3jc9fG7R;|o~yPQTM{=ELKpeRKXzSro$zS` z^WE(A>jS{N1WIC?R)&Iwg~8A5i3>0EJHpvvM`>*1icsaS>n5$)l5w$P$i|E6WLY{d zXf>T7_oQj(%~;BgS(v(b*s#KQ+0gUfsP;F<+%@DYcXec8zVPKM_*Y#`bl}n^4?UE6 z#q2R_WDJ=&VFJ;OAKzO}bQL%+_0s$CVZ-9g-kO@cy!`wbL_5ZY=p?45rm~W($-zG> z{!N>flXHk%LXS*Mpat|_WuUS>=~SVtlfUv7E>q!?y_9JWd_lCU}?g(-&3jx z>a0rHbO6KLspYt9Iqu5rqp8SK%g0nY^hz1Lj&KmD(sAba z2wy$>Y<2ZTmseqQRT|u;NbFU7P03N1LeqKa(_^a&n7<(UNIu(cW{hAz)mzyy(@AM2Ezz>hropqCD_zw_ zPSb26kIVTEm27?vZy3VML6gv_!6pc4)_2tIF^d=JRC7PQNJcZg2<8KNk+(H%D)G<; z6Z3s5pM{ZxQJG>P+0ubB0ka}p=yQdO{j0J(WPysa>N`+|EYc{n1oR?J9laxe|Ix5wJyLF^(@pT-OzdgB0gsOsG`m<%4w5H}Cd|nh+jE z5@4F}A|gt$aMi?vr8;1Csc*H20=@v=;!EiSjKLR_thkCvoWbF{g)1s(h?mj>&rHba zuvT1HJYST1BhlirbG035jm6}*8Qrc5^1%7hqT=sAX=n=hB9#rs#?Fqsg8Ig&x4_-$ zH4g3?QBaI{&905cJVR|xq}7-2Q)iLObQ)j2Qn`6&M!7zJ=T7GQ+}NN*seH@MkZ)vh zjgXVqkeAoM-dj*KrE5`LeEzH|eZ`<`vyDH={8%$u-5d@oj(f&T|EQ|op|K*}#$sP2 z+EQ6>*V^=6hjB?}IFkeyU1C`(pYy+?LLSu$S<#b@D_EbWT!07FEBuMP{?3|;lJfl2 zTE{L`c|G|ny>q_spCxsPElZQt@z@-%$&{~U?)%Y)WAWW2vJ=pQX+NioNk*ib3HqrG zILa3R8iqbjXBlL*1?U2>REnODAk8tQz^DD6syUd@V3`KPvApI}SQrvJU)g~uGQGZP zv~LbqEGNp7_bQ$8QCNA{RMa`HCi?MXa-^w}uY0VN+=e~O0b%#kCGGQf?wJ24-{>m6 zzIBc?p>!&~ze~<2yKum*zChNbYw!B%it7pQGMQ;)oY`dDIGHTK0d%~gHrf97utJW2 zkingOcqAo9h&*I z@7|h4HKdWg-><*uy?rl7{==LccR}6sg~dWrNTgqU<0C{rP1w!-5%2r^UYx!+^>HLc z4*IlTD^8I@H20b~gu;r2!4MY9U*9Hv=xKhiw?JW~XuZAx65pQsx{Cd>~Itr!@5TG)(EDUJg>)q8l0`iP%tG3n|qayBX1S zlSd5})Bt@Y06w6nXgjaHBaQs*z$3D3uU015m0K z79p>w4ZI2+JkXS(Blr98m|w!2aO+!_t*&@p_>}0M4UC-AS*~B9-#qxr`ySlZbfrSN zQmX772sZ)R`zM$b^1^vVL$lFuUVN7570%4Tx##KiE!l++Zr}A}K~{@Qp2BRnWA4N6lI`csZ@_Avm0sb53Kyueoxa9@P6v)L?w?tdyvNOUz$9*~j7rvtw zuLX>e?Dc?nt$1w4XXD$#;*)Lrty zH8XRBM>kGfvHG#G%<3K;Py06yBb@Nl?^m8(RHo=%Qenu@$5+8)UM?F~Q`r#Rx^m1@ zYa+v$UcvUC2h6eey&(KJ?w&W6@`e5sZ}qqyX-HQp(gvwrvM>{`0w%$ols0%w=sJ>F zfc6HujTNjzG{+tt>f*Kqq5^!G(A(fcfz_|fmoHx+zt{4%2xucL> zlI7ILJ}t>^Pp6ms@(%H= zD=QVi9TbIK`h&@&UDmH8P-k(bI4!=>%&+c5s0qiJ7?)_bC&ni@lj7r{#<64H89RtA z5^fPsIuoRm*IbtnpJ;D^X{SX9cmA4KcXF9;&wyXu5&KO~sQj$2_kVMuCmv{fPWz^1BW{%o19X{ZhWeJTp4_V}^96G9@e~E^D zX#SuP`9y1XacdKtj{XHTY*?O}l#vK;p1<#U-W!}yzh>|z=a88V>GL0HZ2sGX%E11V zG_wCL=*?%ocKcXg#iS{l7VQe2n^>RO)1B2&x66ZErQ##?<>7+oz$pHLplW2aZbBYjW2p4dl zf58j$`~RGpmagKMg0vvi4VH0!wWm)}{VK*daY|BpVImpUV`7b?)Zb@tWZ2ZlXR+M4 zQ*)mlXVvt~TzJEx{rApjTAZs)wP&P-N(N-k-an(eHy8Q*!D_Y6>tu8qCN0lkNb4I^ zCs`NOD~yc|NlJq=BY`ig*^#$*+OmEHO;1iCa~@wXFEMUzeZNynW*(cp%r>EHOlfa_ z;#TI1?w(&_zZYZiXlzF`}0Ms*P}wn7^vD zVny#)VfC`DTbGe_@P>VxMsY=DowFNDx0pEU;Cj`4Lq-cf3U3HMjvjIgGB;iAt15lJ zSQ#ytp=5Cogz4LvSZN5?<+=}%m%dSaj~GEFzMFgGsy7lL<_6p8@w)S>!iaRAx^sXv zq|udeuxyV-ufgyDGduq_qH+(3Y?!|HMWQ?tCv-T9^%|(LC#>6WhKSF_lO{e` zIZ4P$xc4I%e-~nK{VZLy^NMb97#zIA>zu-W#*+j zo$1c#nCQ_+psp?uk(SJurupRMK}&n~TslZ7n)uv4!Q#Uijczn zR1-qCDXNngE&vvv(pZlj=_e|X=?32)2Sl%P8U5(Ex(78rQJxWSK$z|MCkoS|)oF!= zY0TL)qI7g*(rtEIgYe;lr-k1=U2Rarv5dVW4emFIQEGkS}Z(9G6@Z0-;7G_U= zmY&^!eNu4jC$e|)nY2RYPc=nFHAN#w4lhhiE4=O4L&CeKJGZAl^mno$wQ$6U`-R_r zyq>5(C`=RgNWsVJg`YntjKw)|f5u!$zilG={}K@+oOPH1(wHK~Lg%7taQ-TEz z-mFr3m?6QT$34Z$fhF3chmx{_3rCE1-dLWLab)PA^)DbcJU63P#b9sWp@+){`}E^a zbnKtswD&`9lklXC{H9k)M^n8rGoDc>*o~8f8(=}2@KI{VPigmUOVGy+a@S7^2Zci! zl{@b}ahxz&`2)-a0S)g;DRx=_SZ=YTITP%0xm)@qFLG%C!gQWd=mWKP4oUHZwKGiG zluvF5O~*vKrvQK)rRu2mxBePFb864IOd#=REjbYhVx*sB5?dpn)I*9EFODBI$>(5|nrXGWyMB<@;B0O{Fhry?^v%7^4cYi}d!Wp5Ta0XrrYnWLl zmUe`fo;b0TZCQGPyukQ7ZU^@-BW28eSB{^c-N8ZUH4$HNAhH-wflpKusNYK2I-qN9 zlkI^|#9`3F`(-C&55nvD8QEFc^RgFVZv%ggX^s*yX$i{YLG-jIM%OSAg1U*zUI-JlYDwaxchRz)d3%Vb2zWAYM^EkYCEPMm}iqsGbrD4e8 zAwj+fLJl(JdEjRPzXgRIdMn)LFojGG#Pumm@J#Tg@(!Dd@%l}?qKG&wc?>!Z>+`Fa z0BcFL5Je?2O`%vC;s`2b3D!5+cU1xM~=Z^^#Ru%B;(Uhxi_Da zv&)Rp-4}%44Z+u6&Az*z2i6YcnYFfL zPPkL0vSRg+Qt3!BTdh`4oKi~$bIDeficH~?t+)nS7LKGD$ZWMT&SS$rPn=vU93URM zPA{C{k~`iclZ3mBtdm2!JH&plZ|x!D}*HB z`5Q*PMJB#^OV#KF(dUJg{YH~@Oj&zRGKH}&9XoxwP=Tb~*21dcjyFl&y!{&+DW)D=zxv$s zf84X@kI$crtl|&066Tu&2fiVU@b|Un53PFOrPh7>T3>o#)yx$SkACgs$sf{RJ9+f& zC2y}<*!=J(`}h2gTi&iL9kXZ8m{RWInpv~j?<=ihql30@AJoBSWv9-WlS25}(+Z2& z2dfW)6iNK_QSg~#L~fc!TtVjecY5c4dtTyIsURXv^$yB(iZlj>#*bXqaaNbO5I%QV zr_yaK1RTHKHoxWD``Xj)`*!tA_1z1m4ay;z&+hHmt>1j|DD$z+<+4Rn=>r%GT}J;( zm*hdZ6o!f0v&8LvSl)Nvx8L5k_$7qPEx5ba6Mx>_vA4R!^9QtnAN{yOlqopSc$yoE zBHJVZX@us7%0Z^;06cZefyUhjK70e=vpWKweBge{PsfN1$;3|MSfBi?#7uiC;a)l#6&myS* z7eBBXpG#cNFbtk)n7JIk6|r?k)k0!jL~M(Q6&qK!+n@9SJ-4jm;ANYIr?&)uun7}6YnvfJKNe$Hx4rQd?4(f5OSZi>^MjXmHw9&&2anpI9fAmfVz#kN-xU2Q>;a1XG znRD^|oXW}^@=$h|`5~N59?GdCTj;sF=!H!S?&3kJS_n_U0GIr=El0+ryqj5u!-$%GT z?|gXIhyyn+oH2dj^8LdO{N}C0Q{ErJyPZnCt>;wXr!^Zt+e{MAFTZft&W)Rnj-Ix0 z?F83!lQr4&`@?0k%L|nTTYQg)$3G`!_7eCq%q1t9g+1@LS$&ugzdd>{Z)-)|+IA@w5@B5)z@; z$)Z?Lq6-7cPZ?NLnwsBe+r!=jVVSB6U@zrjYs#xCcrjl9xV}zO2NgU-P)R;_amXHS z=MZ;96&Dez4v{vZUqV$-H;a8;T)pm&Z~vAk_&9byy`%#!-F7c?`VC2aVvILvI0U|& zPVli;KZQOn+TEF)Z4qQhM1G?pDNb$7$Hl$`eNk_Y1$vH8XHK?z6+Tq4TfHS8{9$6f z;kbdBn)2gfW;38#7lz1xTW4Md1Z$vJ`*wrbv>=Z>K&@rb-T!s1ExU-9Hiz(sT^2m~ zvdluCm(oqS@*mb+arrX%Ya;UTGy|X(qs6ZIqF@o{C7Rj( zgI5xp7x^r4vx0u)$mn6i%t7<8Vc7oF1-N*`EGWr)e?XsHQ zv2@=3Z(m2k&_qTe0{V+sHVZA)b$?=^u6t(K3VQEQz-vUO&lj}DivsWf6Q6)Fl*WM46G?MWDW)sI)8bn zswt-brn(8xX4;mFLsWvJ&9Fyp%2SzLFDBaTuVDRv5x@+2% zQEl&a&rHAjuSV_Q!F?O&c@u?ax^&?K2E?s=EG!cJL7OILCozjgeBwgPj4v+gvDPfK zBu=I0{%6tp9k;!9@!draJA{{0t!C5iylg1p`3O|wSL@x$kJF#qGC-mEym|gBeP`Ey zzAn+NbQbi$FTqXyP@z?WR}f4KdQRbjnS%|9AR1^hSgELpceS@kCr$tpn<4qg z$~S)!+J1U-W%c6aeG{@dJ~^SRu{0ggNBNW1J@@W&>n7#1#E@RvSeB5?bJ+=fmoKgs zB1okz!6%^c>H-9c@kTL&Rpr$3Wa#(5izDbQS_WbN5Kfh*uyA(b@K8<%%nyTf*i?xwBL#pCXQMmK#pdV^-bfbMQ~8>+@)Wx* zMZT*9p()da+vY1%EjgOCFUnK1Q~1Tg4bz3zina6W)6(kaudQem7@1tfa?xV|${)>` z6Ky0uI@Ov0fa@=sQpw4k2R}Ah89qZ8%AB$$B-(`hgF8REm{l82OAFU#T?GGj`DX+* zN8|=EmIfLjnSweeQ^a`qBun~4m^nH%cBWhcr76BJXHKK`BK)|B@WBVIRQCscB2@DyN2Dl}h}ja+JS0sgRW|7vnD;~@u!F$1K^2HaQrToiz9qpYzCc*Fdd$HKf4*>V z3|32Czmu#M+C_!sbZRP+OjA6*w$MnA61lMU&exYnSJRtTlhxv5+9Fr#0sq=BCxfOO_|;DZA-Q?soZ3dS4Qu>QVH(Ge!^ewr>(r9+pXf}hB(sqZzVmCWzFz(I{$riiNZhY4{is29d6V88-F&55Jo**B4wh#9rptG|di@Hb6PXUa zL9!hB>KbITX>aWQwM3nhoPMj>6e;AtsT=)v&|`MN3dcrBClQl|jRUkUhDIE8U)>1& zzi$M5Uv7S75%HD6^G` z>P1ax>uw)s_W0O|$t9~-|DqMaR#KXwP|MATp00omb*N~au`}}Pkq*zV5E0r#FlX9j zm?8lj%NB~v2qsI=6auUuJPh99MtDroE{7Dzf_Cjc_KBZgqBG!suO>H$41e?d0}q^k zllVJ!gKcS9H2uJV>5D`oGjr+YWy@}6!cWnm{*-uv{o6s|yHm!iNKv=P#|YAS05aPa zEwTZUIr`dqGH3mI1ahcE7kd*5OEUy+bO!%XbNvIutPDOGkv~aRhDnx0r3C zKiY7tY{tK6L-d({Nq9R66ZENtv8ELJp2+8g04IXmy)Cp-}Ghmi*Ou^ujikDi=g(+n}rG(?KVt<0mit>v{FP zZR!L(K(&4F)${A1lhW~%7sPh`#XNiYXW{SSJXjnE^N(OuOb_DA2{A1VlNv zvl^Wap;x*EBl)=)naBske@b}o#KzCIYA9uCrr)%AtW=2CAS}Kn)n}}9;?k9wh+P#Y zJoWMY!k>3p47HNT`#jOT_UFg@KrS3*9<)D3OF>VW*RIrYcwBd<;B}eDXs+bGJ_zwZ?l%rNZC44Bpal@~b zk@%ict8;L1d-zI~7-R~=Bcu~gwbG_&#XNM1WOlWWbnq$ZEggUT#k?wh8>$l!&Qt`{LV1?&(Y zaUt75)d$4~Mu|A}^ADsJ7N!a-UU7Yq*ZaoGMO%)XI~VoPV|=7Awe3V|Av5gjJtZaN zx2on{4}2Yc5GO{a!fi!*7cavcF@RdZs9eC&K}q$2emyW3L}x~@i=yO!Gm=u3hGNjU z5*{jW43R_qp3By4IQjDQyNL0GZ|KsK(|d19Qm1KL_RK;r&;+waE8H{c%X>GB4u{59 z79{Ha@bEd|$M~dpmz^;b4bHN&56pS)))~bch33X5PplmnF7fZqnw&MXwvbmJN*?Ke6it4tC%3*~gXDpeS_u%tF^p)(P`B^IGXx1=v_FPm)l&x<>+iik8Q9%(( zWH4Nz*kGAxAyJ)>lxEBh78%U1SRu@8_yZboms1?3H$}*9?t~n}tvt2#nuF{c3CDTH zWSo~*x^dEu0sRQuH_j=KQ&&ALTlt5qwMwc$X%LKqx- z2v%!eKl;tU8T>T*5aGP=&1=iYZz6ji`Q06OGIhPfKT$4}@PRC%e%OyzfW#7lq73O| zJe|H~h%@clHpl$Ws2>V-sir^b<_nE$hfMB9#7s$jTU@st?BoCbOL&{~19}W*n*H=> z3Fq$IV#LczqHgNo3}BkBWtYv7r(-9JM$O3Fz!C(8AOXigS=er#B%SksC+0L_qlpbX zHe5p0_SCg0Cc$8XYW#t8`od=vfu9MJMxDi?6Phi$7M(?CraPoj+=;pe6cbtR=~OMG zu(^XZQ_JD@bo(Q>54Ku1jQA9w5s?^(zi{}McT3NWwiFNeuJD!>fvHQTOz4$vD#t%l z;{ZT4iG47l_@`LEB49&YsUPi$2oVs`F~lY6P$>>E1PRbwdsG!B0xKwZ>i(6CYp+z) z?xv>!ON`!mrJj#nQmMA6bb8gLODeq%n{?xvBT?I9UhgoQk4r8xW{>B>-$eQa3dTHHbey3(=gem!}vN`X|WkR?m($dkw(iH)q8Y{zeMXQGT#e6vFT$76W6>^kG22Ue?s!FI@K$6pn z%&{a#bUbmC?{9zfg3)MiZ?zkZ7anZ~U-rG2s0mL7t$$`?M`YcT{A-5vbi-@>lk3>X z#%J1E#Jo)8Eeh*I|3P7R)w{*9{cG>VUn!Q9 zzLmT{ixus@L(51T3HdU(R#`sm69E8m1n4)QUW@RrK||3_O{3l61_pPXs}2$kOOCHZk~sbH=zXiS!u@%|eB!uA2;OZc>{s$c(}M|79rKTbB^ooFPdb{hFl&}1 zBrMlDn5R4Tuydl10Z}c*@tcH%-^3-WsH;FXepCZ*0YoZv$5Dp|-Zj|i$P;xnVmfz1 z@_>s2h7YG4EvE}h zWHhRFfog&mG3qcWVM+oZxik@B+bdp!xfa)eXQneNNJI#86SYwKgGI<%tf*k1>9vD* z2IM+@B8R)^bKtQ+W!l&hfGR5|iJBZdtK zGC-f9$Edh(XM+?+(1)_nN(Do-9O8ZGv@~)}u1H0Z931esu_NA-YAf{8N-2U!>WDwo zMtl?xOm*5O)TbAvA={Kbb9{gyLlaS_VijV2h9MFy-r~zJ<)!Cu?w^w~s%^M#WJ*r| z&H3rM%&RmH@ZcuiS?mj@B&KANyvhGql{o*Vr9+q>kSdRii3IZ-?9n077agMt0H4e7 z7NsIipNNd2&Lo%4;Y>|1TQ!P6gGQw?3}RAzPF|O*XBl;d+F)?>CKU^uZky8B-%-W_ z21dar7UUPE--+Be z`o7?-nM9#ZT8k0Q3qL4<(DE+B$>o}qO~QU-MybIJM0dW=3#@koaol&3*baICN>gn} zC@F%TUZG~>DuouAVlCXPQcmkKI+5a${7)Pc%*)m)O{%gaG6Xp={2416_|$d5qLDfW z_nVg{9i1q5Fv%)yw%P(TF3SkU%1jkb4X9TttHN)+1$dZdE>4e}H3mbbUX{!kwQu~- z%S5$85F3*qPs%P$*IkUgTkyV(Qn4>g&I5($P&sur<+_sN2$qrM=f*OX&11NV!KEoay zW;Z8m)GB*Yl1i<&>XVdOC%&1XmQnW!__8WICa*f)%p(N>kWDo5bif%gp5(NqlGOpD zBZ(v!l%PNjCbY)bYa;2llzu1vCUOEWi?>D+pKc&gE$ zCW}_Fy*Cw1amOc_IZM*Yt;zbbjhS+TaY~h`YSnxWZF$3N*6-VHF)NhT^*tG8{n5os zjvigISn#1ICN9OW(y;w{J-q?4kMjMzN4Ae7B&yOlg z7L*rnnaHV-{?lx6Xmpxky;9z^*>)GC+F91->=_|>!D^p}3><*Y6K6GZ$kuRne2;Cx z*#WI)S&dO&fU?(%{6a4k!#@jN*FZg{k)Qi2j|}2Mo5Ci;fh5Tl6?`sMX}Jpi$Hpxa zCvJ%@nz*I0aZ7Y`>Fmun{|1^xQu_YZ-`zejht2FeXVt)`rY21o*I47z4n829J|=wh z(X;Co_3rJ-%c3{ocDm#Xdfrf1l`4GZv5QiKY{Ih;;2w!qLLM_`{lmW_y_H_{lVEM7=zzaZ^AVx%s9DnDY&n>?e_mImFP6=;(x?#hoq!>tQ#dIq= z_m_yy3yns%(MVR#s!L50#rvexA!1Bn7i|AK;$c|j#PxaMqw{PdJXgR!0uvWYzGcIw zh^V^yZ7*I2|2aCyDA0Gc8pCyg)H2gTsw-G%DoYKpbzN^GVnn0xT_Zi&IBxy=anjbV z^XEHmg|`IdVd)YrEAq@@>=dARMGF)7GyH_1dFCqqhe6=E6Jw8y!$tWKiZGoEDO|R;}RnT!X3$QOX)5}=# z;$|9@bXA!WyUHYK@n{fI_afNhX&jOdheQlZIGs@D4(uu;#s_sT#Wh7lab!$OUErD` zL>sRzBXR# zc5WN!h7)fGyOipI(}9!x>lQL zCVxc=4u{R9h;zItlW)y5@fIpuT$Ztrmf+heBW{}s$Xq6?2TQkK?t#0g8|fYb zMW$kL+Y!VWHY~J2KM@Xxh3}gXXc7*SFnnNIur@X|5o4H-vtGzbyOB< zLy>v>+EG_j0Y6429_YMIye|Xwt)ZyGk~6fRu}2qAaDj~PCEdEg1FPrt!qP_ z6o-=?O7$IgsFe<#%fV{5Zbb%JNBhjr2lSe=BCsVRlk{U=n>=;SjW^DjIyrxa)4Aq} zN!i(xo>()LtsPli8Xj8Bnt7p={H6bdtD%Vivcfal82+Kc6ppMVTq`LS-YBc>(PTgd zEzg2tg>urqcl5`n2@gID1WQT<5-G%_Ni zSO*D+O|76kKo6B7kemIcAWZ-yB4i*?!_5&fkXwvUHFKEM5SdDwty_m-N6*@@ftj>n z)+{pSknqFdWgi?GcL?9Og6J9N{3rjhUijU^!Uqq*jB$$Oto`Z9`J|ycoEGsjk7Ydj z=V$RhBicWMye+&S{D3EXu-( zcuW48S@_z|MLq7X%+n&4pJYD(A0dxebnQ@-T6A1kXNiojZWp-$4y*&lT<5uFkx`%r z8|h`S!`#3t7mp_u&7!WAJ`9hc*CL5F?V~bf1S?E?@YyOy90C;fPz~WfnoNQ271RBu zNFFpE`1;ULVaXI-0c{9%OcvF{T&HeLvbI1E3_NHkf;kFKLlI884#-+TJ^Zyi^&aLNqM zJiyG&n6j{@U3R^rT$pBAh=$n+9@+Mj$YF{LUW1p4Tcv&bmWmrjJUg$tV`A;%YLBOS zajj)zP4&x>soy=CBzMKv9=nngPX zS{x1w-Qzm<_y}^#%%3$&m@l+nsWK$Qofr{234i5Sv}e+qM}F9_;fF`oBq==U9>vwW z68-F~ADxf>cQwo+9xDO@5jxHIQ&GQvTdmd(nTq{R)qBCV0bdT-wxIWaUX$vI^0r>< z{&spza`Kwfe_KcCFQxrg%1&db{x@GIR(8ZWqUi9b|94*mMIXVA98ns4V)~cUpTHOV zPrt$WM;__WZ+|s2^VRKF_ou%9%Mzzv-Jj$N55)rcFFMoBvzarqZ$`KJ&nxkZj#RXB zXA$jDSA7QqEZeo9hu4sl5FC+nm41(2sX!KE%Qa`IPXtJVI1DDS2`Oa-^~E=2XJuvI zP+VV7mXg479oIWL>B?PUvpz!iun31{jBE(kL&5?F=lblrW^Ps8^>JLv*90#>3^ zdLt5PErdE4Y=T?i0R1);V@&d6~Jx47bE%fVEI9XN5D~DH=R`-~ZlIWhY zO*dEGR3D8DpCi06VEbeZFW)+$IJX}c0XW3C{9cHN9OgPn*R6S}!u$S8D)z=_q>)F{ zGJd9q-8ZFIDVgfr$c;qX-!nUMU+7!T zZJ%tCZ<{IT)3by*gJ*>D7+LR;v-YKsM<#FQ%29Wbe-UlG@M?f}7t_?Xmde6NtW`Sw96ERU_uCp-9^ERxV-dG1!28X>)9R1J|y9dgs5>6 zj&V3kTM`JwqI@q#7Qvz}8qXCxS8)1BrK6&j7usj-+c#@LcK6Y+`)0|~ARu)>3nbDQ@b#!T*Jy4h9W%N-|8f6^csOt+a%doLQr%bSU?S)}gvp&R{E-LE+>DBskVTAU~dbu)dT8GRsLenRk zxie6=+EXCBpIcFr`_@}E*~%e-%zh?N%UHh?Wx+I>O`UQh7=kf=u$*|i7!~;6V*rXw z3shO?SE5>k;>u!}K}tkN6_GyZr-3b4?0yt^fc9Aj>>aVqAh)J`UK-PLX;Zy`ye+~X zqo33_9bZQ7&5RD6vRhfzR4;EC7yXSt+);%XE2BwWl+1=ZTClC`m&5!ay@U^|fza8f zdOSvPfl)`w8zfmmQC6o;-NEyT0jC3z>Xq4XZ2m zCAd>_t;s$&k}vAB%SzG>hL$An_-c28PjQznH}NG&btR2Q(Z{e5xT~O7K0gg~78leI zLrG5}7-G5>gJ{_p90>yR<*6+7N>9bqN6DMjVd=Js2186g8U_t04hKE{O)> zHjM9LA9;P?3d>X-zgV$qoN4{2Ve72Jrd!tyyJ4e#>~h6Qb;zEdQV>6LUumJh_a0H; zD_7mSW~Zv$mmg*~BurLS`0}dR#R^V2MOo}&9?wi6?Im@^7^!cD`>|X&&tI-uoUo6r zyeykgM|PGL<=Dx`iLP;5)Fb9hA0pgKP7ayAXq5VvadD}FOp#@DX*7FgRy6s94Mp-u zzArkG8STrj&NJwuACvvwqUv0|R!DI!b_w&{83|-%RJg zY0~TSdy8XTCi)5&B1U99#`-jIHlUGiQe$;dIZFG{d?IV#IR!{_0S2v~Qhkx6QL@%K z2mF%gS)k6K!aw~{wcYI*)y4fK!gn4)0b}Ff&LPbX{eze%`Uhw4wW}xh&nsTgH!*4a zI_Fs9jOu8iL5%3*sg3~zi%G6a$&@HkdPrLV)<1&?Kqz)12ND#C6C=o@IB%d|p*Py7Uwo)@ z4v~5(5ibA=1RjsR4h44r_fXGrtj(mwNZzhN9yHwtBu-kVd` z_LpE58CE-VjPRN-w@+~?o$}JQ2yX;L-7w~07z!SPT|FLJBN0>OdLBCnFtI=pNKF8K z4aM|I!AeZv17)B^0t=<^M8M-fI|GB{26*edXVz_ox6bc%79hIB>nxmpAW^Axo3v(< z`>fKo+^Ra0L(JOEI<;yL*0)+!AF0)>j{8_;-L5mUtxI&~j(5eIv(36Cdb35{QK{3Y zOsY8%A;K!|PZe*s2DPS@^2|2f|j9-e@9og?s38 zC2RYohFp-_09p(k(kknR*!N*)G2_f z!vKEBh-3#Nq=JK9iza(RgLwYK>#nsPVgD-Y5i@Sz3oq`;85+novIbp1X*6i$j(*<$ zjgtmgyskv6f#Wnrvph$mpFuv}_rgoN|IMW)WsX`uLpX6w{n4@rRhdHu&?XQb?P`p? z=XUJ?OiQwnvsedd8CXg!$&&{RoTAVg^jeP9F`RCw**xRlUB&9@Rb0V!TAtXhdZE<% z=yQ~xZB;~gx9CqIQ*jQ3UqwPH)*o`H;5e!vOfw~T(MG2ESYtoIOD2K0XijuMCPP5LNyz;$Z*I3m;> z4bR~cdSe8)RFju+>)-LX=kPe(*Z>HhGBtDN@0smkd+=M&5cr6|X z;$Y9HHjw&rKs2Z1J`IW`>Jj3hh#(xZ749k_xU7e`b)i9_(4Y?gg60MI&#hfhKX~DS z=8ir`7A-z<@0Ulobw?I2I)a^!PldlfchkG8R=s=EbL<0x@Q(1ju;kr4#*Er~o*5$i zfNZBor9f75WKDL3YTg0i;=zqy*XIq@jBwX~v+GL z*K%CZnxfmEzEik(N7LkzmG%|h$qViv$~&LF9ml6EXp*rs2AvB*?o#1f3`Q?>hBpw+O|AfIEFvMpB_`%r4&S3nIO^mg!5Q^Ja&e%j)UC)xnBNOqgrA8T zm_2G?-;?XtKe?V{>o{F{j(^d)TB32ew8Gm(DdZ**arVPCr|1yeA_qC(-KCn-e&FYJwdZ&J)af7ivo9g@|Y~Pyh?ALiAXT zS@9uvL7@f@n>=xgx*s8TszOe)V_|m1E|$pH#ZX?DG5XvH%60!jjeL0AhH>LIkRo+j zk7TuP)w-pLiOD_E)b{jV!)`0OwZLvy*~{(EEgXm?e21PZ-afondf&6ck7v&!A<&K8 zAy47GhbN7T{%nooPwT++!Vfcw@YweE zJrroMppQp*jRZY?3W`#MRUVXupe*}A3#L;)bso`0Fj*jykxolM2J_hTz|@l=n;O)g z=yd_!Cb@CJISXEM#Q^}Z7U2+Z#>@@^C1HT4pGl_R-xEHF7k;WDfuX|Dk+w05vkBAJ zKcv{0KyJ!O{?KlDFUfa=Aw7H9JagRhD&u-jAmIzUEfotr7j$1J$W!{hJrc+pglw&d z{@|I;JW&w6yb(#Go@cGE6)qad`;>)@vn;ho$BrrG-h-6p}n9H@D_*z2Dm# zDqs|8azYB2ibA2rgH*@tC0~IaKAlW9x4k`FC!;dIOr+In*mf3z!`;=5@=+-iVa}w2 z^I8>jhDQ6NmZFG2eTP&0G^re=b(DsQvXg;oIzkkl7t&K6hG57+x!yccNWegbHUOd* zBz>#B62sHTP*0EUjLlU{4f~iUKEan#=rfSH@bBi6hpye~X0y#L;sHSdvh_*bUC_vv*e8fJZhj~2%>jOnACyK3DSdGw58 z-pci3dcJysF&lL1l%_-OUU+10!%W8O;&e&rY~5!Y41f{9Yy0&&{~)m&wQ`GA+jPK% z>-cKj+!B>8T=&U3EkmoI>-UxTaunlAfta<|nYt*=5dHxXm->m?WhoRLhcZnLuMeLq zn5H6jF2wpUqZqwN{|AcUB|*lYMqNHJTd_BN|GTf3M-!TbAB%)i3FDN@Fv)CCu;n>Z>7eb#oW#*dw(>0ofy3D^W z4z5?k*A~exf+%IrNa%U|rv9g!_s&ktQufLjH6_uo z^JW5)!Z9Q6d0+VEvW(Q2QGj$}Fi_ASz_C)8Z@|y?z;`16Hm5@?2xM0VF1Zjm&HROO%Z#NrFFo+e%LkTiUN(F4?Ywi| zt~KM@wr6f{8@FcHygAE>a?f|9_vyzelS-C#Tx<~@SY0{1giQMUPh?W*u&SGcld(C; z2wmX!@b(D6UQ$D;g2Dp<6ap&P7g}l*lKNbP%w9QbmO)aXKxPQnfvYRk7DItY9dvPr z=;lg1xl|1UqS(In4|^s*SV-{(P%nt#9> zQ~XY#Y+vgcCRsOaP^3X;Cfa31tsA@)x@0pu0A6&LV2A|Ofw>aq$f%n%Qc}=gzxiv_vXGP#aQJ( z@~%*z`vQM;nhQcq>l-tQkQhN zotrQdL+?Uu4|qc;NaNGdRcW?PiXCG!p&QbCN_4cl^ zpwnP<>h)gjj2->@&Y0adJa0qeBb#csZ+qq3wm=-CM9N=VvdzTKb-6k&kn~l#b8lSn zUj2}q++>wTlb};6W=)Ok*|;{*49cflcl_S{H*4ez%fsQyrlwufM>>^CCt*kTSv74^ zu%sk}5_7D@%M2AutS+zSjf_FBP*+tOlgxZ|mC2RZf9brLL+ZzltsgqWtxPl-os)Z$ z5nCFkpWn6nEu*HeNXfGD+on&g>095gL73dDcGJTXUf#ZKTOfr&!gD3>Ffhjqj(I{- z=5R~y*!m$eo5)*At5KJr7?W92pw5fe8M)GMnbc<>1IXV*pGic&Ure=a-XMZU^&mF6 zG!<|KWq9ErAM|3*z#mN(51t>eYI-)4!Av2>K2Xd)z(R?xCUC?T&GkHN4fNAvpm@a~ zM1WO81!t!pww&l${vQUrL07T%j!%~^`|i=BQ&NIU*_IvaXH=9l+_Ze#9N1XJS=+w6UhTcDPI5W5(R7o^pAT#TXjWtDs`cl5rU-0}%4K zB?S+UOn=8XyI@#`UTw*_!>&-V049<$#WIXBU#`%Sj{&kNZ6oT*7Bh27a{@A3!hz}EVt;n?@40S+qOG_H97I}Z z&6qH9L&)E5Kn?*`Eb`S*;3PB^Z6I;+f7d{~Ly#f+jL<5z%tu6O zs`keJu34C#f()?BZmGTTH1V;~vj3tns4Oky{mt z-YtJzoTI!n-a=AEb&|;47+YltKJk3m+5VB}>z}~3NFZUjoLhG=jwdzMMM7#&p3@1&cc2&NVdKqIASl4h6hpg#z*q#pZT%49$sBH;YIZ zr(LV>g(*MIoBE*8R-B@>vRoYR)q4yHdIP`f{_n}1KWm*&u8SIkGuW8G>j)t*GQetUD%>-`HG z#|){Qq z?DGFa50t}OT}P?3NyVYZW6eM&6!1rv(hno<2I7yN7T#x<2_FdW^DonFX0QNwmFQ`7 zThO`|`7FLpq(gE7#Xsv~p(#`NsYDS9+8t)vj&u_T&AeScMlGBb{^yHZCuKME8)2S1 zFz#6Hog*eJc4XT_RYlXMDs?xOhL@9J?QGk(!bD*RQ8bfkA|Eixc6<6QO4Zt}!e=8d z-F^3ntqJ62jgo$2NslUnyvS1jd+HEQSc?Z873-O293j|ikf0pM*Kl-Ggs8i63>bvQV!_)Sj`xr{srL@B zLsF=d7<`y<2)=p&lLvxa>@r#mcAK^?Iezx+_~bh6gn&CB>~qJHQ>oSc3N~(N9AH)J zYDvppIgbFk=X_tum8>?ASsGOEjPO^-Fo#xOLkrKfc!n*EFD;EpcZ} zPX-YerNHqRgHH*fC>muDLnazxK+368gBP}B2M-0Wq&y3FS;YNf2da(O6ax)B@PT7O zDFjA1;LyB-J}Q4g=#X0#vL1!n3&IYeUf6j-Q&h2d*odAVl8nV{oSrN&_sgniXjnB$ zcw`32{zKV_VT;@D8MUgRp`yHj1#7Q%X)>Cdn=>>nwMLV5`}l_Ox7$~ZYACO0U>+%( z5T9EJ!_6JAr5w!5i=S9FbV=oYHKWoQ*&*H>JY`fxe<59Ud-)RKEAb@_LZil|QL8i4 z(=*j-b+RU_P^BuoNMAN;75W41&qTfy^BdypAr-UK6h%EAJT55hLMFKuY#&tMW+?9z zo?tGQ2kD6zN9;UH$eypry!kWQ50aV3e)s!VYsU(I74F&o>`x5)`S0?38kvF^|4BZSpk`rSU^%}{00X}qqVhqJYFEqN%Ch<_hi%_bGsL6NQj;w-ZUYB9XaXJpuUro)gX;v z?~s5Ls=HXSQ3soffFbC>;DsR1|FHj0+jn2wF=FQ{^VWYe;P>-{!>`>feE9C_)$bDD z-51CLAzfpg9wM zQS`uAc2wJAPjZK?yQANdv4XbaIGF-K-F3Hje6pAw9gT0C&~YCb%&h77gh5kCZ4-e$ zklJ)_LPrs^kwdbB0Eo0T5dWlY9$!TC7ouyNOG2PwY#r!Y!$wzRq8Zv;`U^F+&Mnm zK%=Rr!dR1NuC=5W5~D)PcU?!HV{A2E`5!fsFm+uMTA1&R#wMl-3-KpcK-edn4XF;d z+mUK8A=uscjzMS8!XyI)oOF@V7~RnXh(Fq4#lAWVZ3QKU#A=lj53G~CDEz^vIxz5)J> zKxu8t@Hy~8nln75wlt98AK(inT1)%ltMn~3rnxK9ytB(901cqca)tL(AfJQ>M<|z! zfg=N$FpcV>TUUDraH|KGM585yd1AdV_|fP(X7hFIGi*iEAfglgNw_D07pEgLuVXl& z^W6vdE`InWl))x35nl&hY*eEN#UTZ`K!#0hVk&?zD`8Gc$?<}rnA}3aGe8w(uv9pp zi;Uf7^!r5hRGP8t5LG#e9Dsao?|{On$cWQwlbveEjqj}7^vB?wdV6-*Q8$x*4$eM! z{vEI0+WzO`-=EuCK`MUp7c$1N_>Q)Tj*K`2FPi)IHEWA2%@c`ilOw}nNzj?+%rWZ{ z5-QB(@g5UwIeBqTR$c1q+i&IDH||>D9OMXR+w1neyLbMeThION_#L0ypZr|-%~$dN zkGl5&kE1--hWDMiy?1S|T6OKNR>kU)C0lZln_T1~_uebUMPOXORAU?n*w~?%8bS%Z z7)XGSP)xEB#-k-I*kb6?piIbRIv%=PYDpL_mC?go=tn|ASIj}^#vax$h=sGPsu;J?V;`4 zAKLcG+8cxWK3V?gg>yh%tnw63STepSPwDV1i|4OBU@p$goH5d4Sa;>ZM51Tci<>vS zbkVe!uP{?&Vg!pj9Vzix4O61g*0}}hSnIaQqqfc%Sr)RW8Qs+F+ow+3zWo`)eH%I& z#}u@5PaL1pTS}W!k#Om-xIR>x=VQo%@$TZHSh6^z6Dy~!xpd~3t9Q(opX{&C#jq>R_Z(0=5PJ2QXl1nK zTwpp?0gjpVrxmpC5G={Ldwu7HcavUf1R81(8rUYMrJ1>Gx49VfA#z*}a|2%!Fi>YA z;uV2${JEdps+<(yWHxsmY-=$2AVU0y*~Y>gqf7bM~DLV3Ph-?NsJ! z=gi>zZ);-(t&H3&`X5vQ9vgUCoQ8pcni=Q_HMo8AhaW<3f_+EEs@tHu zmqJn+Nn`EMp6EC}81Xev!?x?MQnhXWm^Aj^D|rYIx1?4g4_I`$DOAYTD|_bQ+gEBn~_uvuCa66Nphc&5%e?Z zrNOmUOZxzwixqqUniGxLG|5r-4$DUa#Y38-Ym3KY+_h;`~**LgCKH7gBd--+y`)8BaL64XuuV)V`PR{^L z;TfDjR$%~r@fTal%eVZ3RAa!a&TY$mlinBmlQZ|Fh*rjtuFnDk0iobYteB#E@e?5P zvcH$!UPjhQmoFm;CU5mU_mCC$+>`yQbW`?Y=0)k9Wn?{BzYGS07qcJZ83*T$oDC^~ z>{*I4R-*wclENs+Y=stT`I2G4Y1qQ(V9gDD0td&UQKJ@R@sB@l)Q34n!i#jLj#~m~ zfjTZAud}@apZtoJ8^y}SM@jxc0>fig^T|GU%xyLESUoXt7!|<7ciS#<{A0LdCGss> z5zCBRFhHPH${cq=OD0LczJNDGHyw*uXa7xL1z}Rme(B-tmoG@k7nDi9Y`zEw#!akK z-c_>o{VHaIuFyu({VJg+dlNIyk=-f%%2ue$UdH|ddyauN5rCcTIQj$iwxEWf1cZqk zLmr37RhguWdvF3nbAVL}qFYGT(jrjVA*E0&o0;?-KFkhZw0HNny=2Ni_g^IC%iIQi zbEit#M>oG(V;Nkn7kZXd zd~(@%AFtQxNXsJWkM_Nb?z!%9=JlVAe|eq7lyCI;3+G=lbD~K(@v^%vULR-{*igh) zgI>R__Tq!r|K|%Nxo5|eBK|Kk34 zmrUEc@2UN#_O07n`wH{-w$kix3#tg)Qbg`muHOF6O_$E!bEh^|1#@3obYGveF~xsTs6B zq_6oD-n$y8ur67D9?%X^Es)Ou$u0rN9D|01l|dS^Qk_R(J#wdmhRDkKJPGwPPzFZy zJqq~&d?Or-BWo<04&8|nJH-T5koKmY>3uytpRkIe#c$GZCBJb@>kN=PM3`$tX?bCf(-{#orQ!N~80?rW?6rPYrLhWYq+hbY zu4uSl^fWd0^fWg0WVa>50K7h|6&Y5k+bbQCDvuSo1-DCAn`dIClEb%t;EaIemtnP5 zr-31bWNRot`wwJ-BD&jGAFryM5opV^YXcUeip-MkEm!gkuSuxyL3T8-9I9kny?FYh z;v?W@6~mN1 zGYxc1%E$Wu8%G@EpLY{>%KY9;x@TGTIbzYjqqj)!SE|j@H#UooDN>oqD7}>(cIrjx zE4|gKC)$_D^~B(*D@?_z-C#!{dUsWm)EG*u*xF;`9>Ft@mV_4~? zg;U+`|Kafg`Ld7y3XxXRp`lzX+cIc}gq?yKD~J(8eeM^Aei~VNb9_8pk0RfaD`ctRNqN!i}j?J_I#fWEM{jSfMXe zk8SY!1-3jEE3e9HSjV!BA(u5U*$vS{2{z4$W2Q5t6V$wtM59E>s|8)iInxm_s8mYA zMBF#KW0q)?=KJgHv^|*=-zv+qgUn?bE-`<*ugK0NT z(-n5U(P{Z9%`vxz)UKfi4oFiDyhIQ5{Fx~J+(Qp7$F%n==}%AvVbP-tWgqmKoUH4I zy^YSs4VaHOn`Q-=q36ofEimYG%ZO3JOy-Q#lyv$@s4 z-uIRqIFIz^t}QQ_nes}?t#ZqOW9RJj>t#M@`8HOOtG~N*DtC;{tp@hKuVC&HIT;us z4#HVR_)+j5E=IoJ%OMU7yp7Dj8rjTAWMDftW5Ps8I~p~0qd!qgH{5Ot8u3F-95?_l z@nGE}%8DLCuY`yoZ^GyyqX4N2K)W(#T;MY)E|3C12M^@*{y)gt{{*6#295Pzd58JL zk&cA@-k9M-bg7to$pJ?y63UN9aw!#1W-xa{RxVH4utK!YC0M;mBCnFmWSPzq6kBfs z)vYOQdxS()HkU?QWSstrT{Ifgwoh-DjSfG|nI4KyE2a^}?%a-I*xV_liEymGIdSuc zxa5H))w3s+#Y@t&D|1;?=sgW2hImgtrI8+?G>>!*lEP{DGBObfzcGRVY(Q*ohOQ4uGhFsxbd4XR(>;hSMqkwXii@l z#O@HTnEN0lo8YPG2Q(2>V&as;T&DVHMQ21EDvQ>eT+G_RtziS7NZqDU;rbD&GFHb< zKbUXIiSFQ}Fj8qOSW&YP+CF(sSOuve0WI&1CSy2^K`s1OBiwD+>e3Y2O zZj;|c=1qunnp7%NXJo=WhRNF`hDoENT(^;EZX~98F0p=$d)V-aCfp!yQ(df1nme~h z$7l)Zn;WGs=GnvkTnSPZIa4C?FRo38Vk*bxbUOYc>m7>vEcTeKRGah}55xWFZk4)zhWYw5={>BxWG)w)k)pVEf3cWAXjBNm^y+nX=y zc}*8$jtyz@`_S~6X*9jvf3x>wFQ=EqRYO`qz*6^#tNn(>J+Hy~bk-hhRZNkyF3}Vo z^p7@1cspcyow|n5IYeMNXqXdZ11Kn|Bqn{742P(%1M?&8Q3K>BaFOR=9~3Q){&hY> z8aqb^i4bC;Ra290YxOuhCh~_dI-9O%H^Y{HmVR_kD!t$y|&k4-S=CveWN@`fb%x#=6#~J?K>nep$X|ZrOwiT3!PK6dt1kcrYu{suggBwt`%y{M8z2T&k51X*#!8X@~07t zKcBW43IY)Y)B_FivSZYyg8;S5(oi|7@6cMLwqH~Z^;$Y0rOK5Cr3eFfK@QGEhx<$_ zfN($2L5pF?V4g?7lp`Kryv!6CUdnm2RyAX6G+LOi3`)V?)#yL^sF7EDm5!M^9_ZbD zb9{0pb}I>%lmy`5?W!oW^CIvJ+iY$`k6=fRP-%w@eoHmIU*L!ZLvJ{E`U_|EBvqN9|7r99^|^kWo;XbCeLbSVQt{2YSmXj8<jg}OSkrFrhqe_^P}v^uKvqYg z!ZR}GzZ*J&Jf&gQqba)Zic2xg(NHIgHR_015cfyz0}47!;8Zzm8LurGcK}Plb>CKP z13XF83ufj~qFrHHr!}j$OrMAFwrnJIi?cVIk_dKu-6i6!ZA*T8#(|vK3)o9h) zl@9jQniq5yb))h37U?g4@{jUg`Mbs!bXFA(Y-H1-)4@v_X#@+US7b+e@(Z&qoVrN( zIXPHS!4_$y$J7gYRwAUzwyN>Y=}VqshUI%UcUwIk>$V3>oH#hQ{D71A#jqQe0?SGL z7`a*+7z7-Gh&rIgodDIGkoq8=j-z&5nRmmEPM{J)E^y+WExpL&rDa*4HM!!44 z!W2BeG#ql5tQ3!`f{|5fTqgYDJqHQZ%5f>`TWZ(l(Zp#LhDVb8b(f z$o|7W-FVa5iek=D+w{ZNUL)z(9*DiCw%MvDC;e)M>#CVfE=naP4DWJw?DTS1w5DrP zV*r30IdpCyUyK>5huRFNRJDXZ^KfWz3xXK=d_3cBjva$E2^APKh+emzwtI z;anas%ntMzojK6W=t{;_VFmNpP;(e}+TOCjE5=LXQL8pz!zp=FWY?q@N11>_(dMgd zVSFMs?y_IXC=Et!N*``4YEKl7C~OStQ#zww$y`dv`PQ&Y?7U%0qeU>-wO%AhFfy|& zW5Z)6-xeNgnZ+2KR-0FAHwc!?yu7`{&KFozzOWB}N^3rEC#TN0gAv&-IETMTt_3Rm zqNURJD0h1*CtyIP!DO@nV`4-l48}3h`k<&XI_%_HIckhXDbaHw4%5TnOKaNoW_6xQ zuQxZFy_ts225of5SWnvX9?}*#tP|}~SD-#qKP{7K!yQ9ttCYMzyzK0@Xc1E-f zqZ-m)eY4H1SLHRn!}pQB7uH-*dbOAr@dS!2agV_>eos)V5xi|dO;uFK^Wj8(US578 z%=3n5jV9RU6*StwW#dpVZY}iZMcv|+Wt(d*-HZ-Dv<)DB2rYkL4E+I^=e68Kcx2btzrADc25~!n(B1U{I3Fh~k`{fJUI7 z(nQhH1C5{|Jtl%i5E~sE#TZ?=MxfEtMo>x{fjZX+RF*>4&T58s1k{7E z1Sc}Zdcp9G@ova}C|)Uo$>Z!lwRB^s8}g6g0_ot+`A;*z8q#(|yGg`sq3~q-E3fE+ zFW^5rZi&Bje^JB1g>_@c>SLo~`Y|2N3l9z}f8edS<@jHC{__uMfs(pI3tL8Ftc%BT zB@We<-2Z0Oh7!Jm(%%kkeCOcw=?CB0c!=l@j?Aviu4JxZewMAx*785gDk!Hv(^u@* zj~Usz@K9ap18+y|AAczbpP#Vgzx_aA)1gJfM~u}Mgu(^-u_Id+-Aqg1%Rdu@zkF!P zf9rwLx|Q+0IC0`?tR&H?frj*|Pe7!S;a0 zyOA6NfA_HgKZ6{HWW`vULH!2B0b~sXY#SA^;5Cb;h+YtB;ysK#BxOP18KRWoaf??X zmC*#|L3eiHih~!-aC8=5{^E=5@BShA9O24}Q4^Nc-%@S0N*{gv1l!&J`>2w+eQuX) z{#HIV;?Roz?5yi7{D_w>XW7eNdiUg4b(2<(8dn}f z;3}kn;&ha##1LwBV64df%PY`tn&VVK!N8I$K?jn|fQAPl1adn@WO?|NKaoc%v7YcW z)|>;9o0?*%D^*_6TBRG9!s4_zlpw0=$dej|YRK-g^h)mm;~TU^nRyR4K@YGKLsg+r z)y0Y0{Djw+xF^3hk??sFKTcp>JGdg+iPAgwUHInJ<86yB-sG#R@&zjKzarqP@|5dV zU3}#TlW$h$gm1zF`&Q1?No|dD8XM*{FzY*iFlY4Dm1R8(DyBvN2IV>@5l2gHjr4gB zH>_~r0+qN(Y1Oo48)jtEtA_{TQ#+59InBjQ%bJJTEe^)Ys@+cG5ci- zN%_a`nn^4Vb_$lib#K_d|G@igWy}M~v15~|v16sC@)MgKn~>urYUjOId3dvG{w%l4EPC7FAz*)3%9exHR zp~Pih`pUb8>a;FkDX8Z>9Y?wVs;SCWHsF`h28?*4=r9#w(CC9*-y5PB z3bNt+856fd`v(6Wd`EHYAhZW<41=5qf>nyKmchV+j0VQsiDpL|nVo;H{KvPBls=kt z>#K(wM)f`1H>%<38|Kc{Kc5~wMRS?e9YgHqV`cjEurle#{1n%!)}Fq;p4L^a)*=Iw zFf%j(3LU3M0rN?>s*x{ox?;aVf&6*sbUZ+}B8}34tEq&+{TM({21QNI9zy#r=3O!IW62WL30mz%&K(#d~uJygCpIpeaSP+s&`EPTiV zkhEXl6$o?%1eLnloeY=Qw@x_KRZVK{x7S2RX{I+Hx{(iP^Yk_)NvvHprnGvcsiVRg zV35+Y)h}MsJL6#U!lP5G|HG44xU1+{7j!vem({yegUpliWr-57q%nCb+Jdtx3$`}b zUUK2eGU-F~0C&P1cE|Lsp0vZGsjAYNBJK)*lM$~g zXLFEo2vJ#=I4c(e3|&car*Om|RT_!l-B8_`S{+ynj9;sb=7nwrwc1?+uYV>t5<5Wzarvz4GWO7Tl2?N{LFHEUOtn5{Gi5- zW2|O8a)Naw$Bgb6J+5p#yQaT{1{AZuHmJl(Q%%K;3%a-w!Duwp#&=yXqoT%CDXOw} zJX5E1Y0|jpo#R;gX>bI)YaOnY*0_{)&nRm{#ddpXpn=X8)DESPpS2Wd#KH&2yBs>BOfCV|^W6=^8rD$mk=)IR*bV#*{%Ej$7daA5IKE|DneM4$V9n!*+D`qhZ z5yL-bl9+8kidg9rZh_$sO!h;v-Xcw9e`r0yTn(c+Jf#m>E$vF~&!RX-rm=3~y*Ipd1OAvT2vb11 z2{cq>i#UeN5)=W^duB-rs^`sbFXnk7!UINQ$z&@sjB!Z4Mx`q{2|$J#hJ0*bxWwmp z%I|xsfuaLYF!{-C=i|#cF863`lZH-eOyldC;Qk zrM+lyc}^|pET<61sl`$u} zj*O(pbbPmB_x=y66fNjmx%H7=xq=3mEol1dzM0M6qE-f~_szaZ->G5pgj~JZ-ZK^X z`I*}N=FGAFByHKbRz9?fE!-<-#{(MrH)I~B(cSr&Hz2vmEJM^jC*!nYGP$CR_=DV< zi~0l2EdMwAj*Tskz4}sUla@a%Z{oPr-uzZiQ9fYDh5P3q*8SOLpdi%2TdF1lCZG zKNA-Maq3C3r?~q|C(URsdg+S(yRLYtsCmYu(y`+%d+PP4E*mG^Jn%h*Q??$w_8RHp zYpy-Gbqe#PzHH9U-|YC|d++^l$8UDdDbsJgb`eVBq(#>yq zx~j${_UwLo_wJ|35s?1tDB~B}GUfW3*-V@HF~IwJF=BN0b$9nIn^)c0S&hH|xhbDI z%=ex=jMmD(LWQc_WRq*OXrTa)4U7dA#K{yQ=AsjJh52+mm3?wh-DPW$e7pZ@I6Z%O z1-NHm-Dq<+~%+B^1Lan8Zk2aRJh71iw0tIPABBimx!GXouQZ%`wS^q6ci05|v*368_$;QUyKRs?+=%q!6cJ+T(k7s6SCM7on=3kAe(euVsUKU!;B0|p}b1na(AwfFm zYbcVsiyDU1=Kp;?_I-;cC*+#kkm0ixbys<&CdpfJEoKj&sl~6(Y@MySv&Z@$;CfHd zW_j+ANo~Li;U)AVH|BMkktiHuOhz-5<`NjH0Q!Y+1Ny&|ojQY|#86#-faEY29!RZ5 zutab#|N6rZUVr_Aj%s@-Q!z485-eYQ_a#SLTF9>TP*p}=F};1`^yc84r3a*s-rv3Z z1LD2zf=^$(q5H^Xr88>knwh^qHL8|gke-)*CjG)xSld?UHO}r?Hvc+lXI|Heo~Bp_ z*ss?8f+X&|ixj@RZp7tJeS7KC($AN+jqDs859Y%*aHApsjo}8xGcraHwy#(mk3*xd zs2fjqTo`2xJmq_qWjPE4cz?2w5YHx$aWFo{C`T&Jz#+_~1D+5W96;S&7@+MA*=UAu zkmJfJegKMGMH;3v0PL+k9(96lDen{Bc-EI*iS$z_8K<$As9cajLWB8vz(%wUb3c4D zzA9!3G|VaAcww@eap|opz9H;A^`bi#_Hxzk*xN0xsd1x5G{#DB#Kam39nGv-S7YZn zHV{L0@d9rWky~aVZ{zjl?QP{QZ=NNQtWDI$Jw~O#D%BvhcX;yEdCep0nBQDxsTngd zVD#0DRXvhO*DPl28jD65u(WNP)2n6X+k&iNEAZ-j$RtGdF3z*$H7pqa;z{X`zn(OO zbsJswEnejQ!9O!{*WB1Rt6D3l3X+pbMr8_kZK=-g9%ZO8xNNR!P&qJVzG!_(Nquxq zeW8_bYNMv`+0B&~EMK-UU6Cj=so8eWmf)Q`q>t|@Km(B5v8;dFp)(>1FB21?#KDVC=?KA( zjsO8L|DG2Hz}-od;`_p;SH$Yr@;6FK1I{}cDl?9KlF z_TI@}>Ho>SSEMNG?El*~vv=?RO^eCtin;c#lI5FHuKmOS?XVyv9Sn`0g`J+0{X=#ujg67_2iMd-jw6E<&d7oO{pJ6~`Ge;P1LqB{ z`5V;g?3JJk8?ROujj&X8ELd{jw1NuKOP+3@`Re#0d=$)qR;S6U+vR08w*pTY-6i0{ z!p7jip#`OPhnyu1oF$(W%N5Hlf!=b{`@n6u)kQsjn%jP0$tl?DsZ>9{BkpY~Qmdt- z@_Ey~vrNlhk;D3a_tSU3Q=Z;yEIqU&w1Gi8tQWqMVxU;+6vJVW-KyBBxI%HA;-KO- z#l4E3DxOmO9B&j7!5NW{iUaX8d(gWFeS8`D{bZ7{fpzYEo!uWiK2&2L22&56+~r0= zkz~{k3FG70W|OoJUVrfX!S%no{`toT_XV2J9kO3TQ&!Q`V9_-~S791Kc4zjCmzO2- za^H~c+!1bkPFjZ*?ZA>{qe>Pf>>3T2ili6hl|7>Jz`xYVA4m9S-*?Xb^}jum`!;gy z*q!U2qq6%3yM2Yp;V?bE{?23M$MoLJB}10-waz(`J)<5leM=6EvFHQm-dxGLWSHh5 z0`>*TIE{@)(SeHUZ~j&hnq-&JC6Zd8m=tVWBFMZ`c(lnW3mO&5oDuGce^tpC5#|!z?I!qbO?}lr?xZV11zO4C>*adH1OA6;3Digvsx; zOZ|2yu*An0pY-)RN|ay$9L>_oZPZ>h7!_^LsZu^uYY0n&SN@tOOsl3@{CbAYbnEC^1;Pd|MMC$ zW%7!*=S-V6=k1ln+#QbFAH*BsUan7uw&Xkb#L>8^7|zq1BDf??tm-bc>Wlhd2~kdC)^sNP4= zzoBLl%Jr={Uw<2P6Xni5evE40bb)s*+cspb0~TzPkPs8ZlwdG=Q@tQ}C+Dcf19n?E zF*@cmni?JYK8u^n9v(CVFugglZw6OCjZYW_H4xvjAy5uvxq`R zq7MM2C}1BhNHC63KcpWGWFQ*|l7XCGH{1{Qsnwr+qE_$2u!^-C8|UmZYll|b+yAQA zz-gRiXr0o!8N9!o-RHl}4|}dPf%}Ah@11w%ZVzkuc8Bcu>%RMn$(?wV?PJ5+3iX6sW+T zE8fJ&5Cipv9Y_nxB?P<|6gMloA86gxv7$8d0Pz(Vd(9dc1M~pWZQmoXAU0K42^<2s>gJkTv z&w0Be7T0qaVF2Ss5o};oI#1i-HHLhxMxQoH)07TTsT3Vb@laSB*2T2i-0A{)NTeT< zy`gI}u@bIhbYqOMixvUg+N}6I>j;E|{3*jN1zIhGj3g{uSS6^JOsrkz@rjX?zqniP zsWs}7aZ8C#r&AY~>lk>vqCS^BJUdO|yp9YQWUH2~v1u$$H-g_iILXVgo>_Y<^mgO&(vr|4 z?M98(?5eSwEOkCcP!Zn1L)%P5D;AV3T<0wi1TmRt7}nD4%ebAsOspuNaXmm(z3J^$ zGbT-78FIn*wL&yE+74w~Y&&*LG=!EmjTCDERt}8?hCFH_q&e17a5UmjILKGfR}UsI zN||1Pq^`gL00)6xYWrh^h4+JJsn`@;s23M{4Yirc(my6oBlE-Mb*0Gy^NguNir@EX zaZ&biY0vhSaso#;Q`)+nY+|0?`>9~$_!$9zcU$&9JqCVcb~T)?EK@wB}_I3PSGA~YHOedYH2-jiQnz6^xQK^7gqG5QowLq{xkoTGW6ZlNAIFum7C9gXCN9yuW`WR#o6v zY0$Sgj0lY8SsX~+Xm#X2w9^|18$v&n@_msy);x6l1|UW{rK}J%nAvQw<4u61tKeZ_ zqD)?PAQ5PL0I1nQ2Ngn{3}8QmBvOw^V;?KV06L(c0-AbDralu<0dX3JOvezMM5Dh% z0hYgjf&~CpprH|t5*COJ6l0+E$iHZMnFy#Q%v`&`>q@pQUGFy?Y9`~Q8F#n>EH^RA zZ!QcK`S`T()Y7T0X&?5LINJu;(7qjkjQ zk}X8Fd-Utlr)z^6HyC`Ufv~RYH_gr3w%Dat?IFs|i8OFW!*L!+xj(OL7xM$fDN9HhJ7TsMP z_geEDYM$i`YF#v%9|<~jB>T(lkI#0db{r#)TN9HLn{=;ByCms{+9S8-={Uy!`qR`A z^mJ||T>JW5<+%I*F5UX#5mNm1uYWK<;h1#m+T@keMPHLCtvs$geg9Mc@!FI7rZT>H z`(A_Cg}8jkHS!or`Q1tpvpg2@$}178d==u9?*kVOaHo{95k6JQ6y5~m;c3@z8gaG$_O#YSyy96L~Dg01E`K2AU-x~!alN{ zmQt0Px?}K}Ogm!Y5s?KodJyV|UQ!QE-(pB*a86KS68VT96C^Zm3vZHlFdpoA(>O2!b;ufsGG)sbihCHOCnKJL)z^hw9#mAYiRZh`dI*Nu!bm@uw_ z$zhc-5p*)f*QLKM(6uLZm5)1;Air@ue$?w$6(EbUoGkHWPL&tp+hij z*CB@Uu9N5HLU}4qdRfl%nDG{<+~k(vQeDb{n_6->mQqJa(M{5epPLK(7NxoGEs6zv ztIw>o_zTRRlj@tKH=^oP?C=uYl_RBF8Wc)OgF^kmgCO}XD&XmrO7!~Ng`_ubBGuo2 zA?d}NNYS|$;tPr*gkDGpmX^@>cvcoSQ>}_nIhRf-NCM`tN07V5ZpQqJsIOx zgnw4-+V}eUb?@D_Sj5(UtiO?1?;-8dEt@V-YaW)~c(~t1dgN_V{P0ocMrPKA-yWGS zies*NZN0pu+M_tl)k(LmmtMa85$UBDU6+uab)@q4M@iL-F8dUSO@lTdHCV6A$g38U z5$Be$hJ-EgN{0yHr5MTU;!*sA8Yl*`siAa0XMFNFZf765C3WB32WjVvvB^|D={0tM=aEyJ|$(vYQ%w0L7wkrU|qOKakt_T#dC^R6z?cL zR(y{72OKK~per;BXbr$pqC*I>mVvll{6d{zZGx;t$ch3i60&6?BO4?fNqMfPvkt5o zn166aJt21VIhhqzq0iYa&`s$LjYjZA z@`zDo(`qul#1e-w87;JrYx5<{;?=z1*XIe$93rIJtlWey0pTGWvt86C%T2AF$^It6 zXwbV@*63j-YsFAPtHB~`i!``F*=oj;=PcT)rkFO*({#!3ie=N5TQ53PrzH!&Zcnlk zHWtL{BV5Ij*1)ct?{6Qm=YlDvLb}ZsIJHKvvRcY@^70nc% z)?jv-(csCeGa3zB~B}Gx=SCsKR%xUvps`IP8JWZ zO^&w++qQS+nCcVLphd*J@7!B&8Oh7GRmMfz%L0f$Nga==0T`^`@)Tw5OJCRH!bh_Kf3ZAUEP3<37 zmtv()TH9A$(p*^Be95Zz*1K12xogX+yUCqXk0606XIH86oJB1Ow;n`6X0>LIV2N_- zw7GT4hD`_dj0^vBoU_ZsUsPO!KU^s3D_sw|J!NBv$z4m+Sf|p}FXk85QsSNV446YgJ?9)X4T|JDw zaC{YruFg~g)7#S0+e&8kwzdwgTKK-R5Aw)hC8#|^D`B@_rIlctuyNO2H}wvwgY3(# z@)d_HbG9-*%Wr}0Wip;O$(g-?Z+Icta-tl}Vna5}I6Uih5PVrS%vdO&9ZY6WLh8B7 z3>!weX0#M}jA7zofl3S*lj<1;1NZD#iTITCv!~3Zu{^Aw6v^l-pZs%ab3;fB7ZvBL zReXM9KCe>e7Z-)aU|kcEbO{2NN&%V8HwspgN^?BTZNTwcUXgBooiLn_Rsey@7B-x?&An(Or zY%6UeITkt+L3)g9ulw^~Skx=?_iq3tCm4VTSwI*J%j{>La!ZNVcX9g5E3P2YdkDez z-RNB)EqIOL-*`(sW-Ph)9+nwDj_0xx&LsboKI-b?q+1C*ROWHY*Is3rw+CeiFw*0` zshqAD5T0qy30as%Bu5Ye8!W~^RKQJsWHtNB>cfXu_or4L;ePkEV+3_ zi`M+;M{D|v=#sk|c^Y13rE8?Cw@zc-9R1js;709fD z>VKE3=-Ix#XM=I-x}Dn=_yZt;XdGP`&u+v~a-DaQsPoz;FvMIw>f+lk>MS!!uO+7f z9N~)8#b+`WP1Ca<8tfSkAa^CAUX9bJ`b&TX#_2`;r+RI^5lF_}#9 z8okM;302$O9OOWGyy}ztt^vK5BHPZ?@t{_O`I<%!qrawL?!+%J4g@1K_-?6@Mm8i+ zv<=mN#X-c5h&qj1GW)qV>L*XGKUD;ZOy;s9J25vGBu4r33`T+H$Yo8bs`!s@ERBRa zYwL;&LH4G1=S>`2p0Cq8T>fCfV;mXew@j`(Ra7^*yB?S7mR#AllZA!Bkj2tRluE7I zWHFLnBNZ~+u3X1~vVft$e%N`~95!f)WC?VvQ#)DF834KoT#s?Tr)M|$_zie%NV-4~F z{*uXipsBv7&|)RA{N|QfGgoIaBR(Ulnom>3D+A%Wbh5)@_51iO{YzXPo6Vxpus`$q z7Br7+WyeZ)=ef&E8=8i1oH=KBTRg5p7PPVEJ5*8`q9VGhYg?O>WeOecf4lH7zYWsk zuM~eq=PxE*WCwYg{F$6)LQD;VICy#dD9veFcqaLc46bRoGu5@Apn>X7{!pd^q8?8? zbFMCIRy-svgu+nLaGd7-tV9{vbq3qEd;prB+#v7?JupyhC{7DdyA!=yZY?kANJW2X zqZ!K1 zpFURZm)@RFek1gW;<4Oia5@My@JeZ%sr+qnarqSuJddnSN2yI!)b- zg1FkRi+~p+-NGA;9IV%BEu#@RPsposkMxV5=2@wOLJSt^xhb9+HIp>L#o=gh88-3c zXnCXBrYD;Ga?1#eOG-!&T7A&T=~W=DHAlBP)Ju!q)#C~*UI$GV2+OplU_(L#(+y~^gtWel;mRum5fCX5=ct0Bg6U!1n8jhi zWJZjCQEkZP@#>p2dRE|!dO>MWIZ7uE2f;Q&RBB5=tvA+;tnj46aO7|%i&h_7Rb_Hp zRd)aCG-h+H4}8Qf9u`C}Vs`JaYvC6C$5dpkXEEdRP?23p4Ugy1xiz9%tGBo!6Mb&A z$SR9G!HO4S4oC)i2Q1sVfB@UMPOH@P`&qS15O}SIvzQpIL!%T88ZBdB1%nXwnvK%) zDznq)1zREqz@#9kf_mdHtA~tsYFW{uR*SeK*TyS(0=7!QWaPwctViTEYF;#?8CXwH7z+QCgglT286)2Vuh0STAb{Ep!+}Fir$@z9rQZ6 zR>QCY&xU`b1kM>)m6#A$zL4fsPK#fwtktrHGNl=>KrC}thWbci~AUbw6r6tu&*j!~>J(0$a-F%E|3cup`^`1$tgf_O=- zAz$NXt`K!b4W~zQg{D$GBF|MiXJVefx;+e|Heg~_`VAAzfFP;@9)qK)(4F)-Hwgk$ zkc`w7MPehTJG7W*Q5CjCo*^;Jt2U{$W|dGisoJF%9E{K$vy=`CG|kb824k_{)aX<( zG##5(1p*7JUF!kY5yS8*jnUz04!Es4gSEh5Rz2fDS6~>6lHow5j2Lz;VdmudD-EKC z1J#nT%0H|~VBmWM`hin%TD2D0kss#F9I?AHCCNq?V?fZOrL8DE)2~UvqhcwmEbp|Y z7`Sni8C$Q(>@6wI*{RkFX?_L#Q1DmtUcBQ6~#Vc!6#Hv?uT zzdVi6@f&|gcn?1bTq~jvvpzq(ab-ZO(lCt9l6q#%1g}Pi-j*)X=82)In>t$RZG3Rt zy2A2x%NLF+{z+fc)Uwh=i#1waZ|pAX{cCpNCra<+!dj)Pt)|ZKTSm~bIwLq{^4j#pkj159?~SotZvwLF9{bGRHUK>*OgXo z4!1k{9fw8eTN0xV<+nr@@RsVT(IMdSsBXZ&%5Q~sk;^4zQAAJ=6o(;WF@h$#rcyR# z?#1*K!~jmyNh1B_r{sj>LjsLS(%t<{q@Kz2U&*c+Lncc1kgGx^PRGg5Ci9%$z^u|v zQ?uK$*Ai8B0l9`*mfbI{ByG&2(kJ9|RajeMGS}OT9`HwsaR22n84vMUE(=S&9#%Ts z4P=9XuZLG(qc>DiIn*`Gepe_K8da@q1w|GsFcI}&)4 zTb{l3ed(9Ua84FA!oT<#l8E*q5AwP}S+taKP}nz=3K!4@= z5;BA%$I6RGr=J7p4tW8y9VTBW3``}9bb8c4jb?&7&%whU;;!#l^3;-5CH>xxB}*71 zZ?3Ew6Xs1t!8}%5Qq`LYy30qy<&7T8F}_e!6CF-O>Wfb;#HMaOU2r$BdzgOW5(i@5OPg!gL~5G z>-Knz_I536HaZq^`hs}5#Rhuh>U@3b*1NvlpmaCG@K}}97bK!uP1+qZBRf~V!v;z- z&dwPMqJ{e9Y+-ec#k%2}pYDsr@~ho?BH6n)b$8d+cGJ}+S@#6XI$tMSq!l#S8`32g z0J|{Q(a`JI->!OP|CIfT)1)Z7e}A_BX6Y;FrFB#Gzq0B8JwS>Sr}v+1;Ge}>>*KR!N!i#JyABW!23*sHg!s9308GopR6 zX7pRf|1k61UAZ5^+5aV6)I7Y?253wQVnPDD3Kg-*3wT^iQTC?CvR-Zydt?86=A*0^ zN%gMEzA0Tr!9q*fNz$aZ7+dz!x3ZtUN$w_hzxC#uZ{kpHOjmIEu#?a+O@U-1Du&C? zewO`=fp1h^uaur3!`W+2K1YVr%s7a@I{gpWNP;+LiQ*`=v%TYKpwm3z0f-a5k`i^Ey=11+6E1Z!H5UU1R_QeWniYG z83n}w!WfOwEy!l{G4=_t2Iz{4I88MA{td-yEytB)hMCm>CK~MSOmkVp79xBi;SMPc zIz7il=UwFi?uOT_3)F3o?{|ULX}P-q#FsqpS@NqXOC~PP^xiOiJhsM9bU`>e`ri4?_cN*&LdLMdat*5RqU9^;S)EW>1T)LZHeK!>n8^SZQ9 z1!Lu9(_cPvn3%@cg5G2a$A_X8U%Dmb^cn!|P@AiV8EmX781ni#^_uD4UQd{*w#K&% zdtd55u)&}1-W0voV(_o4bm(=q_LgBD`#5K%wZM}s=Z%wXeMstV?fV^d1?)c7zkRjg-#x5oV2~CxOj%PZ))ciW9*8r zBF*H-T!fkqJ8O>rV?klB^jYH{o4Oo#UJs7`pKr4fZX&Qe71H&SrjsgTm9Ot&102qPLP~%-n?gcGbm;iv+$;3O2v?wfU1@9m#AtB>kcNwfCLZZT$nQZzeaL z5I*VawX)3(yrJgOuM3;W^+iQb*7U|lPMmxo>6;uVv}qH^XHI8;_ylL@Dq$|3wH16} z)Q63ZLVx8v2sc2*On3MxQf}^Ey9(v3kz4?DEiG#_2t9r3kb3GR+bk*(Ii4o>&jQv9c4F8 zmikpi6;hv=N4%Dn%<~nWjEhcr^{HgThu7{jG7mjm75JOLjtZp71g-XX(?qj&*|e!O zrCpYt#d-OYE-oE@X~rylJ-VHgl?WWe_f2h|a%-?5c44b^#ICqe&&Rd9FCm$3Ys4>b z?L9TYi4;pXXCX+sY66+E%SPf>#Ey$YmHZ>~n%Xu=w|asC^V}PW$M38C;?f1Bm)`S& za@N8rYdvKDGlV(xWJoox8fmq*jB2kBjI-`7i$w0Z+7o$oT~g0iR57M;OM&)B`~1sk zOcVkEiveQB2zCCO#T?WY36jM#{{rSq#tehh0CRne2`zbP^y2n7^A@;x-YDK(@?r6= z;txx97ys??-O|U47mes#e0U$T11@0 zwfNB2IpX)+97g4WEttbfVf&`?w~glMHBtT%nwS~z2NS5!OlNm1P3RXe@dP!5W@IL0 zwobpCq?f~t@Bfo>BDt#BV{i<=af_bS6%!QrZ7cWA6bUM{)L#Yi73G z?e(s5l1}YT?bM5_+0nCep(g|aB%uTXDUd)Q1QJR@ zI;6iz$eR#iTgU%9yC-9K^Z9>%mZhDUot>SXdFJW!jP*i?<3bzk->%z?1r^Y z=NbdV7rKxFovv}fHguA&W%AMAKqsAIJ>Nr5yb38pSaDCVlLxlt(2W>v!7@7N;|tj7 z8-Q=)TABH6dZ(RlB?E+$ZUdr-2*-+leh~Mckv1K2SYqEEF3t{ z*?#bv_~BbS@gL9WKLc1)Js!XXr>6LilWg#{oJNMUm5a@w+_{jq01Fh_#5Dw0Lo|*b zG>bxhW2(JA#DwGLX`@@bZ(8f{o&#~^ZOU%^@D6f2eZAHM7<{jX|CDO*db|#hMmK*s zH$otTU%Xwz8&k~!9y}udeYEPt_2u+s`pAi!g|7=3TrRYeB@1e6=gflTnA?x#lQFC> z+~R+sACkkp4iGH3qjH@Kq-`lQNTDN>pk&i3P;!LVgAoVMXtl(S9*0d5&>n<(CN~W- z12h#lss(ni1p-1XqZkbb2d$C?3D`sV)9|T zdy#d)#Y^16Qh&t~6PkgmaIvDe!2$IT`o`)%Gs{>_EoLhXn}0UFw#z5Gh)ER8RH0tU zVs*jelxs1hp@y1SYYp;rPgmnZwcAEpTq3bRaY32j5vdU_x;E^IkSY)_PI9}qRY(r1 z)F{?!V_Riywd|zBop50;?{rHpJDO$|VwMc$rKTf~6#9&dE2ed98+Emah*gMQ;usrv zDoa-Szq{PSW;J9SD(`FElD513&|HCwprTk?VZoxA-&-jSRMjn9M8+@L(J4}`vnPKY zji#0@!+I-zbXcwwPQa_9%mu`+X=gcqhXhct?~MOp&ACFO8a%+hZti3NCoqqIR?V6R zvQrPs7GPh~8uteQMJVIc2sgmEaESm!h{1}*sm~2c@-7Mn$SizelmT2mGB))nP2EaU zkCq_!6#oTr2mg}~d^KlW8uUxP7NglLx3~4|?Cr2gW}^kivy;y2HZc=3IvZ*mjiZBb zrsXEX#);(?FEg_vuU6PPdv|xYwaXT>vBf9*gG+@IbQM~q5?yybSV3}a(M^6-UG$Jw ztBYRp!|Gx=dAYh+L07VuTzL zkL-P>_@ArdPv88RE#0j8N@8F2ogcjU?T3ymKedEB{-Ylhm%LVH{^%pbx4Ip2hX{>? z7keWEWz8f8ODaO_VTbkAnDqfni8SbjYo|7g1ALk#d<499MY#8SIZFY#x%GOkMq@-$k*|IiTe z4RBc~#O<(yTn_`>jT?L{@a3HMlE6X{c@UrMmIp%h1RX*Qg8_^ox`XXlLOe@A3Dt1yXj!ftZN z#8zEhLwl1W>$^E#Bl3o2%Wvopj1SG->#1y%EiJ2-K^`UZx@-NuwNf9U8Q zbCzI*XkemEu5z+LrVwg2LMac85Od>vDL&<*=)i7$6Wn|hU~p`qAc|X4Y3*#msMJ!2 zrM*oe0y9Lu{O7~gx-RcLp>AUcN1FEv(lLf7h8XcHhX$R?a|P(`qX&+l@0 zt%_(B?QmEptj}bxy*mu=5Yfg0ZPOGh*Uwf6_3P$I)+#pbmDQ0i2-qJYD8+!uRND&I zWc0L~!GZ(T`%smEc`K*|$dfXUNwM7FbK~qHk5JRjo|HW<+w|u^NkrKW0^}xFz}-ot zr+&F}!>TR!R&_gSOyz?PV|k7RZXLA$8`fKVMygh9* z7+KtD9}#yRJ8PO`FtVEI9bUr@vU6{}P%gnPvEwGCsoa8yVS%O!ccuxVY;$?Ayu8^^ z@9!}H5xTv0NVxS?g4t=BX7vzRG*U3c5;YH=KX(DLHW-y`f*5l3vY6xL4+v*<_Ic?tySISHp`OvKI&W|)+*aBGcH~qzOML_zdl?q${S;MW~tJ(1zs<;Y~C6TCvj!I}iH7 zL-DoAc`W5AU`Cvsa_5tqN@YHi0-QC zMf-vxLcD4P4pCFi@K7be0kjD|m1|D>@`m!Rg$uj>{RjM|Z?Er0NT6;uEu0FUc>bnv zmtO{jkJN@uo)*6 zh6jW{FYG$y0UK{ZF5V1xzj#o6>#L4(IH$rE;m-E zi&u`1Z>lRqcbzMbzkm?3ed#&PozrKucFnwKu)eOpr?IIFqgD1%O8S|24dmzb@a~J2 z9fVKLC1qEY-44(EZ25G2X)U7$r^7wIAn2Ih z7AIL9*ki%#pf|eE00OFakL%R%B;Eisx>w{{4fGxTs6nUUe6FeAP{gSaR0q24pjW)< z%CCImM$v=KTC}Ep(ZZL~`@U%ztD z-_%sy(bBqVEl-E(>SoKbE!BRrskVIm3Rj)C_+CM5IkkJ=NMf&9Zb@~{Z=BmE6z{FsvE5J!TeEcN zz6zhe_0GAo8C`hWzHy(+Z#a94-M3~=MKgJI}?}=_#Do;q6`3~F9?|*c*vm; zV8%JuK_6^e08=lp?hyBgMKui@17?FFS4?w23H#Y@#RMzA-!Y|>3!sp zV)?{t*F>BATkp?>_F80@lQKn;rrC{~OoHFvPt9IMFjTl3P4b3Rr#LWr=@X;9%Z}$Z zI?9dMc`rJB)6X8iVD`d^P5nx+y}@j0Szup#??|ASkc7EwXxOAc?(;`Hke)Nf%8J^N zI?!81pdFp%K}qmh%K6IWX!Bl0EiCsKr;$?lLUY?kESwDUFW!EFcA7aRU zh#~97kafq%+Ka#P-1i>7rqyaT3Ky<6SlUFPLKcFIG_|gkX!GiNd(~FA-zW~<@xWtu zUzb|IHc#Ju;P5OrBa&-iT-`LI++);xj8;)wz%t!dY2kdeV!`(6_ptu27#J7O+mC(l* z0pf&7d>NshesBsrOSw}5Ut64haZMXPCje=z3?#7-Prtus06!WX;&-5}93efV@~uMQ zt>W*BuM~gBQ`Ctwx)!YU`gSa8t*%nAHOVTQ%c~pR&DBl@F0h}Fx(2t^ykx}+cyYqf z+@mN}?WWDt1XU1JHFYD+rUqGV4;TdebNhip+(vV&!2NQdY_D@DE}z-u@>ka@3!0^N zC-z`aXN}2XhvSLMZIY>=Kz{~SS#iNNS}|Fwm9~Lqn`dl0iMm!9%`<~mSu(pStv;7x zbuAe%LusUdlRoFnk06!WhaFVxFheMIcew*TSa?x*9 ztbq!$?VWp0RW}hb@Hi}g83Q}X0r%qJbnthVnRbJa*kVCa5*(_Vcfi|$x4rS6xKwUiU za+k+k={7?rCi!NstCW=18i~8bo&jGbM4x#|gD>E7{m|&9`Uc3x0HRJPYXDF{z@^ER z>pcJ~?vucIYYu<3#=xOUJ6#4!PE&^g097(K0;zJSF>)yC?Ez~vM1hO>UM!Ahbui?y z@2!FcpRf=P;y?D3c9J_un}Y%#b^LV2Uz=d0RI0N!A3V5umRec!z#I4L*+ZLnw)mH|`RrY}Tyfsw?(W6if?2zWM@mnR z@s^6qE{ONfJM_T8x&84Akeqw)fkX59<8pr8`YfK^i|3~P>von}@Lj)w6pOQu#Cq^G zoQ2_=+!1-#f#YU^(7QmgMG4q*NVYs|vL@+5JI@_}c$w}G1(5{%22kAvw|@v9sOf8Pf! zW80izGQ2AR7u?;>p+@@i#vv!kI2^?*k(+Elu6UJ|eAv2lW!PY{hkL6#2g<9VE8p;~ zWHKkgopWCA){086#l0??$m(N!zSsl!5qXRsQ9I;FgbAyT;8*t45t$yJ+(VDkn@<_& z>vM|#L)OokymuyIVBB7D9vNUalW_6%Q}NoLuO^3nx_bQ^#fu_XF1qbUI*xWdh?qMM z`-09#9Iq$JUV@Abt1B2tpCpGkZwYOnZ!k0fEg_!(+`wS~rE-+wa3(h>VL)jooc@Y#8WdX!yhIFP?=FK+v;jg2)dJQ&ACAcjH{`_EAJ>agnya!v1 z_M`8>tkdpsmRb7&X6HA#?FOuSkTc}Sa%~8Y$!y8x1;C5y1>@M!X?Kqt`-{a ztgS_*R)adi!_lNDJUWI@DIP)SX1ndWMdLS_4sZ3j4&HmfaH{VL zBT6lmhweGYczCPJe$Gl^$Z+7^gD&6J!={^33$If=bj!J?`f@AIvAeb&HlB0Op-Kx% zjEoddJ+b#&vz@*`J7+ey>RwM71D%}#k8AdGnJ1PqvAMR+*HDWsDxy!c85{;E4jb$> zc9#o(8cZH0!(SS=j1FIIgRic(S!C~$NKJ*E8R{GD#OXhq!;%2IW>MZD66^?Gj>yaW zq%Y37$xf_K&dw2+TV%TKjn|!sRKJ2M_yzOhpsuop|r=L

      <(N0W&}rK9@%+{n2kmFR!YU!sL?3HVn79p_{BTf`SdYSGAWa9 z-EXlvMCvt|YD`8!yhc_W&G(s&_q<3S@InJvCl>$NZnP+(XnYZjOHGKZG<7!0_F0tN zK#u!niWMR;8l021qomAOEz=ev8p^Hb=ij1s`nG{oIjyHAA>vcg8oE#Tz<^CcR}_Ed za?A8FCK$=((CSK0DON%8Q_F9A_?hw8+n>jJHG;-@Am`SB%5{|WVXw?w;NO+d_;ByR zgtmkE7Q4 zPb5QRyJPd@mD_hK+s>jNc(yO9UUu?(i#B`LE)cE{%Bq=9VTO zYu&opy+JKzF!tb$tC`VMdBjPE<}H#}&uO+%TXCHg?fMotwhC+A)Sj3&ZRDZ%iQ)Z+ zMsU4w>sdcy;sJxu%4E6C*$iH=-P`JFb2atO4J??osK2p$L5+X;R`-_p&J|TPI~#+x z$k{^l0(G}_=l0)h+pV5`2aTU)+FJad#XIa6oh^^-N{9=ht_FYnyF`_5nf6Bpkh zzONCyhHwR7B!ReldBoYg1Ktn4oQcIDH`wlpplIC;Niaqe=wyeZi8!g19l482rQo50M&qvVzL$t9U2d;bq0WgRJSW_Nd*&U1$~<`8K5PKi!DEx#hR~;uiWfO24ZXzVN=Yo3OjKl7~+<^bHR$`Yds- z?6FEqIvUm$f4S$vUmQQY9HU@expLK?jyz4K(a--=MMuyd^&e>bzx~5Yr{2qN^G?tm zRj!xG#s5s-a!b1S9`eU$y>ZgI;RZGKj+gpS64swge zuQnJ?3O|RBwjc2{hoH0KG3^2Z%$Sg1@KHjxF7PQKqStW-|DK_A|rJke9U=nmR4|Kw%^ zTX*WGXIXzag!e$m>v%9-1hi00ZTnI=ItZjESv^5ST0s%8z z(x*4=nN}NllQdxa7T|dKG7PGQJGAdLX{QwL=HC5)$TMVW0o)oW0oPpONH+i@E(7qz z(GIo6w_yOV&OxrhCZZaMfwt@sGz-2p;P*7X(94-c8AUQS`|7HDROSsgU{f_(8Kj>U zo~PYY{QX^|+EP)`QdzT{w0-T4&sElRuMka_`aC9kTZhwalQw^J&Ea>JTMZWLuPW=C zDiKe7p1sCVPA>m|ZZI1wT#l@>0z6fd_idSYmoy%9GI8IS80uCk%I|w;BhHcQILj`Py`Nb#zT56=Zhq44EbnNkbD0>l z+gJSy!INNRCi53Ob)~|n^ibc7Z5CQrr94#LfCF&m+qJy$p0wY2Fo-4py@)s(`e9w{Z{BnD z)nqFTG&fJ{3Ag$xT3WGJtg))H<~X*m8FAP}z~xb()i@5Vj_h_e8Qczs-E6vEID`kq zohKGINM#Mh&gJd!wQ%(XE2|JY(T5X-t|Ei(fXCxBLI30OdFrvPo%Gh(eIAzuJIJh- z3SVpSTeR_%PkgfB1a^vljK54AQ|fv#gxB|X_Nn}?*p2`jkWM)gpK9X_z|?9OYXrCfDe}j84MysJVfe3 ztPp-B@HyOb{P>~%BNoHzXAXO^wnx#hN}p53|aJJ3z&754DT#dA)* zw=c0~54Hpj4{aSkYwpasi#A=lXz6L(bw0S_c1R!@a6V?4B%c0RpgKc*LqttN764oDQ^bs>I#OS>p}OZjAN;x4FE`#lwCNa3*$O4=z=@7 zOFP@_1HnCf<(0!H|AN2l{dv2jv*s1Q>zhBvW`Q9I0Y`ps^A4;Y91KxN(p#s`@37bw z%_L?#r?Emb#`3-9@J;s? zPhDId5{CoW&Z*-Ju?U`r?;R{_l8q!}B#2GqGg1fn=}<9F;*w-#@iUW{tR^gpCw@)^x8%N0$+-+^_f_DA}#Mr(neLR>O&fKS!qj`G-} zQ|YPeRN2avH~jXur1RZ(N!N-M*RNd3E=S4Am8Y`26v=nr75;wG{{QleZ{$ADML1wR z2>H1my4bB{5k!Y9lwFG1cEa@;0UtFl297LTHPYaa4CO3W%K{5PE6G)0z-yXH8D(Hv zpp@l>{e4XwJ#fP-M<`HQomMjg&vv_EfavempMzQ#p@pR;?;sX0cmLz-14<3)S8ai# z-~XuiLGhpOZtV!H5SB>RN@nTk+qC1H`3HY|!)G=wZ)rLC=GCL4%j`8hOIP%@!WWLL zc;vkEwk{Y9)Gye*d%?6_%E@oeJlL^#?))8RFI+S?$X*%>hlj$&n%3&-*6N~paZk_U zZuU-l#k0kU4{uFg{^bv`)s&e9qt&^xT70nhrJ||$==au%t8+_a-}FC>8trtYp>pNI zjWa`(wai+-Zu_EzMPug9y#|W#JF92I+kM^0#oxFnWQ$)O+c1Oe@{=|5hes1#-E|Ey z^|h`Vcjx@h&iOSpUT|*t^W)YV2IncH>=NzOHp~xWR?J z&g8T3?W-8-c&7M#N7LDZI~Q*boxh#1ADtX|^vIq?eN~9~#d-yMdvi}?B@x~zUi*G2 zDpk3$X4~ey;iutMX7PuHnlB{QJIG~ke5qyO)>w4wLbpec$07;hXG$>LQC2nx8sWk( zXdcd>$H}@HK0r*kI>gTc2`Yo3N%+?{zxgg8xViWi3GIB~oV7w--LW0&Q+FL)Tzqp{ z;_^qo`-}90g!Q*6%ddXokM}=Q+@;rTo_vV3Ey}Ll5lS^Wpbz3hhM zwZw2=1QZTl`!zmDkEb3kKK6D+=WO8)(qOlm132yOOoJmAe`oIt&{<{Ku^Tt zKX;z1Wp-azRd~g!mWIIemCfrm%x%uxwY>NY?dn?Cv3%{_$H~}%>(4E|O}EAGASCV& zH@UDE>O&waH^j0a&g#8}&!o4vTYy%;fq-nBOXb2oR)k!~QI+!(EMvi&ySBe9`2MyU*`z4j8|8+3(DT!=v|{JJ@S+jjg_Ma5@;IX_a5H zm)DbM{bI)#k@!#8Ah2o9UIT)R;8bbBYgZI|Kw@4yHqrDFw+LVg!8mM|R+$(|6(hgv zvCEb<2xH>4L$}*8*M*>7)y3D5bjYc4v~iEGdmw7 zi|42}t{n8;_{W>y=q=uc9-QvV#7+a=Ayg{Wb@j6YYZRmQ9`wdw=I68U_ zt4Wc08ScpzN3F!}R3wCfK&4%^Myy31V-5=vOVS71N{@Cn6`(>p=>{rpL}!AZ0ch(W zsH<-FnhNEF=;KhiIxwXW zgvXne=As?{!s5|tGnsBa;S|cIHIv&<;Cn>)+3%8wc(g1~)&i+%jUGjgV-`K082B~~ zia49pTi0KwK?t@)aH`iAPI~-R_5v9q88r>Tyfw)X6RM-+RtlJ(gTm zynNRs=dF%)AUxFS~ePV4!^0ViH-EzVz(L5bm|kAWfAHN2NofOZ@x-3Vl0#CncvZh)~}6 zCSOofSzyKJDhvVV8*p!a#Lzq6wAH*y7OqdnUd$7t<4#jjkWP$9Q*<2i!m zy5fVsAa8vwc1u26JJhgLqLr_OAK&%zH;aF{XLb`}L@t*D-<)yYHPsz`M_)3?U;mtO z!Jz-zBWw*hv|;YL0}C$O^r$Y&vgbfAC7iYb3jvQb0fQ=z;ou&!Nb}19A{8%KO#VYI zSlo>bC)!`}$cZxXXwTxw13in2hl?kA7IPZ%vCPQ1wKBegp8xQx;3w~5SKPaF+T{1N z-?vWP$F>wV3LA?XPtzXGH&)?fpv^ev2|I2+A#-y2p&ty&_gl$6?6krG;vP3Q2;=l> z9(UhcO}&Fn;I1H=^6g$hzAAK?;EX3-T&(26E1tp>42pa!*qH^N7HLnt?obSSEl$FG z<{)zxpE4S+w>YskVWGvzoMe&Fc!R~E$i;71oWJuqEh@ww<~4g9Cb{%b@t+?TANiD2 z%n&cZ0KJ=0WM&Kd%1qHFY@v$LY1s^Gk>%s;CRuS}Q?~D63w8v*1V?uZo4f>%nx-CI z#_u^CmLH%YGn}Wet^T7jxNjWQBJK7-Q?V7JdM#!NXaxFq9Ney-kpV<902lBk@F4i{ zfDZ{l+V%|g!flZDBUYnKG{uBYGx+k8xm&H4kQx}6SPW>WBoG7t>lu-Au-YRvL~|$y zjB^c$<`~Tx0ytIcO>mz>1MyF`AN8;GA1xmD`+0%{>6JYHVO7_y>07&B=nLE%=%WX_ zMd%w5%!Lfine&gCjZiT=Y;|oOZw-R|ckSE}usdp;{&i8W&0{io+>I)^YW3S3ZR~M|VtKCQ6U8}v_f0XRuuk`ytNv}dTGRw&G#Tm<% zMWf69eI0ceEQp(0Q_L?T=Pt8a>uTE@YyD1QZfI=9=OdWZG^e|^&0#2BCK=q`@_LW= z?zMkdwF-(^rNh6p#Z@kfz1)Hw8Y(fK~B{UB!!jb#w9ER}SXBOPn{hJDhc!w_knY+I^{(TB}TkUi#mIuMq#u zHxl0u&Xs6OOYQ0(=B_<)b+5D5+Kid!u_()=hY;5uQ9~e3iw-VrG-=R)(*+=E@~CO0 z@Ni8I%%D$%PaJ>)UGX>|bZFtsqz43h@g3|!FTV4b5>Os1zGJmnitpes3gcss;jjif zX~a#^_?WTY_!w!#P10DpNycpA*~M2tpru_OS}Y&#f|9{bdd?PY4)cc}TI{$>di1+y zvwpYu3hvr1AAV@oVETx3O#A>m4L=u7KNT(oyoEjv00Z~{SvUk9V`jsSO`W!I0UE3Z zm%TJe45VVpp@#rxoKb5)D4n3(SaSSnf*}e!!6BY;_XJo`_)LHxb^0vlxgEl-4)=K$ z96RBxR4$U|b)1ZL%#$xtD&6D{qsx|!E~7`a%gGmnTRZ0Ix973y;UtJ0?rE55EjSOa+kNz?_<{2-NxBQlwkoH?{3VyCSmccm>T!L^ z>~L2WpT`@f{uf`F*D+bm@6+FQ%-i{{{*GJG{1Z=(J#7pGGOK*ASmRsIA=`@y|`pEls@mFtq zPkqFQ_iYk*+snwm%jjSE{aeV)$$uYv>ZxM~`Jc&uqfz{`mVKE+xc2Wga!)Bu%1rdC zQksG=K3Gb#vJewXX`#%-7M0T2oyT&ew1o1T@dZQxr$p{T%X*rWdFezcP0OtGmQtFP zt)^csrG+vt3zyPjS%9r8r6rVK2$^RTdualIsx&;n$B>!_Dx_l9NE#A8zcY+f3U-YE z?4vpSP2w8EofL8^A`S$g2T0+n;`spT>FsTRmS83FYtS;kb^~_1ac#!^Jbp6J;CJFD zhqkh4F@v%k>g144;>vq7g8TaOEhzc_>!aSY2faHCj$*2ZX_NM_YC5<3$>%LECjG8B!aUS`8X^=iht*X)|XY{wvlel?dKR|CW8R6dZ%1(J!F zn#!s1Kp_=Zvw=M7ZCJK4ux9bfKzB!Xpm{W(&&=rT%*C>aOg`6M?TN)51OB zo~~|G{O|34vd^2fg}}jB2Zt^I69;~N` z08jH@{?WgnkboP7Co8w{!v-wD%4-1Ipb!%_JzAiqvk^OjA2_ku&JD}27nWbdfPiCj z6}<7QK|*Rt07sbB&XV3>9UDzCTGEh zu@wi^Y$wWrQ{g748f(YfLGd8 z1A>Sm=lIO^`$hXON$al%}*UAeC*%$CCV7jzO@2y#M&2PmC%+)SB)=lRCch!S zCGV2=$nVJS$sfoc5fS&#&9sH$R4dv}!xUR6X&3FLJ+znh(SABW2kA6A9npGc(phvi zMJP2om(HW}=>i1vSVR}oC3GoWMwinSbR}IySJO3gEnQdk8eLB}(2aBx-AvD-Tj*B0 zjc%tq=uWze?xttc2#wMhjZ>8l(-AsK6Lb$9qe(hWQ#1{?jJ-5Vb2Lv2bRXSM56}sE zkRGDv&~xcwdLBJO&!-pA&(I6$Mf76&S$dRyj$T49rN`)H^m2Lyy^>x3he|4aW#|3yEb|E3?(|IickBt1nZX_0=! zfDW)t8(x&y)-5pvNo7W+ATR>rJ2ES?A>4_BIhl*OnTL6qkCn3uR>`WEpH;J(vSVeJ zuv!*ib*!E>utwIzf-J)8$LMs^eXJiD3Q!fs`^vD?`l>`wLtb{D&w-NWu>_p$rg1MG|JOYA}RW%dwzn0jp)gJ6!RG(RfybRw4*W20(pOw1?7 z)tpIhEu2Xfa^_NcJdrBojG6R)6-^BfOS!~IDw1Te^oX3#MslNQe-tc;g!b`vIhIVv z#!!|`N8*NfdVea3ge#KGruTSw1o%;5R2k)9En-|1%!Rj)|FUB9)h7k#RK}5jbmw`^mVJ$Vb3mneys^e0Wq% zjEv?LExkVx&yOm&H1pX~@x{!~fqLcu` zmdcy=CE{v2tiRfrNyPGnEWSs|sHs>Ysf5Hk?~5CAHjk-?4e>SnF_ zR7Pv5lo8cEYAkQYEB9s7`fymLGTIoJIBb=s*Q~+TR7Qiqsf^xd9bjyG3o1qo&FOg) z=PpZWC6-O+@V$v_&U$787=<&N2&Y*zl2UY#<8x%vlUkPydb*G)-RCePYGWv=2QuJl z4YBli2H=--st01p$av(8&IlukVL+oA8O93Bs!W|wjra}cutrDSXV%YW6Oq(NQWY_% zDb)~*B-Kz3{!zK`zNy5h5l|nF0W|W~{Qg89uvvl$+i)bNa^NrJ%{usn@v3Z^ zjj0m?7JH5l0`FkX1eSd~n!_?KWGtuC+CtOt&1fV!ENe(8oHlT55eAIgl8Mxq8c(E3 z?@+V{!+F4;1?x%80;d2SrN(6Ki9|}myECH`7F|LpJtY+~9G%EXbsW%;7PVz>m;!WV zY5|ASX6;VtDY^8yhN?Gr_X%qJhx zKyoCRj;hlBEO5c7n2+SfavbSm?2OTDLLH7lPSYVc$1$YHv3?FnCN(AkDHq}*uw`z{ zkc%a9xpX!sbA*jqG-e_h6?i$3F${x(WF~-a^br*RFgaPnxP_#CO(%gjvWYP@KblP! zMn;XAoQZd+=ui}}4d_k8#C*088w2{{2oOuxemYf}5$8xcjg_F$nNpGIj3N=Ut4=7G z5H+vS3M>|$#0u3D+6vZ_+TdaF0P&}C0zNEnX2Rof6A)*9G@XlKy&7_bM4r!}z`;$5frP2594q9LYIee; z(N>Mtq?KqPk;FP0K_BsKh7%=BVq_d0h@@hwG_Jm4%bNqw5}xv3P0pI%P{Z;+f&N*DqlZF*uB&Ia#eEQs=F^XA=xH=Rp6nN5xm>RV zKm_Vkbo|PZk%mokpoq5PMP;_#XqlAfL#9>CF{@DS($apCNM* zE3r>y(ZUGbHzw{^6VWszlNA1ge2%D`0Om>~GDQL0pCITZX5rI<5dV%(LmDqL$J1a) zO5&2Te^gbI9EW5fAB;mj(EHEw*$GHXV5g^`)RN19l?&%a3waO@5j<#Y%r-^)O0|sp z)7iMj%}Sh4OvJHF@omsS<|nN9{CJ_n-bOOwL}WCbmUPOD?~Q{^vgnsmW6qp5fodW1 zF?W7Okui>;i6zp7oDffpj7afpArnbTd(!FgWW)e^HB!LnvEj%8APAkTK^#SbWg`2< zTn3{r!~mfp|C5uWDrjp=wU(}>K8PTrk#V#3w^Rf!IW_@NlVN#6z&nr-Fx9Gz2D#v+ z#MOOZ#eu!^N)F2^t`TQLJOX0Gc_?jVX5v8WI^pF529{DQ#_R&!aNNp~G8c+7X|Op{ zw-exhxCEx%ES&pH7wD4|ZuhY8Wo$ z!8Sqc%I7DPXd;!4aZP;=0%c)D(HhYOEY6z8MuiDAnKAL+>K#c7`@w2+TE-tkUnDF^ zK#rxvB<=_KRr7Kz7T%Z0MJ%|ELw*Gp%h@sH;t4QSfN5R>RQ`YwSG@(E;v6gxfyUQs zVw(BmB)9`jtD%5aaZCrwjDg}a9L*MTqZaHY&yU7Ag^G-EZd;A$A{CfjRZl4#8R$tc zIl27sxJAE|#z)DgM>szP4$nB1Ov%xN4zSTePEMo`fV0aRu{=15%;jk;#uCY#VO))* zG7;z+qJ@bZZbjlbYb*_pCfm1PbREue z+NSE1?pmhuzz6vW3%G+E$4{CBW=MoF;$RBQ=_uFEghwE|Wvr!4A*E$8aUk0h9Ji>D z@lK~f1hHiH#G+PQAa|f6;aIW|L{I9pN13J58gYt(tN&oVIC1T<_=R!Ce5 zipI^F?y)pG)-y98&Rio|x&??moyLrxR*pp@BepX#In0zi3KR)e6(3Vj^XYVc)O0!( zj&jvdG7?qxXQJweCTz<4GwAYoP68j5$VTiXZV6I%Bo+fYv3|^*@vn7!N?C~!jDjM> z9Xk2v+&H(rW47HTwKSjfENG=B*U3>}6A-s5z#T9@2UJc0z^8F`d;+QQTmx53LlFgC znx=9tu~A_Sw7}VMflr7-BMCzRsI{#94UbqpQCk7i&Z#E{J76+soh|yM1lxvODv|-u znYT_Q!Xun2*-mG5rV}hu7OG>gNNQG`NQ2-(*igsSL@uei&(P_dMz#O|F39Krpe=WB z0%KU3meY(XN0A@1tvm-Tgh2#rWRAq+ToW7Sx<2cf8BF_Bma_q;@9_+PMMK{DDz}`G zM#EYTizE*HH^5g$fFfCiHPI+ho#l=!x<+UDyHRb09IEIH;b^CsJD8 zTDs5mZ$LBVQWlFVr%v6|GF;UOfr)>UfbZESsQKK4kQk3gW#rT(&<4~;{FO#c=K%gZ zW6Gt{`=KS_)26F0G*&o=Wiy4=Knc}+A!Fc-SvsChnWqvOf#+J0DHt$h&_0(#4Zxm2 z;n|3B82Zdq93ZZYqzd6&niFYzG7$v=1shj_P;kbj0#go(G6+0T{58Oz4Vw6fMKYprD1y2l614L)9|Fr; zP6e}RN6(2%G7bgI-1 zi7%Z!Iq4vXdp2$0(m@1FtPGZ%PqC3>1`zU0M#Ok$Mp$MvBMlFaXVekMY8k9NV{Rf9 z<8r_Vh{+g;J@{vsL9&Sh{G$w+!~r!qtj3L4l^AHu624?#IL}{|8|5!I>;di^RwD&L z9gj{JIJM;R7OW@Z88c)r?nZf}%1GQ*+ zJYp!Ma!F`wMzv4k?3F2(0iO%@8yX + + + + +Created by FontForge 20180321 at Mon Feb 18 18:29:30 2019 + By Julien Deswaef +The Fork Awesome font is licensed under the SIL OFL 1.1 (http://scripts.sil.org/OFL). Fork Awesome is a fork based of off Font Awesome 4.7.0 by Dave Gandy. More info on licenses at https://forkawesome.github.io + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/fork-awesome/fonts/forkawesome-webfont.ttf b/static/fork-awesome/fonts/forkawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..6cf62efb89d1f27433c94d5540069a659c6af6e0 GIT binary patch literal 188756 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

      io{Q%^r;{*=QF$i)wnWKXT!|hf0;|hnavZjUC;Y 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%0D<=Fd`oLbG;$obXcRe|7ySKx(oc{lA^!0^unw2 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

    1. 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 literal 0 HcmV?d00001 diff --git a/static/fork-awesome/fonts/forkawesome-webfont.woff b/static/fork-awesome/fonts/forkawesome-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..477da445ad8b89562d7173e228d62f91b335397d GIT binary patch literal 115148 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 x1fR9-=~heKm>MWSbsef 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 literal 0 HcmV?d00001 diff --git a/static/fork-awesome/fonts/forkawesome-webfont.woff2 b/static/fork-awesome/fonts/forkawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f3520b5334f5bafdf0e819c55470fbd3d5ee466a GIT binary patch literal 91624 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 Y+zsASw^gi$5^&T4r)i|0Qfr9+0-IP7WB>pF literal 0 HcmV?d00001 diff --git a/static/header.png b/static/header.png new file mode 100644 index 0000000000000000000000000000000000000000..ca6faf66bb6ce93eab16b829f8fbaba308e92b0d GIT binary patch literal 51433 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 KD|_-X^#1^(=$iHb literal 0 HcmV?d00001 diff --git a/static/logo_darkgreen.png b/static/logo_darkgreen.png new file mode 100644 index 0000000000000000000000000000000000000000..37c28e370fe4b5c4bb4316e90537707e4edaa302 GIT binary patch literal 4686 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 XiiRE3ELmOt{Q&p1453w;PhR~GL)-pj literal 0 HcmV?d00001 diff --git a/static/logo_gray.png b/static/logo_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..c1bb56c337ae684fdd1c200b2dda573a6acd968a GIT binary patch literal 4288 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 P+W=fLzYMFoh>rUouj4|Y literal 0 HcmV?d00001 diff --git a/static/logo_lightgreen.png b/static/logo_lightgreen.png new file mode 100644 index 0000000000000000000000000000000000000000..f9a5b115cf0e9619340a14c08af0b73a9e6aa036 GIT binary patch literal 4205 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 D8-6+v literal 0 HcmV?d00001 diff --git a/static/schedule.json b/static/schedule.json new file mode 100644 index 0000000..c1d5d5d --- /dev/null +++ b/static/schedule.json @@ -0,0 +1 @@ +{"schedule": {"version": "0.3", "base_url": "https://cfp.winterkongress.ch/wk24/schedule/", "conference": {"acronym": "wk24", "title": "Winterkongress", "start": "2024-03-01", "end": "2024-03-02", "daysCount": 2, "timeslot_duration": "00:05", "time_zone_name": "Europe/Zurich", "rooms": [{"name": "Festsaal", "guid": null, "description": null, "capacity": 300}, {"name": "Bankettsaal", "guid": null, "description": null, "capacity": 150}, {"name": "Tanzsaal", "guid": null, "description": null, "capacity": 100}], "days": [{"index": 1, "date": "2024-03-01", "day_start": "2024-03-01T04:00:00+01:00", "day_end": "2024-03-02T03:59:00+01:00", "rooms": {"Festsaal": [{"id": 39991, "guid": "969901db-fa5a-5d7f-ba90-6267dfae75a3", "logo": "", "date": "2024-03-01T19:00:00+01:00", "start": "19:00", "duration": "00:15", "room": "Festsaal", "slug": "wk24-39991-erffnung-freitag", "url": "https://cfp.winterkongress.ch/wk24/talk/JTS8YA/", "title": "Er\u00f6ffnung Freitag", "subtitle": "", "track": "Andere", "type": "Moderation", "language": "de", "abstract": "Dies ist die Er\u00f6ffnung am Freitag.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 7877, "code": "PLBTRP", "public_name": "Team Winterkongress", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39076, "guid": "7a22d039-e65e-5899-b73f-7621fc5cc373", "logo": "", "date": "2024-03-01T19:15:00+01:00", "start": "19:15", "duration": "00:45", "room": "Festsaal", "slug": "wk24-39076-predator-files-eskalierende-berwachung", "url": "https://cfp.winterkongress.ch/wk24/talk/FFRNAJ/", "title": "Predator Files - Eskalierende \u00dcberwachung", "subtitle": "", "track": "Netzwerke, Security, Hard- & Software", "type": "Vortrag", "language": "de", "abstract": "Im Oktober 2023 ver\u00f6ffentlichte die Wochenzeitung WOZ in Zusammenarbeit mit anderen Medien und unter Koordination des Recherchenetzwerkes EIC die \u00abPredator Files\u00bb. Sie beleuchten die fragw\u00fcrdigen Gesch\u00e4fte der Intellexa-Allianz, einem Zusammenschluss von \u00dcberwachungsunternehmen, die von Europa aus m\u00e4chtige Cyberwaffen in die ganze Welt exportierte. Ihr Aush\u00e4ngeschild: Predator, ein Trojaner, der Mobiltelefone infiltriert. Die Auswertung von tausenden Dokumenten zeichnet ein besorgniserregendes Bild. Und zahlreiche Spuren f\u00fchren in die Schweiz. H\u00f6chste Zeit, genauer hinzuschauen!", "description": "Unternehmen wie Intellexa k\u00f6nnen weitgehend ungest\u00f6rt ihre m\u00e4chtigen Technologien verkaufen. Europ\u00e4ische Beh\u00f6rden sind willige Komplizinnen. Sicher auch, weil sie die Technologien ebenfalls einsetzen. Und wie so oft dient die Schweiz als wichtige Drehscheibe f\u00fcr die Gesch\u00e4fte. Tal Dilian, ehemaliger israelischer Geheimdienstler und treibende Kraft bei Intellexa, besitzt ein Chalet im Wallis. Und wer den Besitzstrukturen folgt, landet in Lugano: Ein Schweizer Treuh\u00e4nder ist auf dem Papier wirtschaftlich Berechtigter der Unternhemensholding hinter Intellexa. Auch ein Tochterunternhemen hat eine Gesch\u00e4ftsadresse in Lugano. Dieses ist auch operativ t\u00e4tig, wie unsere Recherchen aufzeigen. Und die Beh\u00f6rden? Die k\u00f6nnen oder wollen nichts tun. Die VIM-Gesetzgebung \u00fcber die Vermittlung von G\u00fctern zur Internet- und Mobilfunk\u00fcberwachung, wird kaum aktiv angewendet. Letzteres kritisieren Expert:innen mit Blick auf den Fall Intellexa. Und die Sicherheitsdienste? Die schweigen, wie \u00fcblich. Wer die Skandale mit Spionage- und \u00dcberwachungstechnologie der letzten Jahre eim Blick hat weiss: Das ist ein Problem. Denn das Missbrauchspotential ist riesig - die Kontrollmechanismen derweil d\u00fcrftig. Europ\u00e4ische Politiker:innen sind alarmiert. Doch in der Schweiz bleibt es bisher ruhig um das Thema.\r\n\r\nAlle WOZ-Artikel zum Thema: https://www.woz.ch/t/predator-files\r\nAlle Artikel in verschiedenen Sprachen: https://eic.network/projects/predator-files.html", "recording_license": "", "do_not_record": false, "persons": [{"id": 36396, "code": "L7AKQM", "public_name": "Lorenz Naegeli", "biography": "Journalist beim WAV-Recherchekollektiv (www.wav.info). Hat zusammen mit der Wochenzeitung WOZ (www.woz.ch) und internationalen Medienpartnern an den \u00abPredator Files\u00bb mitgearbeitet. Ausgangspunkt f\u00fcr die Recherche waren vertrauliche Dokumente, die das franz\u00f6sische Portal \u00abMediapart\u00bb und das deutsche Nachrichtenmagazin \u00abDer Spiegel\u00bb erhielten. \r\n\r\nAlle WOZ-Artikel zum Thema: https://www.woz.ch/t/predator-files\r\n\r\nS\u00e4mtliche Artikel gibt es auf der Webseite vom European Investigative Collaborations, dem Recherchenetzwerk: https://eic.network/projects/predator-files.html", "answers": []}, {"id": 7827, "code": "HWRMPV", "public_name": "Jan Jirat", "biography": "Journalist (Ressort Politik) bei der WOZ - Die Wochenzeitung. Sicherheits-, Energiepolitik und Rechtsextremismus.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39684, "guid": "d8c28094-90fa-5f3c-acb1-b9f272901b27", "logo": "", "date": "2024-03-01T20:15:00+01:00", "start": "20:15", "duration": "00:30", "room": "Festsaal", "slug": "wk24-39684-ich-wei-was-du-letzten-sommer-bestellt-hast", "url": "https://cfp.winterkongress.ch/wk24/talk/XNAHNG/", "title": "Ich wei\u00df, was du letzten Sommer bestellt hast", "subtitle": "", "track": "Netzwerke, Security, Hard- & Software", "type": "Vortrag", "language": "de", "abstract": "Dieser Vortrag beschreibt, wie wir fehlerhafte Prozesse in der Paketverfolgung der meisten deutschen Paketzustelldienste entdeckt haben, wie diese auf unsere Erkenntnisse reagiert haben und warum dies sehr wahrscheinlich auch deine Privatsph\u00e4re betrifft.", "description": "In Zeiten des Online-Shoppings sind die Menschen besorgt, ob Online-Shops ihre Daten vern\u00fcnftig behandeln und sichern. Online-Shops k\u00f6nnen \u00fcber g\u00e4ngige Web-Schwachstellen wie SQL-Injections, XSS usw. angegriffen werden. Dadurch k\u00f6nnten Angreifer pers\u00f6nliche Informationen wie Name, Adresse und Bankdaten kopieren.\r\n\r\nWir haben jedoch eine noch einfachere - und bisher unbeachtete - M\u00f6glichkeit gefunden, an die pers\u00f6nlichen Daten der Kunden von Online-Shops zu gelangen - ohne irgendwelche Schwachstellen auszunutzen. Da fast alle online bestellten physischen Waren von Paketdiensten ausgeliefert werden, haben wir das Tracking der wichtigsten Akteure im deutschen Paketmarkt analysiert. \r\n\r\nDurch die Verwendung \u00f6ffentlich zug\u00e4nglicher Daten und trivialer Statistik konnten wir Empf\u00e4ngerinformationen (Name, Adresse) schnell und in gro\u00dfer Zahl ermitteln. Dabei war es bei einigen Diensten sogar m\u00f6glich, die Zustellung von Paketen zu beeinflussen. Gezielte Angriffe k\u00f6nnten dazu f\u00fchren, dass Adressen und Einkaufsverhalten von Politikern und anderen Personen des \u00f6ffentlichen Lebens aufgedeckt werden. Auch die Identifizierung von Kunden bestimmter Gesch\u00e4fte ist denkbar.\r\nDie Art und Weise, wie die Sendungsnummern generiert werden, erm\u00f6glicht es uns n\u00e4mlich, gezielt bestimmte Online-Shops anzugreifen.\r\n\r\nW\u00e4hrend unserer Recherche haben wir mehrere Paketdienste kontaktiert (Responsible Disclosure), was zu einigen Verbesserungen f\u00fchrte. Einige Disclosure-Prozesse hatten schnelle und effektive Ma\u00dfnahmen zur Folge und k\u00f6nnen als gute Beispiele dienen, w\u00e4hrend andere noch Raum f\u00fcr Optimierungen bieten. Wir werden auch dar\u00fcber reden, wie Disclosure-Prozesse besser ablaufen k\u00f6nnen, und werden ein paar unterhaltsame Ereignisse darstellen. \r\n\r\nWir kommen zu dem Schluss, dass Paketdienste eine - vielleicht - untersch\u00e4tzte Gefahr f\u00fcr die Privatsph\u00e4re darstellen. Anstatt zahllose Online-Shops anzugreifen, ist der Missbrauch fehlerhafter Prozesse bei den wenigen marktbeherrschenden Paketzustelldiensten, die von fast allen Shops genutzt werden, ein ziemlich effizienter Weg, um an Adressen und in einigen F\u00e4llen an die M\u00f6glichkeit zu gelangen, in den Zustellprozess einzugreifen. \r\n\r\nIn unserem Vortrag werden wir den statistischen Ansatz zum Brechen der Authentifizierung f\u00fcr die Paketverfolgung, die zugrundeliegenden Probleme, (negative und positive) Highlights aus den Disclosure-Prozessen und nat\u00fcrlich die Auswirkungen auf die Privatsph\u00e4re aufzeigen, die dies gehabt haben k\u00f6nnte und noch haben kann.", "recording_license": "", "do_not_record": false, "persons": [{"id": 37141, "code": "RZSXYB", "public_name": "Florian Bausch", "biography": "Florian Bausch hat Informatik und Digitale Forensik studiert. In seiner Masterarbeit analysierte er Spuren in Ceph-Clustern aus einer IT-forensischen Perspektive. Seit 2019 ist er als Incident Analyst, Penetration Tester und Security Consultant bei der ERNW Research GmbH t\u00e4tig.", "answers": []}, {"id": 37150, "code": "CDVEQE", "public_name": "Dennis Kniel", "biography": "Dennis Kniel hat nach seinem Informatikstudium mehrere Jahre als Berater im Bereich Penetrationstests und Incident Response gearbeitet. Nach dem Ausstieg aus der IT-Branche verfolgte er einige Themen privat weiter", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39652, "guid": "51d182b3-4d38-5cb8-955d-3aeb85d19bdf", "logo": "", "date": "2024-03-01T21:00:00+01:00", "start": "21:00", "duration": "00:45", "room": "Festsaal", "slug": "wk24-39652-prompt-entzaubert-wie-ki-floskeln-uns-manipulieren", "url": "https://cfp.winterkongress.ch/wk24/talk/C8UNQV/", "title": "Prompt entzaubert: Wie KI-Floskeln uns manipulieren", "subtitle": "", "track": "Ethik, Wissenschaft, Kultur & Gesellschaft", "type": "Vortrag", "language": "de", "abstract": "Technologie oder Magie? - KI schl\u00e4gt uns alle in einen Bann. Dabei braucht das Thema dringend mehr n\u00fcchterne Reflexion statt marktschreierischer \u00dcbertreibungen. Wir entzaubern daher ein paar weit verbreitete Spr\u00fcche, die im Hype um k\u00fcnstliche Intelligenz die Runde machen.", "description": "\u00abDie KI wird mindestens die H\u00e4lfte aller Arbeitspl\u00e4tze vernichten\u00bb oder \"Dank KI werden wir viel effizienter\" rufen uns Schlagzeilen regelm\u00e4ssig zu. Das sind nur zwei von vielen Floskeln, die wir im aktuellen KI-Hype immer wieder h\u00f6ren. Diese Session greift solche mantra-artig wiederholten Aussagen auf und\r\n- zeigt wie die \"Magie\" dieser Spr\u00fcche funktioniert\r\n- macht die eigentliche Bedeutung hinter ihnen transparent\r\n- gibt Anregungen, wie wir den KI-Diskurs konstruktiver gestalten k\u00f6nnten\r\n\r\n\r\nDas Ziel der Session:\r\nDie Teilnehmer\\*innen \r\n* durchschauen rhetorischen Zaubertricks rund um \"k\u00fcnstliche Intelligenz\"\r\n* erkennen die Macht von Geschichten auch bei technologischen Themen\r\n* erhalten Anregungen, wie sie sich ihre eigenen Glaubenss\u00e4tze bewusst machen und ihre Haltung souver\u00e4ner reflektieren k\u00f6nnen", "recording_license": "", "do_not_record": false, "persons": [{"id": 7844, "code": "EXGCGQ", "public_name": "Chris B\u00fchler", "biography": "Chris B\u00fchler (https://chrisbuehler.ch) ist lizenzierter Cyberethiker mit einem Hackerherz. Beruflich ebenso wie privat denkt, diskutiert und ber\u00e4t er mit Vorliebe rund um den Themenkomplex \u00abGesellschaft im digitalen Wandel\u00bb.\r\n\r\nAls Lehrbeauftragter f\u00fcr Ethik an verschiedenen Hochschulen ebenso wie als selbst\u00e4ndiger Coach und Consultant f\u00f6rdert er Future Skills wie kritisches Denken und Kommunikationskompetenzen.", "answers": []}], "links": [], "attachments": [], "answers": []}], "Bankettsaal": [{"id": 39556, "guid": "03081b59-a579-5403-b44d-146aa22ed0a2", "logo": "", "date": "2024-03-01T19:15:00+01:00", "start": "19:15", "duration": "00:45", "room": "Bankettsaal", "slug": "wk24-39556-regulierung-automatisierter-entscheidungssysteme-usa-eu-china-schweiz", "url": "https://cfp.winterkongress.ch/wk24/talk/KKDUBY/", "title": "Regulierung automatisierter Entscheidungssysteme: USA, EU, China, Schweiz", "subtitle": "", "track": "Recht & Politik", "type": "Vortrag", "language": "de", "abstract": "Die bei der k\u00fcnstlichen Intelligenz f\u00fchrenden L\u00e4nder/Bl\u00f6cke (USA, China, EU) haben alle bereits Regulierungsentw\u00fcrfe f\u00fcr automatisierte Entscheidungssysteme (ADMS) vorgelegt. Wir geben einen aktualisierten \u00dcberblick \u00fcber diese Vorhaben, ihre Gemeinsamkeiten und Unterschiede sowie ihre Schwachstellen aus unserer Sicht. Ausserdem diskutieren wir den gegenw\u00e4rtigen Stand der Bestrebungen in der Schweiz.\r\n\r\nIm zweiten Teil ziehen wir einen Vergleich zum \u00fcberarbeiteten Positionspapier der Digitalen Gesellschaft, welches einen Regulierungsrahmen f\u00fcr ADMS f\u00fcr die Schweiz vorschl\u00e4gt.", "description": "Dies ist eine Gemeinschaftsarbeit der Fachgruppe \"Automatisierte Entscheidungssysteme\" der Digitalen Gesellschaft.", "recording_license": "", "do_not_record": false, "persons": [{"id": 7836, "code": "G8YBXF", "public_name": "David Sommer", "biography": "David Sommer interessiert sich f\u00fcr gesellschaftliche Entwicklungen, Privatsph\u00e4re und maschinelles Lernen. In letzter Zeit hat er sich auf ADM-Systeme und ihre Auswirkungen in der Praxis konzentriert. Daf\u00fcr ist er f\u00fcr die Digitale Gesellschaft zivilgesellschaftlicher Beobachter bei den Verhandlungen des Europarats zum internationalen Rahmenabkommen zur Regulierung von KI.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39424, "guid": "c1c192f2-51d5-5967-885e-5f77d6e4cb1b", "logo": "", "date": "2024-03-01T20:15:00+01:00", "start": "20:15", "duration": "00:30", "room": "Bankettsaal", "slug": "wk24-39424-revision-nachrichtendienstgesetz-vom-umgang-mit-grundrechtsverletzungen", "url": "https://cfp.winterkongress.ch/wk24/talk/RZHR3N/", "title": "Revision Nachrichtendienstgesetz - vom Umgang mit Grundrechtsverletzungen", "subtitle": "", "track": "Recht & Politik", "type": "Vortrag kurz", "language": "de", "abstract": "Der Bundesrat will mit der Revision des Nachrichtendienstgesetzes neue, viel zu weitgehende \u00dcberwachungsbefugnisse erm\u00f6glichen. Eine Koalition aus Menschenrechtsorganisationen der NGO-Plattform Menschenrechte Schweiz wehrt sich dagegen: Welche Grund- und Menschenrechte sind auf welche Weise betroffen? Inwiefern bildet dies eine Konstante in der nachrichtendienstlichen Praxis? Wie gehen wir als Zivilgesellschaft damit um?", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 36752, "code": "VTQDN7", "public_name": "Tarek Naguib", "biography": "Koordinator NGO-Plattform Menschenrechte Schweiz\r\n\r\nTarek Naguib ist Jurist und hat bis dahin auf der Schnittstelle von Wissenschaft und Aktivismus im Bereich Diskriminierungs- und Menschenrechtsschutz gearbeitet. W\u00e4hrend 11 Jahren war er am Zentrum f\u00fcr Sozialrecht der Z\u00fcrcher Hochschule f\u00fcr Angewandte Wissenschaften ZHAW t\u00e4tig. Zudem hat er das Institut Neue Schweiz INES, die Allianz gegen Racial Profiling und die Aktion Vierviertel mitbegr\u00fcndet. In seiner neuen Funktion als Koordinator der NGO-Plattform arbeitet er seit August mit einem Pensum von 60%.", "answers": []}, {"id": 37261, "code": "7HZNT9", "public_name": "Florian Schweri", "biography": "Florian Schweri ist Jurist. In seiner Masterarbeit besch\u00e4ftigte er sich mit dem rechtlichen Rahmen der geheimen \u00dcberwachungen durch den Nachrichtendienst des Bundes und analysierte die Vereinbarkeit des Schweizer Rechts mit der Europ\u00e4ischen Menschenrechtskonvention.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39663, "guid": "28fc95c2-feab-5b47-bee0-9a30aaade1c8", "logo": "", "date": "2024-03-01T21:00:00+01:00", "start": "21:00", "duration": "00:45", "room": "Bankettsaal", "slug": "wk24-39663-wundersame-geldvermehrung-bilder-abmahnungen-aus-deutschland", "url": "https://cfp.winterkongress.ch/wk24/talk/SABVFG/", "title": "Wundersame Geldvermehrung: Bilder-Abmahnungen aus Deutschland", "subtitle": "", "track": "Recht & Politik", "type": "Vortrag", "language": "de", "abstract": "Bilder-Abmahnungen aus Deutschlang gelangen in grosser Zahl in die Schweiz: Wer ein Bild auf seiner Website oder seinem Social-Media-Profil ver\u00f6ffentlicht hat, erh\u00e4lt pl\u00f6tzlich Anwaltspost aus Deutschland: Abmahnanw\u00e4lte fordern aggressiv und mit kurzen Fristen, dass viel Geld bezahlt und eine Unterlassungserk\u00e4rung abgegeben wird.\r\n\r\nBilder, die nur einen geringen oder gar keinen wirtschaftlichen Wert haben, sollen pl\u00f6tzlich 1'000 Euro und mehr kosten: Wie funktioniert diese wundersame Geldvermehrung? Wieso soll pl\u00f6tzlich deutsches Recht gelten? Wie sollen schweizerische Betroffene reagieren?", "description": "Im Vortrag wird mit Beispielen aus der Praxis erkl\u00e4rt, wie die deutsche Abmahnindustrie funktioniert und wieso die Schweiz ein attraktives Ziel f\u00fcr deutsche Abmahnanw\u00e4lte ist. Erkl\u00e4rt werden unter anderem die finanziellen und rechtlichen Anreize f\u00fcr deutsche Abmahner und ihre Rechtsanw\u00e4lte.\r\n\r\nDas Publikum lernt, wie Abmahnungen von Anfang an vermieden werden k\u00f6nnen. F\u00fcr den Fall, dass eine Abmahnung eintrifft, erf\u00e4hrt das Publikum, wie man richtig reagiert. Gleichzeitig wird dem Publikum vermittelt, wie das Urheberrecht bei Bildern funktioniert, auch grenz\u00fcberschreitend.", "recording_license": "", "do_not_record": false, "persons": [{"id": 15358, "code": "DEJSWW", "public_name": "Martin Steiger", "biography": "Martin Steiger ist Anwalt und Unternehmer f\u00fcr Recht im digitalen Raum in Z\u00fcrich. Martin Steiger ist Sprecher der Digitalen Gesellschaft in der Schweiz sowie langj\u00e4hrig in der schweizerischen Netzpolitik engagiert.", "answers": []}], "links": [], "attachments": [], "answers": []}], "Tanzsaal": [{"id": 39756, "guid": "2ab84783-c213-5837-a084-e0e9c8eae66c", "logo": "", "date": "2024-03-01T19:15:00+01:00", "start": "19:15", "duration": "00:45", "room": "Tanzsaal", "slug": "wk24-39756-update-statt-stillstand-wie-wir-die-schweiz-aktualisieren-fr-mehr-demokratie", "url": "https://cfp.winterkongress.ch/wk24/talk/YUUSDL/", "title": "Update statt Stillstand: Wie wir die Schweiz aktualisieren f\u00fcr mehr Demokratie", "subtitle": "", "track": "Recht & Politik", "type": "Vortrag", "language": "de", "abstract": "Unsere Welt ist im Umbruch begriffen: Der Klimawandel, der demografische Wandel und die Digitalisierung fordern uns heraus. H\u00f6chste Zeit f\u00fcr ein Update des politischen Systems! Mit einer Volksinitiative f\u00fcr eine Totalrevision (Art. 138 BV) k\u00f6nnen wir den Prozess f\u00fcr eine zeitgem\u00e4sse Verfassung anstossen. Eine Verfassung, welche die direkte Demokratie st\u00e4rkt und die Macht einflussreicher Interessengruppen begrenzt. Mehr \u00fcber das vielleicht gr\u00f6sste Demokratieprojekt der Schweiz und die wichtigsten Etappen erfahrt ihr in diesem Inputreferat.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 6884, "code": "DXB9LF", "public_name": "Daniel Graf", "biography": "Daniel hat die Stiftung f\u00fcr direkte Demokratie und den Verein Public Beta aufgebaut. Er hat mehrere Initiativen und Referenden mitinitiiert. Dazu geh\u00f6ren die Gletscherinitiative, das Referendum zur e-ID und die Inklusionsinitiative. Sein Hauptinteresse gilt der Digitalisierung der Demokratie. Dazu hat Daniel die Online-Plattform WeCollect gegr\u00fcndet, B\u00fccher geschrieben und plant aktuell eine Volksinitiative f\u00fcr eine Totalrevision der Bundesverfassung.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39403, "guid": "360c6ef7-7df8-5e95-9fa7-7bc2c83f9133", "logo": "", "date": "2024-03-01T20:15:00+01:00", "start": "20:15", "duration": "00:30", "room": "Tanzsaal", "slug": "wk24-39403-elektronisches-notariat-in-nten-ein-praxisbericht", "url": "https://cfp.winterkongress.ch/wk24/talk/RBNNV9/", "title": "Elektronisches Notariat in N\u00f6ten? Ein Praxisbericht", "subtitle": "", "track": "Recht & Politik", "type": "Vortrag kurz", "language": "de", "abstract": "Rund zehn Jahre ist es her, seit die Verordnung vom 23. September 2011 \u00fcber die Erstellung elektronischer \u00f6ffentlicher Urkunden und elektronischer Beglaubigungen (E\u00d6BV; SR 211.435.1) am 1. Januar 2012 in Kraft getreten ist. Wie geht die Praxis (u.a. Notariate, Grundbuch\u00e4mter, Handelsregister\u00e4mter) heute mit elektronischen Urkunden und dem elekronischen Gesch\u00e4ftsverkehr im Notariatsbereich um und was ist vom neuen Bundesgesetz \u00fcber die Digitalisierung im Notariat (DNG) zu erwarten? Ein Praxisbericht.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 24257, "code": "EBWLDE", "public_name": "Claudia Schreiber", "biography": "Claudia Schreiber (Mitglied des Vorstands Digiges) ist seit 2009 als Rechtsanw\u00e4ltin in Bern t\u00e4tig mit den Schwerpunkten Strafrecht und Agrarrecht. Sie publiziert und unterrichtet auch zum Thema elektronische Anwalts- und Notariatskanzlei. Im Archiv f\u00fcr Agrargeschichte leitet Claudia Schreiber die Bereiche Archivierung, Records Management und Archivrecht. Weitere Engagements: Verein entscheidsuche.ch.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39689, "guid": "9cf620de-8d95-5922-90a0-e4fc19b54472", "logo": "", "date": "2024-03-01T21:00:00+01:00", "start": "21:00", "duration": "00:45", "room": "Tanzsaal", "slug": "wk24-39689-datenethik-in-der-praxis-von-anonymisierung-zu-operativer-datengovernance", "url": "https://cfp.winterkongress.ch/wk24/talk/9KZAPR/", "title": "Datenethik in der Praxis: Von Anonymisierung zu operativer Datengovernance", "subtitle": "", "track": "Ethik, Wissenschaft, Kultur & Gesellschaft", "type": "Vortrag", "language": "de", "abstract": "In unserem Vortrag erl\u00e4utern wir, wie die Datengenossenschaft Posmo mit einem starken Datengovernanceprozess die ethische Nutzung der ihr angetrauten Daten gew\u00e4hrleistet. \r\n\r\nUm die Privatsph\u00e4re der Datensubjekte erfolgreich zu sch\u00fctzen setzen wir sowohl auf technische Anonymisierungsverfahren als auch auf eine ethische Bewertung der jeweiligen Datennutzungen anhand vordefinierter Kriterien.", "description": "Als Datengenossenschaft f\u00fcr Mobilit\u00e4t ist Posmos zentrale Mission, personenbezogene Mobilit\u00e4tsdaten verantwortungsvoll zu verwalten. Interessierten Abnehmern stellen wir diese Daten zur L\u00f6sung von gesellschaftlichen Herausforderungen im Bereich nachhaltige Mobilit\u00e4t und Stadtplanung unter Einhaltung strikter ethischer Richtlinien zur Verf\u00fcgung. Die Privatsph\u00e4re der Datensubjekte zu sch\u00fctzen steht f\u00fcr uns an erster Stelle.\r\nEine zentrale Rolle spielen dabei technische Anonymisierungsverfahren. Bei individuellen Mobilit\u00e4tsdaten ist eine vollst\u00e4ndige Anonymisierung jedoch nur schwer erreichbar, zumindest wenn die entstehenden Datens\u00e4tze einen hohen Informationsgrad behalten sollen. Um den bekannten Trade-off zwischen Anonymisierung und Nutzbarkeit von Daten teilweise zu l\u00f6sen, setzen wir auf einen starken Datengovernanceprozess, umgesetzt durch den operativ eingebundenen Ethikrat.\r\n\r\nIn unserem Vortrag erl\u00e4utern wir, wie Posmo durch technische Anonymisierungsverfahren und Datengovernance die ethische Nutzung der uns angetrauten Daten gew\u00e4hrleistet.", "recording_license": "", "do_not_record": false, "persons": [{"id": 27965, "code": "SBURQ8", "public_name": "Lea Strohm", "biography": "Nach ihrem Studium in Genf, S\u00e3o Paulo und Utrecht arbeitete Lea bei ethix, einem Thinktank f\u00fcr digitale Ethik. Seit der Gr\u00fcndung im Jahr 2020, ist sie Verwaltungsmitglied von Posmo, einer Datengenossenschaft f\u00fcr Mobilit\u00e4t. Posmo entwickelt ein innovatives Modell f\u00fcr die Verwaltung und den Vertrieb von Mobilit\u00e4tsdaten. Hauptberuflich ist sie als Lead Data and AI Ethics bei Thomson Reuters im Bereich Governance und Ethik der K\u00fcnstlichen Intelligenz t\u00e4tig.", "answers": []}, {"id": 7806, "code": "NX8JVD", "public_name": "Nicolas Zahn", "biography": "Als Vorsitzender des Ethikrates bei POSMO k\u00fcmmere ich mich um die Wahrung unserer Standards und erarbeite zusammen mit den anderen Mitgliedern des Ethikrates unsere Grundlagendokumente", "answers": []}], "links": [], "attachments": [], "answers": []}]}}, {"index": 2, "date": "2024-03-02", "day_start": "2024-03-02T04:00:00+01:00", "day_end": "2024-03-03T03:59:00+01:00", "rooms": {"Festsaal": [{"id": 39992, "guid": "f9b51a29-d19d-573c-84c1-69a2f280c98c", "logo": "", "date": "2024-03-02T11:00:00+01:00", "start": "11:00", "duration": "00:15", "room": "Festsaal", "slug": "wk24-39992-erffnung-samstag", "url": "https://cfp.winterkongress.ch/wk24/talk/UZQJZC/", "title": "Er\u00f6ffnung Samstag", "subtitle": "", "track": "Andere", "type": "Moderation", "language": "de", "abstract": "Dies ist die Er\u00f6ffnung am Samstag.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 7877, "code": "PLBTRP", "public_name": "Team Winterkongress", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39993, "guid": "06fcf7f9-46c2-585a-af21-cc30bd6023a6", "logo": "", "date": "2024-03-02T11:15:00+01:00", "start": "11:15", "duration": "00:30", "room": "Festsaal", "slug": "wk24-39993-knstliche-intelligenz-von-der-theorie-zur-praxis", "url": "https://cfp.winterkongress.ch/wk24/talk/LVKEGK/", "title": "K\u00fcnstliche Intelligenz: Von der Theorie zur Praxis", "subtitle": "", "track": "Andere", "type": "Keynote", "language": "de", "abstract": "Seit der allgemeinen Verf\u00fcgbarkeit von ChatGPT ist KI in aller Munde. Doch was ist \u00abK\u00fcnstliche Intelligenz\u00bb \u00fcberhaupt? Welche\r\nVerwendungszwecke gibt es? Was muss beachtet werden bei der Erstellung und Verwendung solcher Systeme? Und was sind die Risiken?", "description": "Ein beachtlicher Teil der Vortr\u00e4ge am Winterkongress besch\u00e4ftigt sich mit KI. Die Keynote f\u00fchrt uns in das Thema ein und erkl\u00e4rt, was wir haben m\u00f6chten: Eine nutzbringende Anwendung der Technik. KI als Tool, welches den Menschen unterst\u00fctzt, anstatt ihn zu ersetzen (Augmented Intelligence statt Artificial Intelligence).", "recording_license": "", "do_not_record": false, "persons": [{"id": 37961, "code": "RTQTXM", "public_name": "Mascha Kurpicz-Briki", "biography": "Dr. Mascha Kurpicz-Briki promovierte im Bereich energieeffizientes Cloud Computing an der Universit\u00e4t Neuch\u00e2tel. Nach ihrer Promotion arbeitete sie einige Jahre in der Privatwirtschaft in den Bereichen Open-Source-Engineering, Cloud Computing und Analytics. Heute ist sie Professorin f\u00fcr Data Engineering und Co-Leiterin der Forschungsgruppe Applied Machine Intelligence an der Berner Fachhochschule in Biel. Sie erforscht, wie digitale Methoden und insbesondere die Verarbeitung nat\u00fcrlicher Sprache auf soziale und gesellschaftliche Herausforderungen angewendet werden k\u00f6nnen.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39561, "guid": "c7836627-6a64-5acb-8156-e3aa93761ee7", "logo": "", "date": "2024-03-02T12:00:00+01:00", "start": "12:00", "duration": "00:45", "room": "Festsaal", "slug": "wk24-39561-automatische-gesichtserkennung-auf-dem-weg-zum-nationalen-verbot", "url": "https://cfp.winterkongress.ch/wk24/talk/NPREEJ/", "title": "Automatische Gesichtserkennung: Auf dem Weg zum nationalen Verbot", "subtitle": "", "track": "Recht & Politik", "type": "Podiumsgespr\u00e4ch", "language": "de", "abstract": "Die Kampagne \u00abGesichtserkennung stoppen\u00bb, die am Winterkongress 2021 lanciert wurde, f\u00fchrte in mehreren St\u00e4dten und Kantonen zu Verboten biometrischer Massen\u00fcberwachung. Auch auf europ\u00e4ischer Ebene wird mit dem \u00abAI Act\u00bb ein solches Verbot verhandelt. Jetzt wollen wir ein nationales Verbot auf den Weg bringen! Wie k\u00f6nnen wir den n\u00f6tigen Druck auf das neue Parlament erzeugen? Welche H\u00fcrden sind auf dem Weg zu bef\u00fcrchten? Eine Podiumsdiskussion mit Vertreter*innen der lokalen und nationalen Politik sowie von NGO. Organisiert von AlgorithmWatch CH, Amnesty International und Digitale Gesellschaft", "description": "Die Kampagne \u00abGesichtserkennung stoppen\u00bb f\u00fchrte zu Erfolgen, die uns f\u00fcr den n\u00e4chsten Schritt ermutigen: Verbote in mehreren St\u00e4dten und Kantonen sind bereits beschlossen oder in Diskussion. Und laut smartvote-Umfrag vor den eidgen\u00f6ssischen Wahlen, ist die klare Mehrheit der Kandidat*innen f\u00fcr ein Verbot. Nun ist es Zeit f\u00fcr ein nationales Verbot! Diskutiert mit uns \u00fcber die n\u00f6tigen Schritte und die richtige Strategie.\r\nPodiumsdiskussion mit Vertreter*innen der lokalen und nationalen Politik sowie von NGO, anschliessend Q&A mit dem Publikum.\r\nOrganisiert von AlgorithmWatch CH, Amnesty International und Digitale Gesellschaft", "recording_license": "", "do_not_record": false, "persons": [{"id": 7802, "code": "AL9KDP", "public_name": "Patrick Walder", "biography": "Kampagnenkoordinator, Amnesty International Schweiz\r\nKoalition \"Gesichtserkennung stoppen\"", "answers": []}, {"id": 36990, "code": "FHSFPN", "public_name": "Estelle Pannatier", "biography": "Estelle Pannatier ist Policy & Advocacy Managerin bei AlgorithmWatch CH. Sie hat einen Master in politischer Anthropologie und in Kommunikations- und Medienwissenschaften. Vor ihrer T\u00e4tigkeit bei AlgorithmWatch CH hat Estelle zu \u00f6ffentlicher Politik im Kontext der Digitalisierung des Bildungswesens in der Schweiz mitgewirkt.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39692, "guid": "1a55011a-ac94-5a90-851c-b74350342235", "logo": "", "date": "2024-03-02T13:00:00+01:00", "start": "13:00", "duration": "01:00", "room": "Festsaal", "slug": "wk24-39692-den-planet-einfach-brennen-lassen-", "url": "https://cfp.winterkongress.ch/wk24/talk/YRNCUL/", "title": "Den Planet einfach brennen lassen?", "subtitle": "", "track": "Ethik, Wissenschaft, Kultur & Gesellschaft", "type": "Vortrag", "language": "de", "abstract": "Wie wir die gamifizierten Ablenkungen absch\u00fctteln und nachhaltige Bewegungen aufbauen\r\nW\u00e4hrend die letzten Ressourcen des Planeten leer geschl\u00fcrft werden, befinden sich viele zwischen Wut, Panik & Verzweiflung. Ein Dilemma ist, dass wir in einer hyper-vernetzten Welt leben in der nicht nur Vorteile, sondern auch Nachteile vernetzt sind. W\u00e4hrend manche Probleme durch Technologien l\u00f6sbar sind, sind technologische L\u00f6sungen aber nicht universell einsetzbar. Manches, wie etwa Elektro-Autos, sind nur L\u00f6sung f\u00fcr Industrie, nicht f\u00fcr den Planeten oder es sind digitale Beruhigungsnuggis f\u00fcr Individuen", "description": "Dieser Vortrag begegnet der Klimakrise, indem der Zustand des Planeten in Zusammenhang mit der Wirtschaftsordnung, den politischen Systemen und den daraus resultierenden sozialen Problemen stellt. Es wird die Frage nach Macht und Verantwortlichkeiten gestellt und inwiefern Philosophie und Ethik mit L\u00f6sungen verbunden sind. F\u00fcr eine m\u00f6gliche Antwort wird aus den Erfahrungen internationaler sozialer Bewegungen gesch\u00f6pft, um einen Blick auf eine m\u00f6gliche und nachhaltige Zukunft zu werfen.\r\n\r\nDie Welt, in der wir leben ist sehr vernetzt auf der wirtschaftlichen Ebene, aber keinesfalls so gut auf der gesellschaftlichen. Verbindungen laufen vor allem \u00fcber Kabel und Containerschifffe, nicht \u00fcber die Interaktionen zwischen gesellschaftlichen Gruppen. Und ungeachtet allen Redens \u00fcber Demokratie und Mitbestimmung flie\u00dfen Macht und Geld immer noch in die H\u00e4nde sehr weniger. Und diese wenigen l\u00f6sen unsere Probleme nicht.\r\n\r\nDie Herausforderungen, vor denen wir stehen, sind gigantisch. Aber das muss nicht gleichbedeutend mit schrecklich sein \u2013 es bedeutet erst einmal, dass es nicht langweilig wird. Und es bedeutet auf gar keinen Fall, dass wir nun unseren Humor verlieren sollten! Dieser Vortrag zielt darauf, Wege aus furchtbar erscheinenden Situationen zu zeigen und euch zugleich zum Lachen zu bringen.\r\n\r\nUm eine gemeinsame Basis f\u00fcr \u00dcberlegungen zu haben, startet der Vortrag mit einer kurzen Analyse der Urspr\u00fcnge unser jetzigen Situation, unter der Einbeziehung ihrer theoretischen und philosophischen Grundlagen. Dieses gemeinsame Wissen wird dazu genutzt, um im zweiten Schritt vier kurze Matches zu betrachten: Theorien sozialer Bewegungen treten gegen Aufstandsbek\u00e4mpfungstheorien an, Ethik gegen die Kybernetik, Ideen der Entscheidungsfreiheit gegen Gamifizierung und Meinungsfreiheit gegen \u00dcberwachung.\r\n\r\nDie Ergebnisse werden im letzten Teil dazu genutzt, um sie mit Erfahrungen aus sozialen Bewegungen aus unterschiedlichen Teilen der Welt zu verbinden. In dem den F\u00e4den der Macht gefolgt wird, wird die Frage nach Verantwortung gestellt, um L\u00f6sungswege herauszuarbeiten.\r\n\r\nDenn weder Panik noch Verzweiflung werden den Planeten retten. Aber mit einer guten Bewegung k\u00f6nnen das.", "recording_license": "", "do_not_record": false, "persons": [{"id": 37143, "code": "83WEGP", "public_name": "Katika", "biography": "Katika K\u00fchnreich ist Politikwissenschaftlerin und Sinologin. Zu ihren Forschungsschwerpunkten z\u00e4hlen die gesellschaftlichen Auswirkungen der Digitalisierung. Dadurch erregten die Planung und Einf\u00fchrung von Digitalen Gesellschaftlichen Bewertungssystemen (Social Credit Systemen) in China ihre Aufmerksamkeit. Sie analysiert Macht, digitalisierte Lenkungs- und Beeinflussungssysteme mit dem Fokus auf China und dem sogenannten Westen.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39527, "guid": "15af17d2-bbc5-5d41-91ed-b8afda6939e1", "logo": "", "date": "2024-03-02T14:45:00+01:00", "start": "14:45", "duration": "00:30", "room": "Festsaal", "slug": "wk24-39527-schweizer-cryptowars-wie-ndb-dienst-pf-fedpol-gegen-verschlsselung-kmpfen", "url": "https://cfp.winterkongress.ch/wk24/talk/LW8DQZ/", "title": "Schweizer Cryptowars- wie NDB, Dienst \u00dcPF & Fedpol gegen Verschl\u00fcsselung k\u00e4mpfen", "subtitle": "", "track": "Recht & Politik", "type": "Vortrag kurz", "language": "de", "abstract": "Seit den Snowden-Enth\u00fcllungen haben Tech-Konzerne die digitale Kommunikation verschl\u00fcsselt, zum Missfallen der Schweizer \u00dcberwachungsbeh\u00f6rden. Ich zeige basierend auf meinen Recherchen auf, wie der Dienst \u00dcPF, der Nachrichtendienst und das Bundesamt f\u00fcr Polizei/Fedpol versuchen gegen diese technischen Errungenschaften des Datenschutzes anzuk\u00e4mpfen. Durch den Einkauf von neuem \u00dcberwachungssystemen (FLICC), den Kampf gegen die 5G-Verschl\u00fcsselung, der Ausweitung gesetzeswidrigen Massen-Scanning (Kabelaufkl\u00e4rung) und dem vermehrten Einsatz von Staatstrojanern wie Pegasus.", "description": "Zus\u00e4tzlich m\u00f6chte ich dabei die Herausforderungen bei einer solchen Recherche aufzeigen: wie kann ich \u00fcber \u00dcberwachung recherchieren ohne meine Quellen zu kompromittieren und im Wissen selber \u00fcberwacht zu werden?\r\n\r\nDieser Vortrag wird nicht gestreamt und aufgezeichnet.", "recording_license": "", "do_not_record": true, "persons": [{"id": 7532, "code": "W9ULH8", "public_name": "Adrienne Fichter", "biography": "Tech-Reporterin f\u00fcr Republik.ch seit Tag 1.\r\nHerausgeberin des Blogs \"Das Netz ist politisch\" DNIP.ch\r\nCo-Pr\u00e4sidentin Verein Swiss Tech Journalists", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39517, "guid": "dccdb869-be72-5e8a-beac-1c651ded1586", "logo": "", "date": "2024-03-02T15:30:00+01:00", "start": "15:30", "duration": "00:45", "room": "Festsaal", "slug": "wk24-39517-datenschutz-konzept-und-initiative", "url": "https://cfp.winterkongress.ch/wk24/talk/KAEG78/", "title": "Datenschutz-Konzept und -Initiative", "subtitle": "", "track": "Recht & Politik", "type": "Vortrag", "language": "de", "abstract": "Die Digitale Gesellschaft hat ein neues Datenschutz-Konzept erarbeitet. Das Konzept adressiert die M\u00e4ngel im geltenden Datenschutzrecht, indem es sich auf die vielseitigen Folgen der Datennutzung konzentriert. Das Konzept geht als eigentliches Datengesetz jedoch \u00fcber den Datenschutz hinaus. Es schafft auch einen Rechtsrahmen f\u00fcr den Umgang mit \u00abK\u00fcnstlicher Intelligenz\u00bb und bietet eine L\u00f6sung f\u00fcr die Sekund\u00e4rnutzung von Daten. Dabei nimmt das neue Konzept die Datenbearbeiter:innen konkret in die Pflicht und erm\u00f6glicht eine vertrauensvolle Datennutzung.", "description": "Ausgehend von der Kritik am zu wenig spezifischen Zweck des geltenden Datenschutzrechts und seinem unklaren Schutzbereich gibt das Datenschutz-Konzept sieben Schutzziele vor:\r\n\r\n* Schutz vor Manipulation\r\n* Schutz vor Diskriminierung\r\n* Schutz vor \u00dcberwachung und Recht auf Anonymit\u00e4t\r\n* Schutz vor Beeintr\u00e4chtigung der Gesundheit sowie der Lebens- und Entwicklungschancen\r\n* Recht auf Transparenz und Pflicht zur Sorgfalt\r\n* Recht auf Vergessenwerden\r\n* Schutz der offenen Gesellschaft und freien Demokratie\r\n\r\nBasierend auf diesen Schutzzielen ergibt sich ein Konzept f\u00fcr einen wirksamen und zielgerichteten Datenschutz, der Vertrauen schafft und Innovation f\u00f6rdert. Das Konzept stellt die Einhaltung und Durchsetzung der Schutzziele ins Zentrum und l\u00f6st sich vom Prinzip der Einwilligung zur Datenbearbeitung und der Zweckbindung. Geregelt wird der Umgang mit Daten und nicht bloss mit Personendaten an sich.\r\n\r\nDas Konzept beinhaltet:\r\n\r\n* Grunds\u00e4tze zur Datenbearbeitung, wonach Private und staatliche Datenbearbeitungen die Schutzziele f\u00fcr die Individuen und die Gesellschaft wahren m\u00fcssen.\r\n* Ein absolutes Verbot f\u00fcr bestimmte Datenbearbeitungen, welche ein zu grosses Risiko f\u00fcr Individuen oder die Gesellschaft bergen und die Schutzziele nicht gew\u00e4hrleisten k\u00f6nnen (wie biometrische Massen\u00fcberwachung und Social Scoring).\r\n* Eine substantielle Mitbestimmung der Betroffenen, wonach insbesondere eine Datenbearbeitung f\u00fcr diese erkennbar und eine M\u00f6glichkeit zu einem einfach wahrzunehmenden Widerspruchsrecht gegeben sein m\u00fcssen.\r\n* Bestimmungen zur Durchsetzung des Konzepts wie wirksame Sanktionen, wenn die Schutzziele nicht eingehalten werden.\r\n\r\nUnter Einhaltung der Schutzziele k\u00f6nnen Daten und insbesondere auch Personendaten unbeschr\u00e4nkt bearbeitet werden. Dabei werden die Datenbearbeiter:innen jedoch verst\u00e4rkt in die Pflicht genommen, die Interessen der betroffenen Personen und der Gesellschaft zu wahren. Das Vertrauen in die Datennutzung und die Datenbearbeitung wird dadurch gest\u00e4rkt.\r\n\r\nParallel zum Datenschutz-Konzept arbeitet die Digitale Gesellschaft an einer Datenschutz-Initiative. Die geplante Volksinitiative hat das Ziel, das Konzept in der Bundesverfassung zu verankern.\r\n\r\nIn unserem Vortrag werden wir das Datenschutz-Konzept vorstellen und den Stand der Datenschutz-Initiative erl\u00e4utern.", "recording_license": "", "do_not_record": false, "persons": [{"id": 24615, "code": "8ZF7RG", "public_name": "Anna Walter", "biography": "Anna Walter arbeitet im Legal Counsel der Digitalen Gesellschaft und studiert Recht an der UZH im Master.", "answers": []}, {"id": 7780, "code": "NAHT7M", "public_name": "Viktor Gy\u00f6rffy", "biography": "Viktor Gy\u00f6rffy ist seit 1999 als Anwalt in Z\u00fcrich t\u00e4tig mit Schwerpunkten in den Bereichen Grundrechte, Haftpflicht- und Sozialversicherungsrecht sowie Strafrecht. Er ist Vorstandsmitglied der Digitalen Gesellschaft und Pr\u00e4sident des Vereins grundrechte.ch.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39641, "guid": "ade08643-d6dc-5266-b50a-29b958bc6446", "logo": "", "date": "2024-03-02T16:30:00+01:00", "start": "16:30", "duration": "00:30", "room": "Festsaal", "slug": "wk24-39641-das-geld-die-politik-mehr-finanztransparenz-in-der-schweizer-politik", "url": "https://cfp.winterkongress.ch/wk24/talk/VVM9BR/", "title": "Das Geld + die Politik: Mehr Finanztransparenz in der Schweizer Politik", "subtitle": "", "track": "Ethik, Wissenschaft, Kultur & Gesellschaft", "type": "Vortrag kurz", "language": "de", "abstract": "In der Politik ist Geld oft matchentscheidend, und doch selten Thema. Bis jetzt. Neu m\u00fcssen Kampagnen ab 50K und Spenden ab 15K offengelegt werden. Doch Daten allein machen keine Transparenz. Daher haben wir sie auf aufbereitet. Auf moneyinpolitics.ch k\u00f6nnen alle, wer mit wie viel (und wessen) Geld Politik macht. Doch die Regelungen sind l\u00f6chrig. Wir stellen das Tool vor und diskutieren, ob und welcher Kontext(daten) die Grenzen der aktuellen Politiktransparenz aufzeigen k\u00f6nnen. \u00abDas Geld + die Politik\u00bb ist ein Projekt des WAV Recherchekollektivs, Lobbywatch, investigativ.ch und opendata.ch.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 37102, "code": "WZ9ASP", "public_name": "Balz Oertli", "biography": "Journalist beim WAV Recherchekollektiv (wav.info).", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39686, "guid": "a2c6af2d-fd62-5074-b587-64584777b4ce", "logo": "", "date": "2024-03-02T18:00:00+01:00", "start": "18:00", "duration": "00:45", "room": "Festsaal", "slug": "wk24-39686-google-der-meta-monopolist", "url": "https://cfp.winterkongress.ch/wk24/talk/9FGLGY/", "title": "Google, der Meta-Monopolist", "subtitle": "", "track": "Digitale Selbstverteidigung", "type": "Vortrag", "language": "de", "abstract": "Google ist der heimliche Herrscher des Internets: Es kontrolliert den marktf\u00fchrenden Browser, das verbreitetste Mobile-OS, die damit verkn\u00fcpfte Google Cloud, die dominanten Suchmaschinen und Videoplattformen sowie die Werbeplattform, um die man nicht herumkommt. \r\n\r\nIn diesem Vortrag zeigen wir auf, wie Google mit AMP, Privacy Sandbox, Web Environment Integrity und anderen Entwicklungen daran arbeiten, seinen Einfluss und seine Kontrolle \u00fcber das Web auszubauen, und gehen auf Alternativen ein, mit welchen sich NutzerInnen diesem Einfluss entziehen k\u00f6nnen.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 24802, "code": "W9AWUK", "public_name": "Patrick Seemann", "biography": "Patrick Seemann hat an der ETH Informatik studiert. Er arbeitet seit 30 Jahren in kleineren und gr\u00f6sseren Unternehmen an der Schnittstelle zwischen Business und IT. Nebenbei ist er journalistisch f\u00fcr dnip.ch und zwischendurch die Republik t\u00e4tig und versucht, technische Konzepte so zu beschreiben, dass auch Menschen ohne technischen Background sie verstehen und einordnen k\u00f6nnen.", "answers": []}, {"id": 14865, "code": "9MXLFK", "public_name": "Marcel Waldvogel", "biography": "Marcel Waldvogel hat an der ETH Informatik studiert und promoviert. Er hat langj\u00e4hrige Erfahrung in Forschung und Lehre (u.a. 15 Jahre als Informatikprofessor an der Universit\u00e4t Konstanz), aber auch in der Praxis (Softwareentwicklung, Systemadministration, IT-Sicherheit, Leitungsfunktionen).\r\n\r\nEs ist ihm ein Anliegen, komplexe Themen rund um IT und neue Technologien verst\u00e4ndlich zu machen. Nur so k\u00f6nnen wir Technik richtig und verantwortungsvoll einsetzen sowie ihre Auswirkungen absch\u00e4tzen und Fehlentwicklungen vorbeugen. Aus diesem Grund bet\u00e4tigt er sich bei DNIP.ch auch als \u201cErkl\u00e4rb\u00e4r\u201d.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39693, "guid": "684cb866-4200-5103-889f-647db8b67487", "logo": "", "date": "2024-03-02T19:00:00+01:00", "start": "19:00", "duration": "00:45", "room": "Festsaal", "slug": "wk24-39693-das-urheberrecht-im-zeitalter-der-generativen-ki", "url": "https://cfp.winterkongress.ch/wk24/talk/97PGJB/", "title": "Das Urheberrecht im Zeitalter der generativen KI", "subtitle": "", "track": "Ethik, Wissenschaft, Kultur & Gesellschaft", "type": "Vortrag", "language": "de", "abstract": "Mit dem Auftauchen der generativen KI werden auch verschiedene Fragen des Urheberrechts zur Diskussion gestellt. Dabei geht es einerseits darum, auf welcher Basis die KI-Modelle trainiert werden k\u00f6nnen und andererseits, ob Werke, die durch generative KI erstellt wurden, einen urheberrechtlichen Schutz geniessen sollten. Ich pl\u00e4diere f\u00fcr weniger Kleingeist und mehr Offenheit in dieser Debatte und werde zeigen, warum wir gerade jetzt das Urheberrecht grunds\u00e4tzlich infrage stellen und auf keinen Fall neue Rechte schaffen sollten.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 15517, "code": "VDFYBV", "public_name": "Andreas Von Gunten", "biography": "linkslibert\u00e4rer Humanist, Citoyen und Unternehmer. Unter anderem Mitgr\u00fcnder von datenschutzpartner.ch, Verleger von dnip.ch, Autor von \u00abIntellectual Property Is Common Property\u00bb\r\nhttps://andreasvongunten.com", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39994, "guid": "463f7ba3-d4fe-50b5-ac6b-3542122d5f4c", "logo": "", "date": "2024-03-02T20:00:00+01:00", "start": "20:00", "duration": "00:15", "room": "Festsaal", "slug": "wk24-39994-schlusswort", "url": "https://cfp.winterkongress.ch/wk24/talk/P9EVYV/", "title": "Schlusswort", "subtitle": "", "track": "Andere", "type": "Moderation", "language": "de", "abstract": "Dies ist das Schlusswort.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 7877, "code": "PLBTRP", "public_name": "Team Winterkongress", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39995, "guid": "069baa2d-0c0d-5780-b150-4a6c6c9874f5", "logo": "", "date": "2024-03-02T20:15:00+01:00", "start": "20:15", "duration": "01:00", "room": "Festsaal", "slug": "wk24-39995-abendunterhaltung", "url": "https://cfp.winterkongress.ch/wk24/talk/URCRLE/", "title": "Abendunterhaltung", "subtitle": "", "track": "Andere", "type": "Unterhaltung", "language": "de", "abstract": "Dies ist die Abendunterhaltung.", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "attachments": [], "answers": []}], "Bankettsaal": [{"id": 39709, "guid": "9dbb8249-82c7-5460-ab36-652f9e53422d", "logo": "", "date": "2024-03-02T12:00:00+01:00", "start": "12:00", "duration": "00:45", "room": "Bankettsaal", "slug": "wk24-39709-sexroboter-zwischen-recht-ethik-und-it-security", "url": "https://cfp.winterkongress.ch/wk24/talk/B9LBRE/", "title": "Sexroboter zwischen Recht, Ethik und IT Security", "subtitle": "", "track": "Ethik, Wissenschaft, Kultur & Gesellschaft", "type": "Vortrag", "language": "de", "abstract": "Rechtliche und ethische Implikationen K\u00fcnstlicher Intelligenz erl\u00e4utert am Beispiel des Sexroboters. Dieser Social Robot der besonderen Art dient in diesem Vortrag nicht nur als erheiternder Zugang zum Thema K\u00fcnstliche Intelligenz und Daten, sondern gibt einen ersten Einblick in die Komplexit\u00e4t, die diese Thematik mit sich bringt. Dabei werden nicht nur bereits bestehende Gesetzesgrundlagen betrachtet und die damit einhergehenden Rechtsprobleme, sondern auch weitreichende ethische Implikationen auf die Gesellschaft.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 37155, "code": "RCSAM7", "public_name": "Iris Phan", "biography": "Assessorin juris, Volljuristin der Stabsstelle IT Recht der Uni Hannover\r\nLehrbeauftragte des Instituts f\u00fcr Philosophie\r\nDoktorandin des Center for Law and Ethics in the Life Science", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39680, "guid": "4ca9b254-a4f4-526e-ab94-9cf4252f99ca", "logo": "", "date": "2024-03-02T13:00:00+01:00", "start": "13:00", "duration": "00:45", "room": "Bankettsaal", "slug": "wk24-39680-die-botschaft-und-der-gesetzesentwurf-zur-eid", "url": "https://cfp.winterkongress.ch/wk24/talk/7AZTVF/", "title": "Die Botschaft und der Gesetzesentwurf zur eID", "subtitle": "", "track": "Recht & Politik", "type": "Vortrag", "language": "de", "abstract": "Am 22. November 2023 - rund ein halbes Jahr sp\u00e4ter als zuvor in Aussicht gestellt - verabschiedete der Bundesrat die Botschaft zum Bundesgesetz \u00fcber den elektronischen Identit\u00e4tsnachweis und andere elektronische Nachweise (E-ID-Gesetz, BGEID). Die Verz\u00f6gerung wurde auch damit begr\u00fcndet, dass Bedenken gegen\u00fcber dem Vorentwurf ber\u00fccksichtigt werden sollen. Verspricht der Entwurf nun, was wir uns erhofft haben?", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 24282, "code": "8DVUC9", "public_name": "Hans-Peter Oeri", "biography": "Rechtsanwalt, \u00d6konom und IT-Nerd", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39555, "guid": "dedc329c-ad09-59b8-ac66-060596570d58", "logo": "", "date": "2024-03-02T14:45:00+01:00", "start": "14:45", "duration": "00:30", "room": "Bankettsaal", "slug": "wk24-39555-von-algorithmen-diskriminiert-wie-kann-der-schutz-verstrkt-werden-", "url": "https://cfp.winterkongress.ch/wk24/talk/AYFEYK/", "title": "Von Algorithmen diskriminiert: Wie kann der Schutz verst\u00e4rkt werden?", "subtitle": "", "track": "Recht & Politik", "type": "Vortrag kurz", "language": "de", "abstract": "Automatisierte Entscheidungen dringen zunehmend in unser t\u00e4gliches Leben ein \u2013 zum Beispiel, wenn Algorithmen unsere Stellenbewerbungen aussortieren, Steuererkl\u00e4rungen automatisch bearbeiten, Krankheiten mittels sogenannter KI diagnostizieren, Verbrechen vorhersagen oder die Arbeitsmarktintegrationschancen von Gefl\u00fcchteten vorhersagen sollen. Werden algorithmische Systeme eingesetzt, kann das allerdings zu Diskriminierungen f\u00fchren. Was steht auf dem Spiel und wie kann der Schutz vor Diskriminierung in der Schweiz gest\u00e4rkt werden? Auf diese Fragen werden wir in dieser Pr\u00e4sentation eingehen.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 36990, "code": "FHSFPN", "public_name": "Estelle Pannatier", "biography": "Estelle Pannatier ist Policy & Advocacy Managerin bei AlgorithmWatch CH. Sie hat einen Master in politischer Anthropologie und in Kommunikations- und Medienwissenschaften. Vor ihrer T\u00e4tigkeit bei AlgorithmWatch CH hat Estelle zu \u00f6ffentlicher Politik im Kontext der Digitalisierung des Bildungswesens in der Schweiz mitgewirkt.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39698, "guid": "62da0822-acbb-5d0a-862e-d4a18a80f20b", "logo": "", "date": "2024-03-02T15:30:00+01:00", "start": "15:30", "duration": "00:45", "room": "Bankettsaal", "slug": "wk24-39698-elektronisches-patientendossier-raus-aus-der-sackgasse", "url": "https://cfp.winterkongress.ch/wk24/talk/DYJYHF/", "title": "Elektronisches Patientendossier: Raus aus der Sackgasse", "subtitle": "", "track": "Recht & Politik", "type": "Vortrag", "language": "de", "abstract": "Seit 2017 gibt es das Gesetz \u00fcber das elektronische Patientendossier - doch das Projekt kommt nicht zum fliegen. Der Bund hat den Handlungsbedarf erkannt und eine umfassende Gesetzesrevision vorgelegt. Wir bereiten uns gemeinsam auf die parlamentarische Phase vor und beantworten folgende Fragen: was sind die gr\u00f6ssten H\u00fcrden f\u00fcr ein funktionierendes EPD? Was sind die aktuellen Machtverh\u00e4ltnisse zwischen den wichtigsten Stakeholder? Und was sind die w\u00fcnschenswerten Zukunftsszenarien f\u00fcr Gesundheitsdaten in der Schweiz?", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 15402, "code": "7R8SNF", "public_name": "Olga Baranova", "biography": "Gesch\u00e4ftsleiterin CH++", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39401, "guid": "4ea6a65c-0093-5d86-b003-28a2670b4c87", "logo": "", "date": "2024-03-02T16:30:00+01:00", "start": "16:30", "duration": "00:30", "room": "Bankettsaal", "slug": "wk24-39401-nationale-cyberwochen-2023-jetzt-zuschlagen-nur-fr-kurze-zeit-", "url": "https://cfp.winterkongress.ch/wk24/talk/WAC3UV/", "title": "Nationale Cyberwochen 2023 \u2013 jetzt zuschlagen, nur f\u00fcr kurze Zeit!", "subtitle": "", "track": "Netzwerke, Security, Hard- & Software", "type": "Vortrag kurz", "language": "de", "abstract": "Fast t\u00e4glich erreichen uns Berichte \u00fcber Sicherheitsl\u00fccken, Angriffe und Ransomware. Die \u00abNationalen Cyberwochen\u00bb wurden bereits 2022 ausgerufen. In der Zwischenzeit gab es weitere brisante Cybervorf\u00e4lle. Dieser Talk macht einige Xplain-ations der Cybervorf\u00e4lle 2023 mit Bezug zur Schweiz.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 7859, "code": "VBURNA", "public_name": "Ganti", "biography": "J\u00e4tet im Garten von Politik und Digitalisierung.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39706, "guid": "9d4d6b70-d2c9-5dbd-90c9-adfc0f3c0289", "logo": "", "date": "2024-03-02T18:00:00+01:00", "start": "18:00", "duration": "00:45", "room": "Bankettsaal", "slug": "wk24-39706-rechtshilfe-fr-geflchtete-mithilfe-von-legal-tech-tools", "url": "https://cfp.winterkongress.ch/wk24/talk/JJ9RMT/", "title": "Rechtshilfe f\u00fcr Gefl\u00fcchtete mithilfe von Legal Tech Tools", "subtitle": "", "track": "Ethik, Wissenschaft, Kultur & Gesellschaft", "type": "Vortrag", "language": "de", "abstract": "AsyLex bietet seit 2017 unentgeltliche online Rechtsberatung und Rechtsvertretung f\u00fcr gefl\u00fcchtete Menschen an. Ein grosser Teil der Arbeit wird von ca. 150 freiwillig engagierten Personen geleistet, welche sich in verschiedenen Regionen der Schweiz sowie in Italien, Libanon und Griechenland befinden. Zentral f\u00fcr die Arbeit von AsyLex ist dabei der Einsatz von Legal Tech Tools, welche Unterst\u00fctzung beim Verfassen von Rechtsschriften bieten, interne Prozessen vereinfachen sowie einen niederschwelligen Zugang zu rechtlichen Informationen f\u00fcr Gefl\u00fcchtete erm\u00f6glichen.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 37153, "code": "Z9YAL9", "public_name": "Lea Riedener", "biography": "Co-Head of Operations bei AsyLex", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39584, "guid": "686b9bf2-425a-5849-8139-d454463243f2", "logo": "", "date": "2024-03-02T19:00:00+01:00", "start": "19:00", "duration": "00:45", "room": "Bankettsaal", "slug": "wk24-39584-alles-kann-nichts-muss-ki-im-spannungsfeld-von-recht-und-gesetz-mit-ki-quiz-", "url": "https://cfp.winterkongress.ch/wk24/talk/FK7RF8/", "title": "Alles kann, nichts muss? KI im Spannungsfeld von Recht und Gesetz. Mit KI-Quiz.", "subtitle": "", "track": "Recht & Politik", "type": "Vortrag", "language": "de", "abstract": "Jeden Tag schiessen neue KI-Tools wie Pilze aus dem Boden. Seit dem Launch von ChatGPT ist KI in aller Munde und auf vielen Handys und Laptops. Aber wie vertr\u00e4gt sich das mit den Schweizer und Europ\u00e4ischen Gesetzen und ist jetzt alles erlaubt? Neben einer rechtlichen und politischen Einordnung wird es ein KI-Quiz mit den Teilnehmenden geben", "description": "Referent Sven Kohlmeier, Fachanwalt f\u00fcr IT-Recht und Rechtsanwalt in Z\u00fcrich wird auf verschiedene rechtliche Aspekt bei dem Einsatz von KI eingehen: Urheberrecht, Berufsrecht, Datenschutzrecht wie auch dem Verwaltungsrecht und Zivilrecht. Neben einem Ausblick auf europ\u00e4ische Regulierung wird wird er Empfehlungen f\u00fcr rechtliche und ethische Rahmenbedingungen f\u00fcr die Beschaffung und den Einsatz von KI-Anwendungen geben. \r\nZum Abschluss wird es ein Quiz mit den Teilnehmenden zum Thema geben - mit einem garantiert nicht KI generiertem Gewinn ...", "recording_license": "", "do_not_record": false, "persons": [{"id": 24456, "code": "WD9BFH", "public_name": "Sven Kohlmeier", "biography": "Sven Kohlmeier ist Rechtsanwalt und Fachanwalt f\u00fcr IT-Recht (D) und in der Z\u00fcricher Kanzlei Wicki Partners AG (https://www.wickipartners.ch/). Er ist als Rechtsanwalt in Berlin zugelassen und war 15 Jahre als Abgeordneter im Abgeordnetenhaus von Berlin f\u00fcr Datenschutz und Netzpolitik verantwortlich. Sven Kohlmeier ist regelm\u00e4ssiger Referent auf internationalen Konferenzen zu IT-Themen wie auch aktuell zu KI-Themen. Er ist Mitgr\u00fcnder des \"Digital Education Institute\" mit KI-Learning-Angeboten f\u00fcr Unternehmen und Verwaltung. Sven ist Mitglied der Digitalen Gesellschaft.", "answers": []}], "links": [], "attachments": [], "answers": []}], "Tanzsaal": [{"id": 39495, "guid": "fd7e17c0-fa45-5c79-96b7-bbc51fe09e3d", "logo": "", "date": "2024-03-02T12:00:00+01:00", "start": "12:00", "duration": "00:45", "room": "Tanzsaal", "slug": "wk24-39495-dark-corners-eine-bias-testing-station", "url": "https://cfp.winterkongress.ch/wk24/talk/J9HPSJ/", "title": "Dark Corners - eine Bias Testing Station", "subtitle": "", "track": "Ethik, Wissenschaft, Kultur & Gesellschaft", "type": "Workshop", "language": "de", "abstract": "Dark Corners ist eine von der Turing Agency gebaute Teststation. Mit dieser k\u00f6nnen die diskriminierenden Abgr\u00fcnde, die \u00abdunklen Ecken\u00bb von GPT und Konsorten erkundet werden. Um den Einstieg ins Testen zu erleichtern, schlagen wir ein paar entlarvende Prompts vor, die man einfach anklicken kann. Die Nutzer:innen k\u00f6nnen dann selber ausprobieren, ob sie damit sexistische oder rassistische Texte und Bilder provozieren k\u00f6nnen. Der Bias-Tester soll sich noch weiterentwickeln - in Zukunft soll er auch Vergleiche zwischen verschiedenen Modelle erlauben.", "description": "Dark Corners: Willkommen zum Vorurteile-Tester\r\n\r\nKI hat Vorurteile\r\nIn den aktuellen generativen KI-Modellen (beispielsweise ChatGPT oder DALL\u00b7E) stecken nicht nur riesige Mengen an Daten, in ihnen stecken auch unsere eigenen Vorurteile und unsere diskriminierenden Strukturen. Man k\u00f6nnte auch sagen: die KI hat die Machtverh\u00e4ltnisse der \u2013 westlichen \u2013 Gesellschaft souver\u00e4n \u00fcbernommen, sie hat sie gelernt. Und reproduziert sie nun dementsprechend.\r\n\r\nF\u00fcr die Ausstellung \u00abMacht\u00bb im V\u00f6gele Kultur Zentrum in Pf\u00e4ffikon SZ hat die Turing Agecny eine Teststation gebaut, mit der die diskriminierenden Abgr\u00fcnde, die \u00abdunklen Ecken\u00bb von GPT und Konsorten erkundet werden k\u00f6nnen. Um den Einstieg ins Testen zu erleichtern, schlagen wir ein paar entlarvende Prompts vor, die man einfach anklicken kann. Die Besuchenden k\u00f6nnen dann selber ausprobieren, ob sie damit sexistische oder rassistische Texte und Bilder provozieren k\u00f6nnen. Sie d\u00fcrfen auch selber kreativ werden! Vielleicht kommen Ihnen weitere Szenerien in den Sinn, um dunkle Ecken in den Sprach- und Bildmodellen auszuleuchten.\r\n\r\nAI Bias - was ist das?\r\nK\u00fcnstliche Intelligenz kann all die Dinge die sie kann nur weil sie auf die jeweilige Funktion hin \"trainiert\" worden ist, wie das im Fachjargon heisst. Dieses Training ist eine mathematisch komplexe Sache, aber entscheidend dabei ist: Grundlage des Trainings sind Unmengen an Daten. Und diese sind zumeist menschgemacht. Bei grossen Text-KIs also: Terabytes und Terabytes an Texten, die \u00fcberall da gesammelt werden, wo sie frei verf\u00fcgbar sind. Manche sagen auch: f\u00fcr das Training h\u00e4tten sich ChatGPT und Konsorten \"das komplette Internet\" einverleibt. In diesen Daten steckt viel menschliches Wissen, aber was auch drin steckt: viele Vorurteile, viel gesellschaftliche Ungleichheit. Diese sogenannten \"Biases\" tauchen in den Sprachausgaben der KI dann wieder auf, manchmal versteckt, manchmal auch offensiv offen. Da ist die KI nicht besser, nicht kl\u00fcger, nicht fairer als wir. Ausserdem dr\u00e4ngt sich die Frage auf: welcher Teil der Welt ist dominant im Internet vertreten - und wof\u00fcr ist das Internet blind? \r\n\r\nK\u00f6nnen Maschinen \"neutral\" sein?\r\nMaschinen funktionieren und urteilen objektiver und unvoreingenommener als Menschen? Das h\u00e4tten wir gern. Und es mag vielleicht bei einem Kamera-Bild noch halbwegs stimmen, das eine Szenerie zeigt \"wie sie ist\", im Gegensatz zur unverl\u00e4sslichen Erinnerung eines Zeugen. Aber bei KI l\u00e4uft diese Hoffnung ins Leere. Die KI trifft ihre Entscheidungen nicht nach einem maschinell-logischen Raster, sondern nach Wahrscheinlichkeit. Und was sie als mehr oder weniger wahrscheinlich erachtet hat sie allein anhand menschlicher Beispiele gelernt. \r\nEs gibt zwar Versuche, KIs die menschlichen Vorurteile ganz gezielt abzugew\u00f6hnen oder sie mit Filtern zu neutralisieren. Zum Beispiel bei automatisierten Bewerbungsverfahren: K\u00f6nnen Kandidatinnen von einer KI wom\u00f6glich fairer ausgew\u00e4hlt werden? N\u00e4mlich anhand tats\u00e4chlicher Qualit\u00e4ten und nicht aufgrund von Geschlecht oder ausl\u00e4ndisch klingendem Nachnamen? So etwas wird gerade intensiv erforscht.\r\nLeider zeigt sich: Die Macht der Trainingsdaten ist gross, die \"perfekt vorurteilsfreie\" Maschine wird wohl eine Illusion bleiben. Denn am Schluss sind alle Flick-Versuche auch wieder subjektiv, jeder Filter zeigt auch wieder ein Wertsystem auf. Welche Ismen hat die KI von uns gelernt? Und wie offensichtlich reproduziert sie sie?", "recording_license": "", "do_not_record": false, "persons": [{"id": 15497, "code": "JCEAPR", "public_name": "Roland Fischer", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39619, "guid": "2b8f9bda-c416-5c75-a9bc-37d83c35c6c4", "logo": "", "date": "2024-03-02T13:00:00+01:00", "start": "13:00", "duration": "00:45", "room": "Tanzsaal", "slug": "wk24-39619-automatisierte-ungleichheit", "url": "https://cfp.winterkongress.ch/wk24/talk/RKSTBD/", "title": "Automatisierte Ungleichheit", "subtitle": "", "track": "Ethik, Wissenschaft, Kultur & Gesellschaft", "type": "Vortrag", "language": "de", "abstract": "Bereits benachteiligte gesellschaftliche Gruppen (Migrierende, Erwerbslose, etc) sind automatisierten Entscheidungssystemen, Scoring und Profiling und generell der digitalen \u00dcberwachung durchg\u00e4ngig viel st\u00e4rker ausgesetzt als nicht-benachteiligte Gruppen. Gleichzeitig haben sie weniger M\u00f6glichkeiten, sich dagegen zu wehren. In unserem Vortrag geben wir Beispiele f\u00fcr dieses st\u00e4rkere Ausgesetztsein. Weiterhin diskutieren wir m\u00f6gliche Implikationen f\u00fcr netzpolitische NGOs.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 7841, "code": "SNWNEF", "public_name": "Andreas Geppert", "biography": "Andreas Geppert ist seit einigen Jahren Mitglied der Digitalen Gesellschaft und interessiert sich f\u00fcr gesellschaftliche Implikationen der Digitalisierung und Automatisierung.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39669, "guid": "ca745257-a38f-58c5-9ea5-b12168c082ef", "logo": "", "date": "2024-03-02T14:45:00+01:00", "start": "14:45", "duration": "00:30", "room": "Tanzsaal", "slug": "wk24-39669-netzwerkzugriff-fr-anwendungen-einschrnken-unter-linux", "url": "https://cfp.winterkongress.ch/wk24/talk/PSQP9Q/", "title": "Netzwerkzugriff f\u00fcr Anwendungen einschr\u00e4nken unter Linux", "subtitle": "", "track": "Netzwerke, Security, Hard- & Software", "type": "Vortrag kurz", "language": "de", "abstract": "Namensr\u00e4ume sind eine Grundlage f\u00fcr Container und Sandboxes unter Linux. Dieser Vortrag stellt Netzwerk-Namensr\u00e4ume vor und beschreibt wie auf sie aufbauend Netzwerkverbindungen f\u00fcr eine Anwendung auf erlaubte Ziele begrenzt werden k\u00f6nnen.\r\n\r\nSchritt f\u00fcr Schritt werden die n\u00f6tigen Konzepte vorgestellt und eine L\u00f6sung zum Einschr\u00e4nken von Netzwerkverbindungen f\u00fcr Anwendungen praktisch implementiert.", "description": "\"Linux ist weniger sicher als Windows oder Mac.\"\r\n\r\nEin Beitrag mit dieser provokanten These hat mir zur Einsicht verholfen, dass auf meinem Rechner nichts ein fehlerhaftes oder b\u00f6sartiges Programm daran hindert [alle meine Dateien zu l\u00f6schen](https://github.com/ValveSoftware/steam-for-linux/issues/3671).\r\n\r\nSandbox-L\u00f6sungen wie firejail k\u00f6nnen da Abhilfe schaffen, bieten aber nicht Profile f\u00fcr alle Anwendungen. Diese Profile muss man selbst erstellen.\r\n\r\nIch spiele manchmal Spiele im Einzelspielermodus und m\u00f6chte nicht, dass die [Netzwerkverbindungen aufbauen](https://www.pcgameshardware.de/Civilization-6-Spiel-56986/News/Patch-entfernt-umstrittene-Red-Shell-Software-1261324/).\r\n\r\nManche Spiele gibt es aber nur bei Steam. Ich habe es nicht geschafft Steam Netzwerkzugriff zu erlauben, aber Spielen nicht.\r\n\r\nDarauf folgte die Frage: Wie funktionieren diese Sandboxes eigentlich? Und: Wie kann ich Netzwerkzugriffe auf bestimmte Ziele begrenzen?\r\n\r\nIm Vortrag beschreibe ich, was ich herausgefunden habe und erkl\u00e4re Schritt f\u00fcr Schritt wie eine solche L\u00f6sung funktioniert.\r\n\r\nGrundkenntnisse in den Bereichen Linux, Programmieren und Netzwerk sind empfehlenswert. Wer von Prozessen, dem Einbinden (mount) von Dateisystemen, Netzwerkger\u00e4ten (z.B. eth0, wlan0), _if_ und Schleifen sowie IP-Addressen und TCP zumindest schon einmal geh\u00f6rt hat, sollte dem Vortrag etwas abgewinnen k\u00f6nnen.", "recording_license": "", "do_not_record": false, "persons": [{"id": 37129, "code": "QPCFUH", "public_name": "Johannes", "biography": "Johannes darf sich \"Dipl.-Wirt.-Inf. (FH)\"\u00b9 nennen. Nach einigen Jahren als Forschungsassistent in der E-Health wechselte er in Systemadministratorrollen in den Bereichen Content Delivery Network, Telekommunikation und Cloud-Dienstleistung.\r\n\r\n\u00b9 Diplom-Wirtschaftsinformatiker (Fachhochschule)", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39997, "guid": "bbb0e3ea-a8e8-52d6-bfcd-8bf871c33042", "logo": "", "date": "2024-03-02T15:30:00+01:00", "start": "15:30", "duration": "00:45", "room": "Tanzsaal", "slug": "wk24-39997-lightning-talks", "url": "https://cfp.winterkongress.ch/wk24/talk/A9EJUQ/", "title": "Lightning Talks", "subtitle": "", "track": "Andere", "type": "Vortrag", "language": "de", "abstract": "Lightning Talks - Deine zehn Minuten Ber\u00fchmtheit!", "description": "Bringe Deinen ansteckenden Enthusiasmus an ein Publikum mit kurzer Aufmerksamkeitsspanne! Diskutieren ein Programm, ein System oder eine Technik! Stelle Deine Projekte und Ideen vor oder versuche, eine Gruppe von Menschen f\u00fcr Deine Veranstaltung oder Versammlung zu gewinnen! Was auch immer Du mitbringst, machen es kurz!\r\n\r\nWir haben vier Slots mit jeweils 10 Minuten zu vergeben. Die Spielregeln sind:\r\n\r\n* First come, first serve, es werden bis am 31.01.2024 Beitr\u00e4ge unter lightning-talks@winterkongress.ch entgegengenommen. Es wird nur ein Vortrag pro Person angenommen, ausser wir haben zu wenige Einreichungen.\r\n* Wir publizieren hier die Angenommenen Vortr\u00e4ge und werden vermerken wenn keine mehr angenommen werden.\r\n* Am Samstag bis sp\u00e4testens am Mittag muss dein Vortrag per PDF hochgeladen werden (Link kommt via E-Mail)\r\n* Du hast genau zehn Minuten Zeit\r\n* Eine Minute zum wechseln\r\n* Beitr\u00e4ge sind auf Deutsch und werden in Schriftsprache vorgetragen\r\n\r\nAlle Beitr\u00e4ge werden gestreamt und aufgezeichnet\r\n\r\nWir freuen uns auf Eure Einsendungen!\r\n\r\nBereits best\u00e4tigt:\r\n\r\n* Communities vernetzen: Das HackThePromise Festival in Basel", "recording_license": "", "do_not_record": false, "persons": [{"id": 7877, "code": "PLBTRP", "public_name": "Team Winterkongress", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39423, "guid": "7e2c3642-b2aa-5c9e-98fa-7c7fdd735f27", "logo": "", "date": "2024-03-02T16:30:00+01:00", "start": "16:30", "duration": "00:30", "room": "Tanzsaal", "slug": "wk24-39423-die-bevlkerung-und-die-internetsicherheit-paradox-und-unbewusste-inkompetenz", "url": "https://cfp.winterkongress.ch/wk24/talk/NLZWNZ/", "title": "Die Bev\u00f6lkerung und die Internetsicherheit - Paradox und unbewusste Inkompetenz", "subtitle": "", "track": "Digitale Selbstverteidigung", "type": "Vortrag kurz", "language": "de", "abstract": "Vom 7. August bis 4. September 2023 fu\u0308hrte das Markt- und Sozialforschungsinstitut gfs-zu\u0308rich im Auftrag von digitalswitzerland, der Mobiliar, SATW, FHNW und SISA eine Bev\u00f6lkerungsumfrage in allen drei Landesteilen der Schweiz durch. Ziel war es, die Einstellung Schweizer Internetznutzenden zu Cyberrisiken, die Betroffenheit von Angriffen sowie die Umsetzung von Sicherheitsmassnahmen zu ermitteln. Zus\u00e4tzlich wurden Fragen zum Verhalten und Sicherheitsgefu\u0308hl beim Onlineshopping gestellt.\r\nIm Vortrag sollen die Ergebnisse zusammenfassend dargestellt und in Kontext gesetzt werden.", "description": "https://internet-sicherheit.ch/", "recording_license": "", "do_not_record": false, "persons": [{"id": 7077, "code": "HGKGBU", "public_name": "Katja D\u00f6rlemann", "biography": "Katja D\u00f6rlemann ist Security Awareness Expertin bei Switch und Pr\u00e4sidentin der Swiss Internet Security Alliance (SISA). Sie unterst\u00fctzt die Bildungs-, Forschungs-, Innovations- und Internet-Community im Umgang mit dem Faktor Mensch in der Informationssicherheit. Sie f\u00f6rdert den Wissensaustausch und die Vernetzung von Expert:innen, als Leiterin oder Teilnehmerin in Arbeitsgruppen und Expert:innenkreisen, als Rednerin und Dozentin oder auch als Co-Host des Security Awareness Insider Podcasts.", "answers": []}, {"id": 37510, "code": "DW3YK7", "public_name": "Simon Bernhard Seebeck", "biography": ".", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39688, "guid": "efa1d942-e0b5-5572-a875-0d6902377c2f", "logo": "", "date": "2024-03-02T18:00:00+01:00", "start": "18:00", "duration": "00:45", "room": "Tanzsaal", "slug": "wk24-39688-einfhrung-in-ssrf-mgliche-angriffe-und-was-man-trotz-php-dagegen-tun-kann", "url": "https://cfp.winterkongress.ch/wk24/talk/XGGVPJ/", "title": "Einf\u00fchrung in SSRF: M\u00f6gliche Angriffe und was man (trotz PHP) dagegen tun kann", "subtitle": "", "track": "Netzwerke, Security, Hard- & Software", "type": "Vortrag", "language": "de", "abstract": "Server-Side Requests werden von Webapps verwendet, um Daten von anderen Servern abzurufen, z. B. f\u00fcr die Vorschau von Links.\r\nSie k\u00f6nnen jedoch von Angreifern exploited werden, um auf interne Ressourcen oder Dienste zuzugreifen, die nicht f\u00fcr die \u00d6ffentlichkeit bestimmt sind.\r\nDies wird als Server-Side Request Forgery (SSRF) bezeichnet.\r\nDer Talk erkl\u00e4rt was SSRF ist, wie es zum Exploiten von Servern verwendet wird und wie man sich dagegen verteidigen kann, was komplexer ist als man denkt.\r\nW\u00e4hrend des Vortrags werde ich PHP als Beispielsprache verwenden und typische PHP-Fallstricke zeigen.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 37145, "code": "JKYGVU", "public_name": "Malte Wessels", "biography": "Ich bin Doktorand am Institut f\u00fcr Anwendungssicherheit der TU Braunschweig und interessiere mich da f\u00fcr security & privacy Analysetechniken. In meiner Freizeit bin ich u.a. Beisitzer des Vorstandes des Datenanfragen.de e. V.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39258, "guid": "055bcf69-60a3-5f20-a6a5-4a3b0479da19", "logo": "", "date": "2024-03-02T19:00:00+01:00", "start": "19:00", "duration": "00:45", "room": "Tanzsaal", "slug": "wk24-39258-coden-auf-exoten-neue-systemhack-geschichten-aus-der-demoszene", "url": "https://cfp.winterkongress.ch/wk24/talk/DK8P3X/", "title": "Coden auf Exoten - Neue Systemhack-Geschichten aus der Demoszene", "subtitle": "", "track": "Ethik, Wissenschaft, Kultur & Gesellschaft", "type": "Vortrag", "language": "de", "abstract": "Wir stellen ungew\u00f6hnliche Demos auf noch ungew\u00f6hnlicheren Systemen vor - vom Teletext zum Apotheken-LED-Schild, und erz\u00e4hlen etwas \u00fcber die Macher und ihren Prozess.", "description": "Die Demoszene lotet seit 40 Jahren die Grenzen von Computern aus; neben dem Siegesmarsch des PC haben sich die Kreativen auch eher ungew\u00f6hnlichen Plattformen angenommen. Wir zeigen euch Demos f\u00fcr Teletext, selbstgemachte LED-Displays, umgebaute Laufwerke und sogar Apothekenschilder, und sprechen \u00fcber die Macher, die Ideen und Herausforderungen dahinter.", "recording_license": "", "do_not_record": false, "persons": [{"id": 14679, "code": "EEC7ZA", "public_name": "Shana Marinitsch", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}]}}]}}} \ No newline at end of file