diff --git a/admin/package.json b/admin/package.json index 5b4c7a24c..a426ee8ab 100644 --- a/admin/package.json +++ b/admin/package.json @@ -55,7 +55,8 @@ "vue-router": "4.4.0", "vue3-datepicker": "^0.4.0", "vuex": "4.1.0", - "vuex-persistedstate": "4.1.0" + "vuex-persistedstate": "4.1.0", + "yup": "^1.6.1" }, "devDependencies": { "@apollo/client": "^3.10.8", @@ -88,6 +89,7 @@ "unplugin-icons": "^0.19.0", "unplugin-vue-components": "^0.27.3", "vite-plugin-environment": "^1.1.3", + "vite-plugin-graphql-loader": "^4.0.4", "vitest": "^2.0.5", "vitest-canvas-mock": "^0.3.3" }, diff --git a/admin/src/components/Federation/FederationVisualizeItem.vue b/admin/src/components/Federation/FederationVisualizeItem.vue index ea8a6196f..1aa4176e9 100644 --- a/admin/src/components/Federation/FederationVisualizeItem.vue +++ b/admin/src/components/Federation/FederationVisualizeItem.vue @@ -56,7 +56,7 @@ export default { ? formatDistanceToNow(new Date(dateString), { includeSecond: true, addSuffix: true, - locale: useDateLocale, + locale: useDateLocale(), }) : '' }, diff --git a/admin/src/components/NavBar.spec.js b/admin/src/components/NavBar.spec.js index c6a63db84..8f4b0a171 100644 --- a/admin/src/components/NavBar.spec.js +++ b/admin/src/components/NavBar.spec.js @@ -101,12 +101,13 @@ describe('NavBar', () => { describe('Navbar Menu', () => { it('has correct menu items', () => { const navItems = wrapper.findAll('.nav-item a') - expect(navItems).toHaveLength(7) + expect(navItems).toHaveLength(8) expect(navItems[0].attributes('href')).toBe('/user') expect(navItems[1].attributes('href')).toBe('/creation-confirm') expect(navItems[2].attributes('href')).toBe('/contribution-links') expect(navItems[3].attributes('href')).toBe('/federation') - expect(navItems[4].attributes('href')).toBe('/statistic') + expect(navItems[4].attributes('href')).toBe('/projectBranding') + expect(navItems[5].attributes('href')).toBe('/statistic') }) }) diff --git a/admin/src/components/NavBar.vue b/admin/src/components/NavBar.vue index b9dc12106..55150a485 100644 --- a/admin/src/components/NavBar.vue +++ b/admin/src/components/NavBar.vue @@ -32,6 +32,13 @@ {{ $t('navbar.instances') }} + + {{ $t('navbar.projectBranding') }} + {{ $t('navbar.statistic') }} diff --git a/admin/src/components/ProjectBranding/ListHumhubSpaces.vue b/admin/src/components/ProjectBranding/ListHumhubSpaces.vue new file mode 100644 index 000000000..4e7a0bf77 --- /dev/null +++ b/admin/src/components/ProjectBranding/ListHumhubSpaces.vue @@ -0,0 +1,85 @@ + + + + diff --git a/admin/src/components/ProjectBranding/ProjectBrandingForm.vue b/admin/src/components/ProjectBranding/ProjectBrandingForm.vue new file mode 100644 index 000000000..90e928c41 --- /dev/null +++ b/admin/src/components/ProjectBranding/ProjectBrandingForm.vue @@ -0,0 +1,171 @@ + + + diff --git a/admin/src/components/ProjectBranding/ProjectBrandingItem.vue b/admin/src/components/ProjectBranding/ProjectBrandingItem.vue new file mode 100644 index 000000000..1a02286f7 --- /dev/null +++ b/admin/src/components/ProjectBranding/ProjectBrandingItem.vue @@ -0,0 +1,117 @@ + + + diff --git a/admin/src/components/input/LabeledInput.vue b/admin/src/components/input/LabeledInput.vue new file mode 100644 index 000000000..920fceacd --- /dev/null +++ b/admin/src/components/input/LabeledInput.vue @@ -0,0 +1,45 @@ + + + diff --git a/admin/src/components/input/ValidatedInput.vue b/admin/src/components/input/ValidatedInput.vue new file mode 100644 index 000000000..2ee340eec --- /dev/null +++ b/admin/src/components/input/ValidatedInput.vue @@ -0,0 +1,86 @@ + + + diff --git a/admin/src/config/index.js b/admin/src/config/index.js index 03d542bfa..b73657219 100644 --- a/admin/src/config/index.js +++ b/admin/src/config/index.js @@ -6,7 +6,7 @@ const pkg = require('../../package') const version = { ADMIN_MODULE_PROTOCOL: process.env.ADMIN_MODULE_PROTOCOL ?? 'http', - ADMIN_MODULE_HOST: process.env.ADMIN_MODULE_HOST ?? 'localhost', + ADMIN_MODULE_HOST: process.env.ADMIN_MODULE_HOST ?? '0.0.0.0', ADMIN_MODULE_PORT: process.env.ADMIN_MODULE_PORT ?? '8080', APP_VERSION: pkg.version, BUILD_COMMIT: process.env.BUILD_COMMIT ?? undefined, diff --git a/admin/src/graphql/fragments.graphql b/admin/src/graphql/fragments.graphql new file mode 100644 index 000000000..77bf61a7c --- /dev/null +++ b/admin/src/graphql/fragments.graphql @@ -0,0 +1,23 @@ + +fragment SpaceFields on Space { + id + name + description + url +} + +fragment PaginationFields on Pagination { + total + page + pages +} + +fragment ProjectBrandingCommonFields on ProjectBranding { + id + name + alias + description + spaceId + newUserToSpace + logoUrl +} diff --git a/admin/src/graphql/projectBranding.graphql b/admin/src/graphql/projectBranding.graphql new file mode 100644 index 000000000..98f38dab0 --- /dev/null +++ b/admin/src/graphql/projectBranding.graphql @@ -0,0 +1,35 @@ +#import './fragments.graphql' + +query projectBrandings { + projectBrandings { + ...ProjectBrandingCommonFields + } +} + +mutation upsertProjectBranding($input: ProjectBrandingInput!) { + upsertProjectBranding(input: $input) { + ...ProjectBrandingCommonFields + } +} + +mutation deleteProjectBranding($id: ID!) { + deleteProjectBranding(id: $id) +} + +query spaces($page: Int!, $limit: Int!) { + spaces(page: $page, limit: $limit) { + pagination { + ...PaginationFields + } + results { + ...SpaceFields + } + } +} + +query spaceWithNameAndDescription($id: ID!) { + space(id: $id) { + name + description + } +} \ No newline at end of file diff --git a/admin/src/locales/de.json b/admin/src/locales/de.json index 22bb1d614..237705ec2 100644 --- a/admin/src/locales/de.json +++ b/admin/src/locales/de.json @@ -1,5 +1,7 @@ { "GDD": "GDD", + "actions": "Aktionen", + "alias": "Alias", "all_emails": "Alle Nutzer", "back": "zurück", "change_user_role": "Nutzerrolle ändern", @@ -42,6 +44,8 @@ "denied": "Abgelehnt", "open": "Offen" }, + "copied-to-clipboard": "In die Zwischenablage kopiert", + "copy-to-clipboard": "In die Zwischenablage kopieren", "created": "Geschöpft", "createdAt": "Angelegt", "creation": "Schöpfung", @@ -68,6 +72,7 @@ "deleted": "gelöscht", "deleted_user": "Alle gelöschten Nutzer", "deny": "Ablehnen", + "description": "Beschreibung", "e_mail": "E-Mail", "edit": "bearbeiten", "enabled": "aktiviert", @@ -127,6 +132,8 @@ "lastname": "Nachname", "latitude": "Breitengrad:", "latitude-longitude-smart": "Breitengrad, Längengrad", + "link": "Link", + "logo": "Logo", "longitude": "Längengrad:", "math": { "equals": "=", @@ -155,6 +162,8 @@ "instances": "Instanzen", "logout": "Abmelden", "my-account": "Mein Konto", + "projectBranding": "Projekt Branding", + "projectBrandingTooltip": "Nutze ein eigenes Logo im Gradido Login und füge neue Benutzer einem Humhub-Space hinzu", "statistic": "Statistik", "user_search": "Nutzersuche" }, @@ -199,8 +208,23 @@ "yes": "Ja, Nutzer wiederherstellen" } }, + "projectBranding": { + "addTooltip": "Neuen Projekt Branding Eintrag hinzufügen", + "chosenSpace": "Gewählter Space: {space}", + "created": "Neuer Projekt Branding Eintrag wurde erstellt.", + "error": "Fehler beim Erstellen des Projekt Branding Eintrags: {message}", + "noAccessRightSpace": "Gewählter Space: {spaceId} (Keine Zugriffsrechte)", + "openSpaceInHumhub": "In Humhub öffnen", + "spaceId": "Humhub Space ID", + "selectSpace": "Humhub Space auswählen", + "title": "Projekt Brandings", + "updated": "Projekt Branding Eintrag wurde aktualisiert.", + "newUserToSpace": "Benutzer hinzufügen?", + "newUserToSpaceTooltip": "Neue Benutzer automatisch zum Space hinzufügen, falls Space vorhanden" + }, "redeemed": "eingelöst", "removeNotSelf": "Als Admin/Moderator kannst du dich nicht selber löschen.", + "reset": "Zurücksetzen", "save": "Speichern", "statistic": { "activeUsers": "Aktive Mitglieder", diff --git a/admin/src/locales/en.json b/admin/src/locales/en.json index c8c45a7a0..cb1f24477 100644 --- a/admin/src/locales/en.json +++ b/admin/src/locales/en.json @@ -1,5 +1,7 @@ { "GDD": "GDD", + "actions": "Actions", + "alias": "Alias", "all_emails": "All users", "back": "back", "change_user_role": "Change user role", @@ -42,6 +44,8 @@ "denied": "Rejected", "open": "Open" }, + "copied-to-clipboard": "Copied to clipboard", + "copy-to-clipboard": "Copy to clipboard", "created": "Created for", "createdAt": "Created at", "creation": "Creation", @@ -68,6 +72,7 @@ "deleted": "deleted", "deleted_user": "All deleted user", "deny": "Reject", + "description": "Description", "e_mail": "E-mail", "edit": "edit", "enabled": "enabled", @@ -127,6 +132,8 @@ "lastname": "Lastname", "latitude": "Latitude:", "latitude-longitude-smart": "Latitude, Longitude", + "link": "Link", + "logo": "Logo", "longitude": "Longitude:", "math": { "equals": "=", @@ -155,6 +162,8 @@ "instances": "Instances", "logout": "Logout", "my-account": "My Account", + "projectBranding": "Project Branding", + "projectBrandingTooltip": "Use your own logo in the Gradido login and add new users to a Humhub space", "statistic": "Statistic", "user_search": "User search" }, @@ -199,9 +208,24 @@ "yes": "Yes,undelete user" } }, + "projectBranding": { + "addTooltip": "Add new project branding entry", + "chosenSpace": "Choosen Humhub Space: {space}", + "created": "New project branding entry has been created.", + "error": "Error when creating the project branding entry: {message}", + "noAccessRightSpace": "Selected space: {spaceId} (No access rights)", + "openSpaceInHumhub": "Open in Humhub", + "spaceId": "Humhub Space ID", + "selectSpace": "Select Humhub Space", + "title": "Project Branding", + "updated": "Project branding entry has been updated.", + "newUserToSpace": "Add user?", + "newUserToSpaceTooltip": "The hours should contain a maximum of two decimal places" + }, "redeemed": "redeemed", "removeNotSelf": "As an admin/moderator, you cannot delete yourself.", - "save": "Speichern", + "reset": "Reset", + "save": "Save", "statistic": { "activeUsers": "Active members", "count": "Count", diff --git a/admin/src/pages/ProjectBranding.vue b/admin/src/pages/ProjectBranding.vue new file mode 100644 index 000000000..925a0f75e --- /dev/null +++ b/admin/src/pages/ProjectBranding.vue @@ -0,0 +1,109 @@ + + + diff --git a/admin/src/router/routes.js b/admin/src/router/routes.js index 7342a0b6b..9a76b1e31 100644 --- a/admin/src/router/routes.js +++ b/admin/src/router/routes.js @@ -36,6 +36,11 @@ const routes = [ name: 'federation', component: () => import('@/pages/FederationVisualize.vue'), }, + { + path: '/projectBranding', + name: 'projectBranding', + component: () => import('@/pages/ProjectBranding.vue'), + }, { path: '/:catchAll(.*)', name: 'NotFound', diff --git a/admin/vite.config.js b/admin/vite.config.js index bd05d1f58..a815f3d3f 100644 --- a/admin/vite.config.js +++ b/admin/vite.config.js @@ -17,7 +17,8 @@ const CONFIG = require('./src/config') const path = require('path') -export default defineConfig(({ command }) => { +export default defineConfig(async ({ command }) => { + const { vitePluginGraphqlLoader } = await import('vite-plugin-graphql-loader') if (command === 'serve') { CONFIG.ADMIN_HOSTING = 'nodejs' } else { @@ -79,6 +80,7 @@ export default defineConfig(({ command }) => { DEBUG_DISABLE_AUTH: CONFIG.DEBUG_DISABLE_AUTH ?? null, // null, // CONFIG_VERSION: CONFIG.CONFIG_VERSION, // null, }), + vitePluginGraphqlLoader(), commonjs(), ], build: { diff --git a/admin/vitest.config.js b/admin/vitest.config.js index 3a30f089d..000d3b3cd 100644 --- a/admin/vitest.config.js +++ b/admin/vitest.config.js @@ -10,34 +10,37 @@ import path from 'path' // }, // }) -export default defineConfig({ - plugins: [Vue()], - test: { - globals: true, - environment: 'jsdom', - setupFiles: ['./test/vitest.setup.js'], - coverage: { - provider: 'v8', - reporter: ['text', 'json', 'html'], - exclude: ['node_modules/**', 'src/assets/**', '**/*.{spec,test}.js'], - lines: 95, +export default defineConfig(async () => { + const { vitePluginGraphqlLoader } = await import('vite-plugin-graphql-loader') + return { + plugins: [Vue(), vitePluginGraphqlLoader()], + test: { + globals: true, + environment: 'jsdom', + setupFiles: ['./test/vitest.setup.js'], + coverage: { + provider: 'v8', + reporter: ['text', 'json', 'html'], + exclude: ['node_modules/**', 'src/assets/**', '**/*.{spec,test}.js'], + lines: 95, + }, + include: ['**/?(*.)+(spec|test).js?(x)'], + moduleNameMapper: { + '^@/(.*)$': path.resolve(__dirname, './src/$1'), + '\\.(css|less)$': 'identity-obj-proxy', + }, + transformMode: { + web: [/\.[jt]sx$/], + }, + deps: { + inline: [/vee-validate/, 'vitest-canvas-mock'], + }, }, - include: ['**/?(*.)+(spec|test).js?(x)'], - moduleNameMapper: { - '^@/(.*)$': path.resolve(__dirname, './src/$1'), - '\\.(css|less)$': 'identity-obj-proxy', + resolve: { + alias: { + '@': path.resolve(__dirname, './src'), + }, + extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'], }, - transformMode: { - web: [/\.[jt]sx$/], - }, - deps: { - inline: [/vee-validate/, 'vitest-canvas-mock'], - }, - }, - resolve: { - alias: { - '@': path.resolve(__dirname, './src'), - }, - extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'], - }, + } }) diff --git a/admin/yarn.lock b/admin/yarn.lock index 3e3a8b8c4..be7ef38f1 100644 --- a/admin/yarn.lock +++ b/admin/yarn.lock @@ -4241,7 +4241,7 @@ graphql-tag@^2.12.6, graphql-tag@^2.4.2: dependencies: tslib "^2.1.0" -graphql@^16.9.0: +graphql@^16.8.1, graphql@^16.9.0: version "16.10.0" resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.10.0.tgz#24c01ae0af6b11ea87bf55694429198aaa8e220c" integrity sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ== @@ -5014,7 +5014,7 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" -magic-string@^0.30.11, magic-string@^0.30.12, magic-string@^0.30.14: +magic-string@^0.30.10, magic-string@^0.30.11, magic-string@^0.30.12, magic-string@^0.30.14: version "0.30.17" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== @@ -5657,6 +5657,11 @@ prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.13.1" +property-expr@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.6.tgz#f77bc00d5928a6c748414ad12882e83f24aec1e8" + integrity sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA== + proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -6484,6 +6489,11 @@ throttle-debounce@^5.0.0: resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-5.0.2.tgz#ec5549d84e053f043c9fd0f2a6dd892ff84456b1" integrity sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A== +tiny-case@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-case/-/tiny-case-1.0.3.tgz#d980d66bc72b5d5a9ca86fb7c9ffdb9c898ddd03" + integrity sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q== + tinybench@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" @@ -6543,6 +6553,11 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== +toposort@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" + integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg== + tough-cookie@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-5.0.0.tgz#6b6518e2b5c070cf742d872ee0f4f92d69eac1af" @@ -6608,6 +6623,11 @@ type-fest@^0.20.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== +type-fest@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -6823,6 +6843,15 @@ vite-plugin-environment@^1.1.3: resolved "https://registry.yarnpkg.com/vite-plugin-environment/-/vite-plugin-environment-1.1.3.tgz#d01a04abb2f69730a4866c9c9db51d3dab74645b" integrity sha512-9LBhB0lx+2lXVBEWxFZC+WO7PKEyE/ykJ7EPWCq95NEcCpblxamTbs5Dm3DLBGzwODpJMEnzQywJU8fw6XGGGA== +vite-plugin-graphql-loader@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/vite-plugin-graphql-loader/-/vite-plugin-graphql-loader-4.0.4.tgz#cf6c599b3e5fa32bf2b768983da68f7beccc8486" + integrity sha512-lYnpQ2luV2fcuXmOJADljuktfMbDW00Y+6QS+Ek8Jz1Vdzlj/51LSGJwZqyjJ24a5YQ+o29Hr6el/5+nlZetvg== + dependencies: + graphql "^16.8.1" + graphql-tag "^2.12.6" + magic-string "^0.30.10" + vite@3.2.10: version "3.2.10" resolved "https://registry.yarnpkg.com/vite/-/vite-3.2.10.tgz#7ac79fead82cfb6b5bf65613cd82fba6dcc81340" @@ -7145,6 +7174,16 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +yup@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/yup/-/yup-1.6.1.tgz#8defcff9daaf9feac178029c0e13b616563ada4b" + integrity sha512-JED8pB50qbA4FOkDol0bYF/p60qSEDQqBD0/qeIrUCG1KbPBIQ776fCUNb9ldbPcSTxA69g/47XTo4TqWiuXOA== + dependencies: + property-expr "^2.0.5" + tiny-case "^1.0.3" + toposort "^2.0.2" + type-fest "^2.19.0" + zen-observable-ts@^0.8.21: version "0.8.21" resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz#85d0031fbbde1eba3cd07d3ba90da241215f421d" diff --git a/backend/src/apis/humhub/HumHubClient.ts b/backend/src/apis/humhub/HumHubClient.ts index 19485857e..27567e770 100644 --- a/backend/src/apis/humhub/HumHubClient.ts +++ b/backend/src/apis/humhub/HumHubClient.ts @@ -1,3 +1,4 @@ +import { ProjectBranding } from '@entity/ProjectBranding' import { SignJWT } from 'jose' import { IRequestOptions, IRestResponse, RestClient } from 'typed-rest-client' @@ -8,6 +9,8 @@ import { backendLogger as logger } from '@/server/logger' import { PostUserLoggingView } from './logging/PostUserLogging.view' import { GetUser } from './model/GetUser' import { PostUser } from './model/PostUser' +import { Space } from './model/Space' +import { SpacesResponse } from './model/SpacesResponse' import { UsersResponse } from './model/UsersResponse' /** @@ -61,16 +64,28 @@ export class HumHubClient { return token } - public async createAutoLoginUrl(username: string) { + public async createAutoLoginUrl(username: string, project?: string | null) { const secret = new TextEncoder().encode(CONFIG.HUMHUB_JWT_KEY) logger.info(`user ${username} as username for humhub auto-login`) - const token = await new SignJWT({ username }) + let redirectLink: string | undefined + if (project) { + const projectBranding = await ProjectBranding.findOne({ + where: { alias: project }, + select: { spaceUrl: true }, + }) + if (projectBranding?.spaceUrl) { + redirectLink = projectBranding.spaceUrl + } + } + const token = await new SignJWT({ username, redirectLink }) .setProtectedHeader({ alg: 'HS256' }) .setIssuedAt() .setExpirationTime(CONFIG.JWT_EXPIRES_IN) .sign(secret) - return `${CONFIG.HUMHUB_API_URL}user/auth/external?authclient=jwt&jwt=${token}` + return `${CONFIG.HUMHUB_API_URL}${ + CONFIG.HUMHUB_API_URL.endsWith('/') ? '' : '/' + }user/auth/external?authclient=jwt&jwt=${token}` } /** @@ -186,6 +201,40 @@ export class HumHubClient { throw new LogError('error deleting user', { userId: humhubUserId, response }) } } -} -// new RestClient('gradido', 'api/v1/') + // get spaces from humhub + // https://marketplace.humhub.com/module/rest/docs/html/space.html#tag/Space/paths/~1space/get + public async spaces(page = 0, limit = 20): Promise { + const options = await this.createRequestOptions({ page, limit }) + const response = await this.restClient.get('/api/v1/space', options) + if (response.statusCode !== 200) { + throw new LogError('error requesting spaces from humhub', response) + } + return response.result + } + + // get space by id from humhub instance + // https://marketplace.humhub.com/module/rest/docs/html/space.html#tag/Space/paths/~1space~1{id}/get + public async space(spaceId: number): Promise { + const options = await this.createRequestOptions() + const response = await this.restClient.get(`/api/v1/space/${spaceId}`, options) + if (response.statusCode !== 200) { + throw new LogError('error requesting space from humhub', response) + } + return response.result + } + + // add user to space + // https://marketplace.humhub.com/module/rest/docs/html/space.html#tag/Membership/paths/~1space~1%7Bid%7D~1membership~1%7BuserId%7D/post + public async addUserToSpace(userId: number, spaceId: number): Promise { + const options = await this.createRequestOptions() + const response = await this.restClient.create( + `/api/v1/space/${spaceId}/membership/${userId}`, + { userId }, + options, + ) + if (response.statusCode !== 200) { + throw new LogError('error adding user to space', response) + } + } +} diff --git a/backend/src/apis/humhub/model/Space.ts b/backend/src/apis/humhub/model/Space.ts new file mode 100644 index 000000000..f290fbbf1 --- /dev/null +++ b/backend/src/apis/humhub/model/Space.ts @@ -0,0 +1,7 @@ +export class Space { + id: number + guid: string + name: string + description: string + url: string +} diff --git a/backend/src/apis/humhub/model/SpacesResponse.ts b/backend/src/apis/humhub/model/SpacesResponse.ts new file mode 100644 index 000000000..34e9df650 --- /dev/null +++ b/backend/src/apis/humhub/model/SpacesResponse.ts @@ -0,0 +1,8 @@ +import { Space } from './Space' + +export interface SpacesResponse { + total: number + page: number + pages: number + results: Space[] +} diff --git a/backend/src/auth/ADMIN_RIGHTS.ts b/backend/src/auth/ADMIN_RIGHTS.ts index e95935fd0..9ba3e7ccd 100644 --- a/backend/src/auth/ADMIN_RIGHTS.ts +++ b/backend/src/auth/ADMIN_RIGHTS.ts @@ -8,4 +8,5 @@ export const ADMIN_RIGHTS = [ RIGHTS.COMMUNITY_BY_UUID, RIGHTS.COMMUNITY_BY_IDENTIFIER, RIGHTS.HOME_COMMUNITY, + RIGHTS.PROJECT_BRANDING_MUTATE, ] diff --git a/backend/src/auth/INALIENABLE_RIGHTS.ts b/backend/src/auth/INALIENABLE_RIGHTS.ts index 25a4fa76d..c3c96b95e 100644 --- a/backend/src/auth/INALIENABLE_RIGHTS.ts +++ b/backend/src/auth/INALIENABLE_RIGHTS.ts @@ -9,4 +9,5 @@ export const INALIENABLE_RIGHTS = [ RIGHTS.QUERY_TRANSACTION_LINK, RIGHTS.QUERY_OPT_IN, RIGHTS.CHECK_USERNAME, + RIGHTS.PROJECT_BRANDING_BANNER, ] diff --git a/backend/src/auth/RIGHTS.ts b/backend/src/auth/RIGHTS.ts index 1f0bda2b3..5aee48934 100644 --- a/backend/src/auth/RIGHTS.ts +++ b/backend/src/auth/RIGHTS.ts @@ -8,6 +8,7 @@ export enum RIGHTS { QUERY_TRANSACTION_LINK = 'QUERY_TRANSACTION_LINK', QUERY_OPT_IN = 'QUERY_OPT_IN', CHECK_USERNAME = 'CHECK_USERNAME', + PROJECT_BRANDING_BANNER = 'PROJECT_BRANDING_BANNER', // User VERIFY_LOGIN = 'VERIFY_LOGIN', BALANCE = 'BALANCE', @@ -39,6 +40,8 @@ export enum RIGHTS { USER = 'USER', GMS_USER_PLAYGROUND = 'GMS_USER_PLAYGROUND', HUMHUB_AUTO_LOGIN = 'HUMHUB_AUTO_LOGIN', + PROJECT_BRANDING_VIEW = 'PROJECT_BRANDING_VIEW', + LIST_HUMHUB_SPACES = 'LIST_HUMHUB_SPACES', // Moderator SEARCH_USERS = 'SEARCH_USERS', ADMIN_CREATE_CONTRIBUTION = 'ADMIN_CREATE_CONTRIBUTION', @@ -64,4 +67,5 @@ export enum RIGHTS { COMMUNITY_BY_IDENTIFIER = 'COMMUNITY_BY_IDENTIFIER', HOME_COMMUNITY = 'HOME_COMMUNITY', COMMUNITY_UPDATE = 'COMMUNITY_UPDATE', + PROJECT_BRANDING_MUTATE = 'PROJECT_BRANDING_MUTATE', } diff --git a/backend/src/auth/USER_RIGHTS.ts b/backend/src/auth/USER_RIGHTS.ts index de8e54af1..445bc2093 100644 --- a/backend/src/auth/USER_RIGHTS.ts +++ b/backend/src/auth/USER_RIGHTS.ts @@ -31,4 +31,6 @@ export const USER_RIGHTS = [ RIGHTS.USER, RIGHTS.GMS_USER_PLAYGROUND, RIGHTS.HUMHUB_AUTO_LOGIN, + RIGHTS.PROJECT_BRANDING_VIEW, + RIGHTS.LIST_HUMHUB_SPACES, ] diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index a49e882aa..3c5f45d04 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -81,8 +81,8 @@ const loginServer = { } const email = { - EMAIL: process.env.EMAIL === 'true' ?? false, - EMAIL_TEST_MODUS: process.env.EMAIL_TEST_MODUS === 'true' ?? false, + EMAIL: process.env.EMAIL === 'true' || false, + EMAIL_TEST_MODUS: process.env.EMAIL_TEST_MODUS === 'true' || false, EMAIL_TEST_RECEIVER: process.env.EMAIL_TEST_RECEIVER ?? 'stage1@gradido.net', EMAIL_USERNAME: process.env.EMAIL_USERNAME ?? '', EMAIL_SENDER: process.env.EMAIL_SENDER ?? 'info@gradido.net', @@ -123,7 +123,7 @@ const federation = { process.env.FEDERATION_VALIDATE_COMMUNITY_TIMER ?? 60000, ), FEDERATION_XCOM_SENDCOINS_ENABLED: - process.env.FEDERATION_XCOM_SENDCOINS_ENABLED === 'true' ?? false, + process.env.FEDERATION_XCOM_SENDCOINS_ENABLED === 'true' || false, // default value for community-uuid is equal uuid of stage-3 FEDERATION_XCOM_RECEIVER_COMMUNITY_UUID: process.env.FEDERATION_XCOM_RECEIVER_COMMUNITY_UUID ?? '56a55482-909e-46a4-bfa2-cd025e894ebc', diff --git a/backend/src/emails/sendEmailVariants.ts b/backend/src/emails/sendEmailVariants.ts index 5276a473a..3373f17ad 100644 --- a/backend/src/emails/sendEmailVariants.ts +++ b/backend/src/emails/sendEmailVariants.ts @@ -40,6 +40,7 @@ export const sendAccountActivationEmail = (data: { language: string activationLink: string timeDurationObject: Record + logoUrl?: string | null }): Promise | boolean | null> => { return sendEmailTranslated({ receiver: { to: `${data.firstName} ${data.lastName} <${data.email}>` }, @@ -50,6 +51,7 @@ export const sendAccountActivationEmail = (data: { locale: data.language, activationLink: data.activationLink, timeDurationObject: data.timeDurationObject, + logoUrl: data.logoUrl, resendLink: CONFIG.EMAIL_LINK_FORGOTPASSWORD, supportEmail: CONFIG.COMMUNITY_SUPPORT_MAIL, communityURL: CONFIG.COMMUNITY_URL, diff --git a/backend/src/emails/templates/accountActivation/html.pug b/backend/src/emails/templates/accountActivation/html.pug index 027dcbc63..6b5dd41c3 100644 --- a/backend/src/emails/templates/accountActivation/html.pug +++ b/backend/src/emails/templates/accountActivation/html.pug @@ -1,6 +1,8 @@ extend ../layout.pug block content + if logoUrl + img(src=logoUrl, alt="Banner", style="max-width: 680px; max-height: 250px;border-radius:20px") h2= t('emails.accountActivation.title') .text-block include ../includes/salutation.pug diff --git a/backend/src/graphql/arg/CreateUserArgs.ts b/backend/src/graphql/arg/CreateUserArgs.ts index 28105559d..d7182d81b 100644 --- a/backend/src/graphql/arg/CreateUserArgs.ts +++ b/backend/src/graphql/arg/CreateUserArgs.ts @@ -30,4 +30,8 @@ export class CreateUserArgs { @Field(() => String, { nullable: true }) @IsString() redeemCode?: string | null + + @Field(() => String, { nullable: true }) + @IsString() + project?: string | null } diff --git a/backend/src/graphql/arg/UnsecureLoginArgs.ts b/backend/src/graphql/arg/UnsecureLoginArgs.ts index 5e82f12f3..72459df27 100644 --- a/backend/src/graphql/arg/UnsecureLoginArgs.ts +++ b/backend/src/graphql/arg/UnsecureLoginArgs.ts @@ -14,4 +14,8 @@ export class UnsecureLoginArgs { @Field(() => Int, { nullable: true }) @IsInt() publisherId?: number | null + + @Field(() => String, { nullable: true }) + @IsString() + project?: string | null } diff --git a/backend/src/graphql/input/ProjectBrandingInput.ts b/backend/src/graphql/input/ProjectBrandingInput.ts new file mode 100644 index 000000000..16585c858 --- /dev/null +++ b/backend/src/graphql/input/ProjectBrandingInput.ts @@ -0,0 +1,44 @@ +import { IsString, IsOptional, MaxLength, IsNumber, IsBoolean, IsUrl } from 'class-validator' +import { InputType, Field, Int } from 'type-graphql' + +@InputType() +export class ProjectBrandingInput { + @Field(() => Int, { nullable: true }) + @IsOptional() + id: number | null | undefined + + @Field(() => String) + @IsString() + name: string + + @Field(() => String) + @IsString() + @MaxLength(32) + alias: string + + @Field(() => String, { nullable: true }) + @IsOptional() + @IsString() + description: string | null | undefined + + @Field(() => Int, { nullable: true }) + @IsNumber() + @IsOptional() + spaceId: number | null | undefined + + @Field(() => String, { nullable: true }) + @IsOptional() + @IsString() + @IsUrl() + spaceUrl: string | null | undefined + + @Field(() => Boolean) + @IsBoolean() + newUserToSpace: boolean + + @Field(() => String, { nullable: true }) + @IsOptional() + @IsString() + @IsUrl() + logoUrl: string | null | undefined +} diff --git a/backend/src/graphql/model/Pagination.ts b/backend/src/graphql/model/Pagination.ts new file mode 100644 index 000000000..761b57699 --- /dev/null +++ b/backend/src/graphql/model/Pagination.ts @@ -0,0 +1,19 @@ +import { ObjectType, Field, Int } from 'type-graphql' + +@ObjectType() +export class Pagination { + @Field(() => Int) + total: number + + @Field(() => Int) + page: number + + @Field(() => Int) + pages: number + + constructor(total: number, page: number, pages: number) { + this.total = total + this.page = page + this.pages = pages + } +} diff --git a/backend/src/graphql/model/ProjectBranding.ts b/backend/src/graphql/model/ProjectBranding.ts new file mode 100644 index 000000000..c76289405 --- /dev/null +++ b/backend/src/graphql/model/ProjectBranding.ts @@ -0,0 +1,33 @@ +import { ProjectBranding as dbProjectBranding } from '@entity/ProjectBranding' +import { ObjectType, Field, Int } from 'type-graphql' + +@ObjectType() +export class ProjectBranding { + constructor(projectBranding: dbProjectBranding) { + Object.assign(this, projectBranding) + } + + @Field(() => Int) + id: number + + @Field(() => String) + name: string + + @Field(() => String) + alias: string + + @Field(() => String, { nullable: true }) + description: string | null + + @Field(() => Int, { nullable: true }) + spaceId: number | null + + @Field(() => String, { nullable: true }) + spaceUrl: string | null + + @Field(() => Boolean) + newUserToSpace: boolean + + @Field(() => String, { nullable: true }) + logoUrl: string | null +} diff --git a/backend/src/graphql/model/Space.ts b/backend/src/graphql/model/Space.ts new file mode 100644 index 000000000..6f3a3cdfa --- /dev/null +++ b/backend/src/graphql/model/Space.ts @@ -0,0 +1,25 @@ +import { ObjectType, Field, Int } from 'type-graphql' + +import { Space as HumhubSpace } from '@/apis/humhub/model/Space' + +@ObjectType() +export class Space { + @Field(() => Int) + id: number + + @Field(() => String) + guid: string + + @Field(() => String) + name: string + + @Field(() => String) + description: string + + @Field(() => String) + url: string + + constructor(data: HumhubSpace) { + Object.assign(this, data) + } +} diff --git a/backend/src/graphql/model/SpaceList.ts b/backend/src/graphql/model/SpaceList.ts new file mode 100644 index 000000000..311af84d7 --- /dev/null +++ b/backend/src/graphql/model/SpaceList.ts @@ -0,0 +1,20 @@ +import { ObjectType, Field } from 'type-graphql' + +import { SpacesResponse } from '@/apis/humhub/model/SpacesResponse' + +import { Pagination } from './Pagination' +import { Space } from './Space' + +@ObjectType() +export class SpaceList { + @Field(() => Pagination) + pagination: Pagination + + @Field(() => [Space]) + results: Space[] + + constructor(data: SpacesResponse) { + this.pagination = new Pagination(data.total, data.page, data.pages) + this.results = data.results + } +} diff --git a/backend/src/graphql/resolver/ContributionMessageResolver.test.ts b/backend/src/graphql/resolver/ContributionMessageResolver.test.ts index a82f623cc..ac3800703 100644 --- a/backend/src/graphql/resolver/ContributionMessageResolver.test.ts +++ b/backend/src/graphql/resolver/ContributionMessageResolver.test.ts @@ -153,9 +153,9 @@ describe('ContributionMessageResolver', () => { message: 'Test', }, }) - expect(logger.debug).toBeCalledTimes(4) + expect(logger.debug).toBeCalledTimes(5) expect(logger.debug).toHaveBeenNthCalledWith( - 4, + 5, 'use UnconfirmedContributionUserAddMessageRole', ) expect(mutationResult).toEqual( @@ -351,9 +351,9 @@ describe('ContributionMessageResolver', () => { }, }) - expect(logger.debug).toBeCalledTimes(4) + expect(logger.debug).toBeCalledTimes(5) expect(logger.debug).toHaveBeenNthCalledWith( - 4, + 5, 'use UnconfirmedContributionAdminAddMessageRole', ) @@ -386,9 +386,9 @@ describe('ContributionMessageResolver', () => { }, }) - expect(logger.debug).toBeCalledTimes(4) + expect(logger.debug).toBeCalledTimes(5) expect(logger.debug).toHaveBeenNthCalledWith( - 4, + 5, 'use UnconfirmedContributionAdminAddMessageRole', ) @@ -404,7 +404,7 @@ describe('ContributionMessageResolver', () => { }) it('logs the error "ContributionMessage was not sent successfully: Error: missing right ADMIN_CREATE_CONTRIBUTION_MESSAGE for user"', () => { - expect(logger.debug).toBeCalledTimes(4) + expect(logger.debug).toBeCalledTimes(5) expect(logger.error).toHaveBeenNthCalledWith( 1, 'missing right ADMIN_CREATE_CONTRIBUTION_MESSAGE for user', diff --git a/backend/src/graphql/resolver/ProjectBrandingResolver.ts b/backend/src/graphql/resolver/ProjectBrandingResolver.ts new file mode 100644 index 000000000..de5b5b68a --- /dev/null +++ b/backend/src/graphql/resolver/ProjectBrandingResolver.ts @@ -0,0 +1,106 @@ +import { ProjectBranding as DbProjectBranding } from '@entity/ProjectBranding' +import { Resolver, Query, Mutation, Arg, Int, Authorized, ID } from 'type-graphql' + +import { ProjectBrandingInput } from '@input/ProjectBrandingInput' +import { ProjectBranding } from '@model/ProjectBranding' +import { Space } from '@model/Space' +import { SpaceList } from '@model/SpaceList' + +import { HumHubClient } from '@/apis/humhub/HumHubClient' +import { RIGHTS } from '@/auth/RIGHTS' +import { LogError } from '@/server/LogError' +import { backendLogger as logger } from '@/server/logger' + +@Resolver(() => ProjectBranding) +export class ProjectBrandingResolver { + @Query(() => [ProjectBranding]) + @Authorized([RIGHTS.PROJECT_BRANDING_VIEW]) + async projectBrandings(): Promise { + return (await DbProjectBranding.find()).map( + (entity: DbProjectBranding) => new ProjectBranding(entity), + ) + } + + @Query(() => ProjectBranding) + @Authorized([RIGHTS.PROJECT_BRANDING_VIEW]) + async projectBranding(@Arg('id', () => Int) id: number): Promise { + const projectBrandingEntity = await DbProjectBranding.findOneBy({ id }) + if (!projectBrandingEntity) { + throw new LogError(`Project Branding with id: ${id} not found`) + } + return new ProjectBranding(projectBrandingEntity) + } + + @Query(() => String, { nullable: true }) + @Authorized([RIGHTS.PROJECT_BRANDING_BANNER]) + async projectBrandingBanner(@Arg('alias', () => String) alias: string): Promise { + const projectBrandingEntity = await DbProjectBranding.findOne({ + where: { alias }, + select: { id: true, logoUrl: true }, + }) + if (!projectBrandingEntity) { + throw new LogError(`Project Branding with alias: ${alias} not found`) + } + return projectBrandingEntity.logoUrl + } + + @Mutation(() => ProjectBranding, { nullable: true }) + @Authorized([RIGHTS.PROJECT_BRANDING_MUTATE]) + async upsertProjectBranding( + @Arg('input') input: ProjectBrandingInput, + ): Promise { + const projectBranding = input.id + ? await DbProjectBranding.findOneOrFail({ where: { id: input.id } }) + : new DbProjectBranding() + + Object.assign(projectBranding, input) + await projectBranding.save() + + return new ProjectBranding(projectBranding) + } + + @Mutation(() => Boolean) + @Authorized([RIGHTS.PROJECT_BRANDING_MUTATE]) + async deleteProjectBranding(@Arg('id', () => ID) id: number): Promise { + try { + await DbProjectBranding.delete({ id }) + return true + } catch (err) { + logger.error(err) + return false + } + } + + @Query(() => Space) + @Authorized([RIGHTS.LIST_HUMHUB_SPACES]) + async space(@Arg('id', () => ID) id: number): Promise { + const humhub = HumHubClient.getInstance() + if (!humhub) { + throw new LogError('HumHub client not initialized') + } + + const space = await humhub.space(id) + if (!space) { + throw new LogError(`Error requesting space with id: ${id} from HumHub`) + } + return new Space(space) + } + + @Query(() => SpaceList) + @Authorized([RIGHTS.LIST_HUMHUB_SPACES]) + async spaces( + @Arg('page', () => Int, { defaultValue: 1 }) page: number, + @Arg('limit', () => Int, { defaultValue: 20 }) limit: number, + ): Promise { + const humhub = HumHubClient.getInstance() + if (!humhub) { + throw new LogError('HumHub client not initialized') + } + const offset = (page - 1) * limit + const spaces = await humhub.spaces(offset, limit) + if (!spaces) { + throw new LogError('Error requesting spaces from HumHub') + } + return new SpaceList(spaces) + } +} diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index 93d5777f8..bb313bfad 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -4,6 +4,7 @@ /* eslint-disable @typescript-eslint/restrict-template-expressions */ import { getConnection, In, Point } from '@dbTools/typeorm' import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' +import { ProjectBranding } from '@entity/ProjectBranding' import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink' import { User as DbUser } from '@entity/User' import { UserContact as DbUserContact } from '@entity/UserContact' @@ -145,10 +146,10 @@ export class UserResolver { @Authorized([RIGHTS.LOGIN]) @Mutation(() => User) async login( - @Args() { email, password, publisherId }: UnsecureLoginArgs, + @Args() { email, password, publisherId, project }: UnsecureLoginArgs, @Ctx() context: Context, ): Promise { - logger.info(`login with ${email}, ***, ${publisherId} ...`) + logger.info(`login with ${email}, ***, ${publisherId}, project=${project} ...`) email = email.trim().toLowerCase() let dbUser: DbUser @@ -177,6 +178,7 @@ export class UserResolver { // request to humhub and klicktipp run in parallel let humhubUserPromise: Promise> | undefined + let projectBrandingPromise: Promise | undefined const klicktippStatePromise = getKlicktippState(dbUser.emailContact.email) if (CONFIG.HUMHUB_ACTIVE && dbUser.humhubAllowed) { const getHumhubUser = new PostUser(dbUser) @@ -184,6 +186,12 @@ export class UserResolver { getHumhubUser.account.username, ) } + if (project) { + projectBrandingPromise = ProjectBranding.findOne({ + where: { alias: project }, + select: { spaceId: true }, + }) + } if (dbUser.passwordEncryptionType !== PasswordEncryptionType.GRADIDO_ID) { dbUser.passwordEncryptionType = PasswordEncryptionType.GRADIDO_ID @@ -213,11 +221,20 @@ export class UserResolver { }) await EVENT_USER_LOGIN(dbUser) + const projectBranding = await projectBrandingPromise + logger.debug('project branding: ', projectBranding) // load humhub state if (humhubUserPromise) { try { const result = await humhubUserPromise user.humhubAllowed = result?.result?.account.status === 1 + if (user.humhubAllowed) { + let spaceId = null + if (projectBranding) { + spaceId = projectBranding.spaceId + } + void syncHumhub(null, dbUser, spaceId) + } } catch (e) { logger.error("couldn't reach out to humhub, disable for now", e) user.humhubAllowed = false @@ -249,11 +266,12 @@ export class UserResolver { language, publisherId = null, redeemCode = null, + project = null, }: CreateUserArgs, ): Promise { logger.addContext('user', 'unknown') logger.info( - `createUser(email=${email}, firstName=${firstName}, lastName=${lastName}, language=${language}, publisherId=${publisherId}, redeemCode =${redeemCode})`, + `createUser(email=${email}, firstName=${firstName}, lastName=${lastName}, language=${language}, publisherId=${publisherId}, redeemCode=${redeemCode}, project=${project})`, ) // TODO: wrong default value (should be null), how does graphql work here? Is it an required field? // default int publisher_id = 0; @@ -308,7 +326,13 @@ export class UserResolver { return user } } - + let projectBrandingPromise: Promise | undefined + if (project) { + projectBrandingPromise = ProjectBranding.findOne({ + where: { alias: project }, + select: { logoUrl: true, spaceId: true }, + }) + } const gradidoID = await newGradidoID() const eventRegisterRedeem = Event( @@ -356,6 +380,7 @@ export class UserResolver { const queryRunner = getConnection().createQueryRunner() await queryRunner.connect() await queryRunner.startTransaction('REPEATABLE READ') + let projectBranding: ProjectBranding | null | undefined try { dbUser = await queryRunner.manager.save(dbUser).catch((error) => { throw new LogError('Error while saving dbUser', error) @@ -373,8 +398,11 @@ export class UserResolver { const activationLink = `${ CONFIG.EMAIL_LINK_VERIFICATION - }${emailContact.emailVerificationCode.toString()}${redeemCode ? `/${redeemCode}` : ''}` + }${emailContact.emailVerificationCode.toString()}${redeemCode ? `/${redeemCode}` : ''}${ + project ? `?project=` + project : '' + }` + projectBranding = projectBrandingPromise ? await projectBrandingPromise : undefined void sendAccountActivationEmail({ firstName, lastName, @@ -382,6 +410,7 @@ export class UserResolver { language, activationLink, timeDurationObject: getTimeDurationObject(CONFIG.EMAIL_CODE_VALID_TIME), + logoUrl: projectBranding?.logoUrl, }) logger.info(`sendAccountActivationEmail of ${firstName}.${lastName} to ${email}`) @@ -397,7 +426,11 @@ export class UserResolver { } logger.info('createUser() successful...') if (CONFIG.HUMHUB_ACTIVE) { - void syncHumhub(null, dbUser) + let spaceId: number | null = null + if (projectBranding) { + spaceId = projectBranding.spaceId + } + void syncHumhub(null, dbUser, spaceId) } if (redeemCode) { @@ -771,7 +804,10 @@ export class UserResolver { @Authorized([RIGHTS.HUMHUB_AUTO_LOGIN]) @Query(() => String) - async authenticateHumhubAutoLogin(@Ctx() context: Context): Promise { + async authenticateHumhubAutoLogin( + @Ctx() context: Context, + @Arg('project', () => String, { nullable: true }) project?: string | null, + ): Promise { logger.info(`authenticateHumhubAutoLogin()...`) const dbUser = getUser(context) const humhubClient = HumHubClient.getInstance() @@ -790,7 +826,7 @@ export class UserResolver { if (humhubUser.account.status !== 1) { throw new LogError('user status is not 1', humhubUser.account.status) } - return await humhubClient.createAutoLoginUrl(humhubUser.account.username) + return await humhubClient.createAutoLoginUrl(humhubUser.account.username, project) } @Authorized([RIGHTS.SEARCH_ADMIN_USERS]) diff --git a/backend/src/graphql/resolver/util/creations.test.ts b/backend/src/graphql/resolver/util/creations.test.ts index 8b59d0b14..154520b85 100644 --- a/backend/src/graphql/resolver/util/creations.test.ts +++ b/backend/src/graphql/resolver/util/creations.test.ts @@ -5,6 +5,7 @@ import { ApolloServerTestClient } from 'apollo-server-testing' import { testEnvironment, cleanDB, contributionDateFormatter } from '@test/helpers' +import { CONFIG } from '@/config' import { userFactory } from '@/seeds/factory/user' import { login, createContribution, adminCreateContribution } from '@/seeds/graphql/mutations' import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' @@ -14,6 +15,8 @@ import { getOpenCreations, getUserCreation } from './creations' jest.mock('@/password/EncryptorUtils') +CONFIG.HUMHUB_ACTIVE = false + let mutate: ApolloServerTestClient['mutate'], con: Connection let testEnv: { mutate: ApolloServerTestClient['mutate'] @@ -272,6 +275,7 @@ describe('util/creation', () => { }) }) }) + describe('getOpenCreations', () => { beforeAll(() => { // enable Fake timers diff --git a/backend/src/graphql/resolver/util/syncHumhub.ts b/backend/src/graphql/resolver/util/syncHumhub.ts index c229df655..b8becd8a2 100644 --- a/backend/src/graphql/resolver/util/syncHumhub.ts +++ b/backend/src/graphql/resolver/util/syncHumhub.ts @@ -6,10 +6,17 @@ import { ExecutedHumhubAction, syncUser } from '@/apis/humhub/syncUser' import { UpdateUserInfosArgs } from '@/graphql/arg/UpdateUserInfosArgs' import { backendLogger as logger } from '@/server/logger' +/** + * Syncs the user with humhub + * @param updateUserInfosArg + * @param user + * @returns humhub user id or undefined + */ export async function syncHumhub( updateUserInfosArg: UpdateUserInfosArgs | null, user: User, -): Promise { + spaceId?: number | null, +): Promise { // check for humhub relevant changes if ( updateUserInfosArg && @@ -47,4 +54,9 @@ export async function syncHumhub( // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion result: ExecutedHumhubAction[result as ExecutedHumhubAction], }) + if (spaceId && humhubUser) { + await humhubClient.addUserToSpace(humhubUser.id, spaceId) + logger.debug(`user added to space ${spaceId}`) + } + return user.id } diff --git a/database/entity/0088-create_project_brandings/ProjectBranding.ts b/database/entity/0088-create_project_brandings/ProjectBranding.ts new file mode 100644 index 000000000..449dc62ee --- /dev/null +++ b/database/entity/0088-create_project_brandings/ProjectBranding.ts @@ -0,0 +1,28 @@ +import { Entity, PrimaryGeneratedColumn, Column, BaseEntity } from 'typeorm' + +@Entity('project_brandings') +export class ProjectBranding extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ name: 'name', type: 'varchar', length: 255 }) + name: string + + @Column({ name: 'alias', type: 'varchar', length: 32 }) + alias: string + + @Column({ name: 'description', type: 'text', nullable: true, default: null }) + description: string | null + + @Column({ name: 'space_id', type: 'int', unsigned: true, nullable: true, default: null }) + spaceId: number | null + + @Column({ name: 'space_url', type: 'varchar', length: 255, nullable: true, default: null }) + spaceUrl: string | null + + @Column({ name: 'new_user_to_space', type: 'tinyint', width: 1, default: 0 }) + newUserToSpace: boolean + + @Column({ name: 'logo_url', type: 'varchar', length: 255, nullable: true, default: null }) + logoUrl: string | null +} diff --git a/database/entity/ProjectBranding.ts b/database/entity/ProjectBranding.ts new file mode 100644 index 000000000..0622d00ef --- /dev/null +++ b/database/entity/ProjectBranding.ts @@ -0,0 +1 @@ +export { ProjectBranding } from './0088-create_project_brandings/ProjectBranding' diff --git a/database/entity/index.ts b/database/entity/index.ts index 3352abdb4..138df80ae 100644 --- a/database/entity/index.ts +++ b/database/entity/index.ts @@ -2,6 +2,7 @@ import { ContributionLink } from './ContributionLink' import { LoginElopageBuys } from './LoginElopageBuys' import { LoginEmailOptIn } from './LoginEmailOptIn' import { Migration } from './Migration' +import { ProjectBranding } from './ProjectBranding' import { Transaction } from './Transaction' import { TransactionLink } from './TransactionLink' import { User } from './User' @@ -26,6 +27,7 @@ export const entities = [ LoginElopageBuys, LoginEmailOptIn, Migration, + ProjectBranding, PendingTransaction, Transaction, TransactionLink, diff --git a/database/migrations/0088-create_project_brandings.ts b/database/migrations/0088-create_project_brandings.ts new file mode 100644 index 000000000..9a0c56dc2 --- /dev/null +++ b/database/migrations/0088-create_project_brandings.ts @@ -0,0 +1,26 @@ +/* MIGRATION TO CREATE THE project_brandings table + * + * This migration creates the `community` and 'communityfederation' tables in the `apollo` database (`gradido_community`). + */ +/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ +/* eslint-disable @typescript-eslint/no-explicit-any */ + +export async function upgrade(queryFn: (query: string, values?: any[]) => Promise>) { + await queryFn(` + CREATE TABLE \`project_brandings\`( + \`id\` INT UNSIGNED NOT NULL AUTO_INCREMENT, + \`name\` VARCHAR(255) NOT NULL, + \`alias\` VARCHAR(32) NOT NULL, + \`description\` TEXT NULL DEFAULT NULL, + \`space_id\` INT UNSIGNED NULL DEFAULT NULL, + \`space_url\` VARCHAR(255) NULL DEFAULT NULL, + \`new_user_to_space\` TINYINT(1) NOT NULL DEFAULT FALSE, + \`logo_url\` VARCHAR(255) NULL DEFAULT NULL, + PRIMARY KEY(\`id\`) + ) ENGINE = InnoDB; + `) +} + +export async function downgrade(queryFn: (query: string, values?: any[]) => Promise>) { + await queryFn('DROP TABLE `project_brandings`') +} diff --git a/frontend/.gitignore b/frontend/.gitignore index e6e4f7a5e..b527252d0 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -2,6 +2,7 @@ node_modules/ build/ src/assets/css/gradido.css +src/assets/css/gradido.css.map .cache/ .yarn/install-state.gz diff --git a/frontend/package.json b/frontend/package.json index d927419a8..f18abf73c 100755 --- a/frontend/package.json +++ b/frontend/package.json @@ -106,6 +106,7 @@ "unplugin-icons": "^0.19.1", "unplugin-vue-components": "^0.27.3", "vite-plugin-environment": "^1.1.3", + "vite-plugin-graphql-loader": "^4.0.4", "vite-plugin-html": "^3.2.2", "vitest": "^2.0.5", "vitest-canvas-mock": "^0.3.3" diff --git a/frontend/src/assets/css/gradido.css.map b/frontend/src/assets/css/gradido.css.map deleted file mode 100644 index 3faf9e251..000000000 --- a/frontend/src/assets/css/gradido.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sourceRoot":"","sources":["../scss/custom/gradido-custom/_buttons.scss","../scss/gradido-template.scss","../scss/gradido-template-dark.scss","../../../node_modules/bootstrap/scss/_alert.scss","../../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../../node_modules/bootstrap/scss/_variables.scss","../../../node_modules/bootstrap/scss/_badge.scss","../../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../../node_modules/bootstrap/scss/_dropdown.scss","../../../node_modules/bootstrap/scss/mixins/_caret.scss","../../../node_modules/bootstrap/scss/mixins/_box-shadow.scss","../../../node_modules/bootstrap/scss/mixins/_breakpoints.scss","../scss/custom/gradido-custom/_fonts.scss","../../../node_modules/bootstrap/scss/mixins/_gradients.scss","../../../node_modules/bootstrap/scss/_button-group.scss","../../../node_modules/bootstrap/scss/_buttons.scss","../../../node_modules/bootstrap/scss/mixins/_transition.scss","../../../node_modules/bootstrap/scss/mixins/_buttons.scss","../scss/custom/gradido-custom/_links.scss","../../../node_modules/bootstrap/scss/_card.scss","../../../node_modules/bootstrap/scss/_carousel.scss","../../../node_modules/bootstrap/scss/mixins/_clearfix.scss","../../../node_modules/bootstrap/scss/_close.scss","../../../node_modules/bootstrap/scss/forms/_labels.scss","../../../node_modules/bootstrap/scss/forms/_form-text.scss","../../../node_modules/bootstrap/scss/forms/_form-control.scss","../scss/custom/gradido-custom/_color.scss","../scss/custom/gradido-custom/_input.scss","../scss/custom/gradido-custom/_buttons-forms.scss","../../../node_modules/bootstrap/scss/forms/_form-select.scss","../../../node_modules/bootstrap/scss/forms/_form-check.scss","../../../node_modules/bootstrap/scss/forms/_form-range.scss","../../../node_modules/bootstrap/scss/forms/_floating-labels.scss","../../../node_modules/bootstrap/scss/forms/_input-group.scss","../../../node_modules/bootstrap/scss/mixins/_forms.scss","../../../node_modules/bootstrap/scss/_grid.scss","../../../node_modules/bootstrap/scss/mixins/_grid.scss","../../../node_modules/bootstrap/scss/_list-group.scss","../../../node_modules/bootstrap/scss/_modal.scss","../../../node_modules/bootstrap/scss/mixins/_backdrop.scss","../../../node_modules/bootstrap/scss/_nav.scss","../../../node_modules/bootstrap/scss/_navbar.scss","../scss/custom/gradido-custom/_navs.scss","../../../node_modules/bootstrap/scss/_pagination.scss","../../../node_modules/bootstrap/scss/mixins/_lists.scss","../../../node_modules/bootstrap/scss/mixins/_pagination.scss","../../../node_modules/bootstrap/scss/_progress.scss","../../../node_modules/bootstrap/scss/_reboot.scss","../../../node_modules/bootstrap/scss/_tables.scss","../scss/custom/gradido-custom/_spacing.scss","../scss/custom/gradido-custom/_components.scss","../../../node_modules/bootstrap/scss/mixins/_table-variants.scss","../../../node_modules/bootstrap/scss/_toasts.scss","../../../node_modules/bootstrap/scss/_tooltip.scss","../../../node_modules/bootstrap/scss/mixins/_reset-text.scss","../../../node_modules/bootstrap/scss/_transitions.scss","../../../node_modules/bootstrap/scss/_type.scss","../../../node_modules/bootstrap/scss/mixins/_banner.scss","../../../node_modules/bootstrap/scss/_containers.scss","../../../node_modules/bootstrap/scss/mixins/_container.scss","../../../node_modules/bootstrap/scss/mixins/_utilities.scss","../../../node_modules/bootstrap/scss/utilities/_api.scss","../../../node_modules/bootstrap/scss/_root.scss","../../../node_modules/bootstrap/scss/mixins/_color-mode.scss","../../../node_modules/bootstrap/scss/_images.scss","../../../node_modules/bootstrap/scss/mixins/_image.scss","../../../node_modules/bootstrap/scss/_accordion.scss","../../../node_modules/bootstrap/scss/_breadcrumb.scss","../../../node_modules/bootstrap/scss/_popover.scss","../../../node_modules/bootstrap/scss/_spinners.scss","../../../node_modules/bootstrap/scss/_offcanvas.scss","../../../node_modules/bootstrap/scss/_placeholders.scss","../../../node_modules/bootstrap/scss/helpers/_color-bg.scss","../../../node_modules/bootstrap/scss/helpers/_colored-links.scss","../../../node_modules/bootstrap/scss/helpers/_focus-ring.scss","../../../node_modules/bootstrap/scss/helpers/_icon-link.scss","../../../node_modules/bootstrap/scss/helpers/_ratio.scss","../../../node_modules/bootstrap/scss/helpers/_position.scss","../../../node_modules/bootstrap/scss/helpers/_stacks.scss","../../../node_modules/bootstrap/scss/helpers/_visually-hidden.scss","../../../node_modules/bootstrap/scss/mixins/_visually-hidden.scss","../../../node_modules/bootstrap/scss/helpers/_stretched-link.scss","../../../node_modules/bootstrap/scss/helpers/_text-truncation.scss","../../../node_modules/bootstrap/scss/mixins/_text-truncate.scss","../../../node_modules/bootstrap/scss/helpers/_vr.scss"],"names":[],"mappings":";AAwBA;EACE;;;AAGF;EACE;;;AC7BF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AACA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;AACA;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AC5WA;EACE,kBALG;EAMH;;;AAQF;AAAA;AAAA;AAAA;EACE;;;ACXJ;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;ECHE;;;ADQJ;EAEE;;;AAIF;EACE,aE6kB4B;EF5kB5B;;;AAQF;EACE,eEs+C8B;;AFn+C9B;EACE;EACA;EACA;EACA;EACA;;;AAQF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AG3DJ;EAEE;EACA;ECuRI,sBALI;EDhRR;EACA;EACA;EAGA;EACA;EC+QI,WALI;EDxQR;EACA;EACA;EACA;EACA;EACA;EFJE;;AESF;EACE;;;AAKJ;EACE;EACA;;;AEnCF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;AAGF;EACE;;ACwBE;EACE;EACA,aJ6hBwB;EI5hBxB,gBJ2hBwB;EI1hBxB;EArCJ;EACA;EACA;EACA;;AA0DE;EACE;;;AD9CN;EAEE;EACA;EACA;EACA;EACA;EDuQI,yBALI;EChQR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;ED0OI,WALI;ECnOR;EACA;EACA;EACA;EACA;EACA;EJzCE;EMLE,YARW;;AF0Df;EACE;EACA;EACA;;;AAwBA;EACE;;AAEA;EACE;EACA;;;AAIJ;EACE;;AAEA;EACE;EACA;;;AG1CJ;EH4BA;IACE;;EAEA;IACE;IACA;;EAIJ;IACE;;EAEA;IACE;IACA;;;AG1CJ;EH4BA;IACE;;EAEA;IACE;IACA;;EAIJ;IACE;;EAEA;IACE;IACA;;;AG1CJ;EH4BA;IACE;;EAEA;IACE;IACA;;EAIJ;IACE;;EAEA;IACE;IACA;;;AG1CJ;EH4BA;IACE;;EAEA;IACE;IACA;;EAIJ;IACE;;EAEA;IACE;IACA;;;AAUN;EACE;EACA;EACA;EACA;;ACpFA;EACE;EACA,aJ6hBwB;EI5hBxB,gBJ2hBwB;EI1hBxB;EA9BJ;EACA;EACA;EACA;;AAmDE;EACE;;;ADgEJ;EACE;EACA;EACA;EACA;EACA;;AClGA;EACE;EACA,aJ6hBwB;EI5hBxB,gBJ2hBwB;EI1hBxB;EAvBJ;EACA;EACA;EACA;;AA4CE;EACE;;AD0EF;EACE;;;AAMJ;EACE;EACA;EACA;EACA;EACA;;ACnHA;EACE;EACA,aJ6hBwB;EI5hBxB,gBJ2hBwB;EI1hBxB;;AAWA;EACE;;AAGF;EACE;EACA,cJ0gBsB;EIzgBtB,gBJwgBsB;EIvgBtB;EAnCN;EACA;EACA;;AAsCE;EACE;;AD2FF;EACE;;;AAON;EACE;EACA;EACA;EACA;EACA;;;AAMF;EACE;EACA;EACA;EACA;EACA,aI1KmB;EJ2KnB;EACA;EAEA;EACA;EACA;EJtKE;;AIyKF;EAEE;EK1LF,kBL4LuB;;AAGvB;EAEE;EACA;EKlMF,kBLmMuB;;AAGvB;EAEE;EACA;EACA;;;AAMJ;EACE;;;AAIF;EACE;EACA;EACA;EDmEI,WALI;EC5DR;EACA;;;AAIF;EACE;EACA;EACA;;;AAIF;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AMtPF;AAAA;EAEE;EACA;EACA;;AAEA;AAAA;EACE;EACA;;AAKF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;;;AAIJ;EVhBI;;AUoBF;AAAA;EAEE;;AAIF;AAAA;AAAA;EVVE;EACA;;AUmBF;AAAA;AAAA;EVNE;EACA;;;AUwBJ;EACE;EACA;;AAEA;EAGE;;AAGF;EACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAMF;EJxFM,YARW;;AIoGf;EJ5FI,YARW;;;AI8GjB;EACE;EACA;EACA;;AAEA;AAAA;EAEE;;AAGF;AAAA;EAEE;;AAIF;AAAA;EV1FE;EACA;;AU8FF;AAAA;EV7GE;EACA;;;AWzBJ;EAEE;EACA;EACA;ERuRI,oBALI;EQhRR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;ERsQI,WALI;EQ/PR;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EXjBE;ESfF,kBEkCqB;ELxBjB,YARW;EMUX,YDwBJ;;ACpBI;EDhBN;ICiBQ;;;ADqBN;EACE;EAEA;EACA;;AAGF;EAEE;EACA;EACA;;AAGF;EACE;EFrDF,kBEsDuB;EACrB;EACA;EAGE;;AAMJ;EACE;EACA;EAGE;;AAMJ;EAKE;EACA;EAGA;EL3EE,YARW;;AKsFb;EAGI;;AAON;EAGI;;AAMJ;EAGE;EACA;EACA;EAEA;EACA;ELzGE,YARW;;;AK6Hf;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AF4HA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;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CA;EACA;EhB8QI,WALI;EgBrQR,aXPkB;;;AWWpB;EACE;EACA;EhBoQI,WALI;;;AgB3PV;EACE;EACA;EhB8PI,WALI;;;AiBtRV;EACE,YnB+1BsC;EErkBlC,WALI;EiBjRR,OnB+1BsC;;;AoBp2BxC;EACE;EACA;EACA;ElBwRI,WALI;EkBhRR,apBkmB4B;EoBjmB5B,abGkB;EaFlB,OCFS;EDGT;EACA,kBCVM;EDWN;EACA;ErBGE;EMLE,YARW;EMUX,YSMJ;;ATFI;EShBN;ITiBQ;;;ASGN;EACE;;AAEA;EACE;;AAKJ;EACE,OCxBO;EDyBP,kBC/BI;EDgCJ,cERuB;EFSvB;EfvBE,YARW;;AewCf;EAME;EAMA;EAKA;;AAKF;EACE;EACA;;AAIF;EACE,OClEO;EDoEP;;AAQF;EAEE,kBCjFO;EDoFP;;AAIF;EACE;EACA;EACA,mBG9FkB;EH+FlB,OpBsyBoC;EQp4BtC,kBRqiCgC;EoBr8B9B;EACA;EACA;EACA;EACA,yBG1FqB;EH2FrB;ETzFE,YS0FF;;ATtFE;ES0EJ;ITzEM;;;ASwFN;EACE,kBpB47B8B;;;AoBn7BlC;EACE;EACA;EACA;EACA;EACA,ab9GkB;Ea+GlB,OpB2xBsC;EoB1xBtC;EACA;EACA;;AAEA;EACE;;AAGF;EAEE;EACA;;;AAWJ;EACE,YpB4wBsC;EoB3wBtC;ElByII,WALI;EHvQN;;AqBuIF;EACE;EACA;EACA,mBGpJqB;;;AHwJzB;EACE,YpBgwBsC;EoB/vBtC;ElB4HI,WALI;EHvQN;;AqBoJF;EACE;EACA;EACA,mBG9JqB;;;AHsKvB;EACE,YpB6uBoC;;AoB1uBtC;EACE,YpB0uBoC;;AoBvuBtC;EACE,YpBuuBoC;;;AoBluBxC;EACE,OpBquBsC;EoBpuBtC,QpB8tBsC;EoB7tBtC,SGjMoB;;AHmMpB;EACE;;AAGF;EACE;ErBvLA;;AqB2LF;EACE;ErB5LA;;AqBgMF;EAAoB,QpB8sBkB;;AoB7sBtC;EAAoB,QpB8sBkB;;;AwB75BxC;EACE;EAEA;EACA;EACA;EtBqRI,WALI;EsB7QR,axB+lB4B;EwB9lB5B,axBsmB4B;EwBrmB5B,OxBy3BsC;EwBx3BtC;EACA,kBxBk3BsC;EwBj3BtC;EACA;EACA,qBxB+9BkC;EwB99BlC,iBxB+9BkC;EwB99BlC;EzBHE;EMLE,YARW;EMUX,YaSJ;;AbLI;EafN;IbgBQ;;;AaMN;EACE,cxBs3BoC;EwBr3BpC;EnBfE,YARW;;AmBgCf;EAEE,exB6uB0B;EwB5uB1B;;AAGF;EAEE,kBxBu1BoC;;AwBl1BtC;EACE;EACA;;;AAIJ;EACE,axBsuB4B;EwBruB5B,gBxBquB4B;EwBpuB5B,cxBquB4B;EElgBxB,WALI;EHvQN;;;AyB8CJ;EACE,axBkuB4B;EwBjuB5B,gBxBiuB4B;EwBhuB5B,cxBiuB4B;EEtgBxB,WALI;EHvQN;;;AyBwDA;EACE;;;ACxEN;EACE;EACA,YzBq6BwC;EyBp6BxC,czBq6BwC;EyBp6BxC,ezBq6BwC;;AyBn6BxC;EACE;EACA;;;AAIJ;EACE,ezB25BwC;EyB15BxC;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EAEA;EACA,OzB04BwC;EyBz4BxC,QzBy4BwC;EyBx4BxC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QzB24BwC;EyB14BxC;;AAGA;E1B3BE;;A0B+BF;EAEE,ezBm4BsC;;AyBh4BxC;EACE,QzB03BsC;;AyBv3BxC;EACE,czBs1BoC;EyBr1BpC;EACA,YzB8foB;;AyB3ftB;EACE,kBzB5BM;EyB6BN,czB7BM;;AyB+BN;EAII;;AAIJ;EAII;;AAKN;EACE,kBzBjDM;EyBkDN,czBlDM;EyBuDJ;;AAIJ;EACE;EACA;EACA,SzBk2BuC;;AyB31BvC;EACE;EACA,SzBy1BqC;;;AyB30B3C;EACE,czBo1BgC;;AyBl1BhC;EACE;EAEA,OzB80B8B;EyB70B9B;EACA;EACA;E1BjHA;EYHE,YcsHF;;AdlHE;Ec0GJ;IdzGM;;;AcmHJ;EACE;;AAGF;EACE,qBzB60B4B;EyBx0B1B;;AAKN;EACE,ezBwzB8B;EyBvzB9B;;AAEA;EACE;EACA;;;AAKN;EACE;EACA,czBsyBgC;;;AyBnyBlC;EACE;EACA;EACA;;AAIE;EACE;EACA;EACA,SzBspBwB;;;AyB/oB1B;EACE;;;ACnLN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIA;EAA0B,Y1B8gCa;;A0B7gCvC;EAA0B,Y1B6gCa;;A0B1gCzC;EACE;;AAGF;EACE,O1B+/BuC;E0B9/BvC,Q1B8/BuC;E0B7/BvC;EACA;ElB1BF,kBRkCQ;E0BNN,Q1B6/BuC;ED1gCvC;EMLE,YARW;EMUX,YemBF;;AffE;EeMJ;IfLM;;;AegBJ;ElBjCF,kBR8hCyC;;A0Bx/BzC;EACE,O1Bw+B8B;E0Bv+B9B,Q1Bw+B8B;E0Bv+B9B;EACA,Q1Bu+B8B;E0Bt+B9B,kB1Bu+B8B;E0Bt+B9B;E3B7BA;EMLE,YARW;;AqB+Cf;EACE,O1Bo+BuC;E0Bn+BvC,Q1Bm+BuC;E0Bl+BvC;ElBpDF,kBRkCQ;E0BoBN,Q1Bm+BuC;ED1gCvC;EMLE,YARW;EMUX,Ye6CF;;AfzCE;EeiCJ;IfhCM;;;Ae0CJ;ElB3DF,kBR8hCyC;;A0B99BzC;EACE,O1B88B8B;E0B78B9B,Q1B88B8B;E0B78B9B;EACA,Q1B68B8B;E0B58B9B,kB1B68B8B;E0B58B9B;E3BvDA;EMLE,YARW;;AqByEf;EACE;;AAEA;EACE,kB1Bg9BqC;;A0B78BvC;EACE,kB1B48BqC;;;A2BniC3C;EACE;;AAEA;AAAA;AAAA;EAGE,Q3BwiCoC;E2BviCpC,Y3BuiCoC;E2BtiCpC,a3BuiCoC;;A2BpiCtC;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EhBRE,YgBSF;;AhBLE;EgBTJ;IhBUM;;;AgBON;AAAA;EAEE;;AAEA;AAAA;EACE;;AAGF;AAAA;AAAA;EAEE,a3B4gCkC;E2B3gClC,gB3B4gCkC;;A2BzgCpC;AAAA;EACE,a3BugCkC;E2BtgClC,gB3BugCkC;;A2BngCtC;EACE,a3BigCoC;E2BhgCpC,gB3BigCoC;;A2B1/BpC;AAAA;AAAA;AAAA;EACE;EACA,W3B2/BkC;;A2Bz/BlC;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA,Q3Bm/BgC;E2Bl/BhC;EACA,kBN/DA;EtBeJ;;A4BuDA;EACE;EACA,W3B0+BkC;;A2Br+BpC;EACE;;AAIJ;AAAA;EAEE,O3B1EO;;A2B4EP;AAAA;EACE,kBNrFK;;;AOFX;EACE;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAGE;EACA;EACA;EACA;;AAIF;AAAA;AAAA;EAGE;;AAMF;EACE;EACA;;AAEA;EACE;;;AAWN;EACE;EACA;EACA;E1B8OI,WALI;E0BvOR,a5ByjB4B;E4BxjB5B,arBtCkB;EqBuClB,OP5CS;EO6CT;EACA;EACA,kBPpDM;EOqDN;E7BtCE;;;A6BgDJ;AAAA;AAAA;AAAA;EAIE;E1BwNI,WALI;EHvQN;;;A6ByDJ;AAAA;AAAA;AAAA;EAIE;E1B+MI,WALI;EHvQN;;;A6BkEJ;AAAA;EAEE;;;AAaE;AAAA;AAAA;AAAA;E7BjEA;EACA;;A6ByEA;AAAA;AAAA;AAAA;E7B1EA;EACA;;A6BsFF;EACE;E7B1EA;EACA;;A6B6EF;AAAA;E7B9EE;EACA;;;A8BxBF;EACE;EACA;EACA,Y7Bu0BoC;EErkBlC,WALI;E2B1PN,O7BkjCqB;;;A6B/iCvB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;E3BqPE,WALI;E2B7ON,O7BqiCqB;E6BpiCrB,kB7BoiCqB;ED/jCrB;;;A8BgCA;AAAA;AAAA;AAAA;EAEE;;;AA/CF;EAqDE,c7BuhCmB;E6BphCjB,e7B81BgC;E6B71BhC;EACA;EACA;EACA;;AAGF;EACE,c7B4gCiB;EKpkCnB,YARW;;;AwBAb;EA+EI,e7Bu0BgC;E6Bt0BhC;;;AAhFJ;EAuFE,c7Bq/BmB;;A6Bl/BjB;EAEE;EACA,e7Bq5B8B;E6Bp5B9B;EACA;;AAIJ;EACE,c7Bw+BiB;EKpkCnB,YARW;;;AwBAb;EAkHI;;;AAlHJ;EAyHE,c7Bm9BmB;;A6Bj9BnB;EACE,kB7Bg9BiB;;A6B78BnB;EACE,Y7B48BiB;;A6Bz8BnB;EACE,O7Bw8BiB;;;A6Bn8BrB;EACE;;;AA1IF;AAAA;AAAA;AAAA;AAAA;EAoJM;;;AAhIR;EACE;EACA;EACA,Y7Bu0BoC;EErkBlC,WALI;E2B1PN,O7BkjCqB;;;A6B/iCvB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;E3BqPE,WALI;E2B7ON,O7BqiCqB;E6BpiCrB,kB7BoiCqB;ED/jCrB;;;A8BgCA;AAAA;AAAA;AAAA;EAEE;;;AA/CF;EAqDE,c7BuhCmB;E6BphCjB,e7B81BgC;E6B71BhC;EACA;EACA;EACA;;AAGF;EACE,c7B4gCiB;EKpkCnB,YARW;;;AwBAb;EA+EI,e7Bu0BgC;E6Bt0BhC;;;AAhFJ;EAuFE,c7Bq/BmB;;A6Bl/BjB;EAEE;EACA,e7Bq5B8B;E6Bp5B9B;EACA;;AAIJ;EACE,c7Bw+BiB;EKpkCnB,YARW;;;AwBAb;EAkHI;;;AAlHJ;EAyHE,c7Bm9BmB;;A6Bj9BnB;EACE,kB7Bg9BiB;;A6B78BnB;EACE,Y7B48BiB;;A6Bz8BnB;EACE,O7Bw8BiB;;;A6Bn8BrB;EACE;;;AA1IF;AAAA;AAAA;AAAA;AAAA;EAsJM;;;ACxJV;EAEI;EAAA;EAAA;EAAA;EAAA;;;AAKF;ECNA;EACA;EACA;EACA;EAEA;EACA;EACA;;ADEE;ECOF;EACA;EACA;EACA;EACA;EACA;;;AA+CI;EACE;;;AAGF;EApCJ;EACA;;;AAcA;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AA+BE;EAhDJ;EACA;;;AAqDQ;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AAuEQ;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAmEM;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAPF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAPF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAPF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAPF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAPF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AzB1DN;EyBUE;IACE;;EAGF;IApCJ;IACA;;EAcA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EA+BE;IAhDJ;IACA;;EAqDQ;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EAuEQ;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAmEM;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;;AzB1DN;EyBUE;IACE;;EAGF;IApCJ;IACA;;EAcA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EA+BE;IAhDJ;IACA;;EAqDQ;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EAuEQ;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAmEM;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;;AzB1DN;EyBUE;IACE;;EAGF;IApCJ;IACA;;EAcA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EA+BE;IAhDJ;IACA;;EAqDQ;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EAuEQ;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAmEM;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;;AzB1DN;EyBUE;IACE;;EAGF;IApCJ;IACA;;EAcA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EA+BE;IAhDJ;IACA;;EAqDQ;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EAuEQ;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAmEM;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;;ACrHV;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EjCXE;;;AiCeJ;EACE;EACA;;AAEA;EAEE;EACA;;;AASJ;EACE;EACA;EACA;;AAGA;EAEE;EACA;EACA;EACA;;AAGF;EACE;EACA;;;AAQJ;EACE;EACA;EACA;EACA;EAEA;EACA;;AAEA;EjCvDE;EACA;;AiC0DF;EjC7CE;EACA;;AiCgDF;EAEE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAIF;EACE;;AAEA;EACE;EACA;;;AAaF;EACE;;AAGE;EjCvDJ;EAZA;;AiCwEI;EjCxEJ;EAYA;;AiCiEI;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;;A1BtFR;E0B8DA;IACE;;EAGE;IjCvDJ;IAZA;;EiCwEI;IjCxEJ;IAYA;;EiCiEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;A1BtFR;E0B8DA;IACE;;EAGE;IjCvDJ;IAZA;;EiCwEI;IjCxEJ;IAYA;;EiCiEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;A1BtFR;E0B8DA;IACE;;EAGE;IjCvDJ;IAZA;;EiCwEI;IjCxEJ;IAYA;;EiCiEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;A1BtFR;E0B8DA;IACE;;EAGE;IjCvDJ;IAZA;;EiCwEI;IjCxEJ;IAYA;;EiCiEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;AAcZ;EjChJI;;AiCmJF;EACE;;AAEA;EACE;;;AAaJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACxLJ;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;;;AAOF;EACE;EACA;EACA;EAEA;;AAGA;EtB5CI,YsB6CF;EACA,WjCk8CgC;;AW5+C9B;EsBwCJ;ItBvCM;;;AsB2CN;EACE,WjCg8CgC;;AiC57ClC;EACE,WjC67CgC;;;AiCz7CpC;EACE;;AAEA;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;ElCrFE;EMLE,YARW;E4BsGf;;;AAIF;EAEE;EACA;EACA;EClHA;EACA;EACA;EACA,SDkH0B;ECjH1B;EACA;EACA,kBD+G4D;;AC5G5D;EAAS;;AACT;EAAS,SD2GiF;;;AAK5F;EACE;EACA;EACA;EACA;EACA;ElCrGE;EACA;;AkCuGF;EACE;EACA;;;AAKJ;EACE;EACA;;;AAKF;EACE;EAGA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ElCzHE;EACA;;AkC8HF;EACE;;;A3B3GA;E2BiHF;IACE;IACA;;EAIF;IACE;IACA;IACA;;EAGF;IACE;;;A3B9HA;E2BmIF;AAAA;IAEE;;;A3BrIA;E2B0IF;IACE;;;AAUA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;ElCzMJ;;AkC6ME;AAAA;ElC7MF;;AkCkNE;EACE;;;A3B1JJ;E2BwIA;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;IlCzMJ;;EkC6ME;AAAA;IlC7MF;;EkCkNE;IACE;;;A3B1JJ;E2BwIA;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;IlCzMJ;;EkC6ME;AAAA;IlC7MF;;EkCkNE;IACE;;;A3B1JJ;E2BwIA;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;IlCzMJ;;EkC6ME;AAAA;IlC7MF;;EkCkNE;IACE;;;A3B1JJ;E2BwIA;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;IlCzMJ;;EkC6ME;AAAA;IlC7MF;;EkCkNE;IACE;;;AEjOR;EAEE;EACA;EAEA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EjCsQI,WALI;EiC/PR;EACA;EAEA;EACA;ExBfI,YwBgBJ;;AxBZI;EwBGN;IxBFQ;;;AwBaN;EAEE;;AAIF;EACE;EACA,YnCkhBoB;;AmC9gBtB;EAEE;EACA;EACA;;;AAQJ;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;;AAEA;EACE;EACA;EpC7CA;EACA;;AoC+CA;EAGE;EACA;;AAIJ;AAAA;EAEE;EACA;EACA;;AAGF;EAEE;EpCjEA;EACA;;;AoC2EJ;EAEE;EACA;EACA;;AAGA;EpC5FE;;AoCgGF;AAAA;EAEE;E3BjHF,kB2BkHuB;;;AASzB;EAEE;EACA;EACA;EAGA;;AAEA;EACE;EACA;EACA;;AAEA;EAEE;;AAIJ;AAAA;EAEE,a5B3Ie;E4B4If;EACA;;;AAUF;AAAA;EAEE;EACA;;;AAKF;AAAA;EAEE;EACA;EACA;;;AAMF;AAAA;EACE;;;AAUF;EACE;;AAEF;EACE;;;AC7LJ;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;;AAMA;AAAA;EACE;EACA;EACA;EACA;;AAoBJ;EACE;EACA;EACA;ElC4NI,WALI;EkCrNR;EAEA;;AAEA;EAEE;;;AAUJ;EAEE;EACA;EAEA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;;AAGE;EAEE;;AAIJ;EACE;;;AASJ;EACE,aCrHmB;EDsHnB,gBCtHmB;EDuHnB;;AAEA;AAAA;AAAA;EAGE;;;AAaJ;EACE;EACA;EAGA;;;AAIF;EACE;ElCyII,WALI;EkClIR;EACA;EACA;EACA;ErCxIE;EYHE,YyB6IJ;;AzBzII;EyBiIN;IzBhIQ;;;AyB0IN;EACE;;AAGF;EACE;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;A9B1HE;E8BsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I/BhOJ,YARW;IMUX,YyBgOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;A9B5LR;E8BsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I/BhOJ,YARW;IMUX,YyBgOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;A9B5LR;E8BsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I/BhOJ,YARW;IMUX,YyBgOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;A9B5LR;E8BsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I/BhOJ,YARW;IMUX,YyBgOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;AAtDR;EAEI;EACA;;AAEA;EACE;;AAEA;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EAEE;EACA;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;AAUF;EACE;EACA;EACA;EACA;;;AAQF;EACE;EACA;EACA;EACA,e1CmN4B;EEpatB;EwCoNN;;AxChXE;EwCyWJ;IxCtMQ;;;AwC+MN;EACE;;;AAOJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;;AAGF;EACE;;;AASF;EACE;EACA;;;AAQF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWA;EACE;;;AAKF;EACE;;;AAOF;EACE;EACA;;;AAKF;EACE;;;AAKF;EACE;;;AAOF;EACE;EACA;;;AAQF;EACE;;;AAQF;EACE;;;AC7lBF;EAEE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA,eCpBO;EDqBP,gB3CusB4B;E2CtsB5B;;AAOA;EACE;EAEA;EACA;EACA,qBEhCW;EFiCX;;AAGF;EACE;;AAGF;EACE;;;AAIJ;EACE;;;AAOF;EACE;;;AAUA;EACE;;;AAeF;EACE;;AAGA;EACE;;;AAOJ;EACE;;AAGF;EACE;;;AAUF;EACE;EACA;;;AAMF;EACE;EACA;;;AAQJ;EACE;EACA;;;AAQA;EACE;EACA;;;AG5IF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AHiJA;EACE;EACA;;;ArC3FF;EqCyFA;IAC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EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AjDVR;EiDGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;AjDVR;EiDGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;AjDVR;EiDGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;AjDVR;EiDGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;ACnCZ;ED4BQ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;AHxEV;AAAA;AAAA;AAAA;AAAA;AKDF;AAAA;EASI;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAGF;EACA;EAMA;EACA;EACA;EAOA;EvD2OI,qBALI;EuDpOR;EACA;EAKA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EAEA;EACA;EAGE;EAGF;EACA;EACA;EAGA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAIA;EACA;EACA;EAIA;EACA;EACA;EACA;;;AChHE;EDsHA;EAGA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAGE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAGF;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AfxKJ;AAAA;AAAA;EAGE;;;AAeE;EANJ;IAOM;;;;AAcN;EACE;EACA;ExC6OI,WALI;EwCtOR;EACA;EACA;EACA;EACA;EACA;EACA;;;AASF;EACE;EACA,O1CmnB4B;E0ClnB5B;EACA;EACA,S1CynB4B;;;A0C/mB9B;EACE;EACA,enC/DuB;EmCgEvB,anC/DqB;EmCiErB,anC7EiB;EmC8EjB,anChEqB;EmCiErB;;;AAGF;ExCuMQ;;AA5JJ;EwC3CJ;IxC8MQ;;;;AwCzMR;ExC8LM,WALI;;;AwCpLV;ExCyLM,WALI;;;AwC/KV;ExCoLM,WALI;;;AwC1KV;ExC+KM,WALI;;;AwCrKV;ExC0KM,WALI;;;AwC1JV;EACE;EACA,e1CwV0B;;;A0C9U5B;EACE;EACA;EACA;;;AAMF;EACE;EACA;EACA;;;AAMF;AAAA;EAEE;;;AAGF;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;;;AAGF;EACE,anCxKiB;;;AmC6KnB;EACE;EACA;;;AAMF;EACE;;;AAQF;AAAA;EAEE,a1Csa4B;;;A0C9Z9B;ExC6EM,WALI;;;AwCjEV;EACE,SnChKa;EmCiKb;EACA;;;AASF;AAAA;EAEE;ExCwDI,WALI;EwCjDR;EACA;;;AAGF;EAAM;;;AACN;EAAM;;;AAKN;EACE;EACA,iB7BjPgB;;A6BmPhB;EACE;EACA,iB7BnPoB;;;A6B6PtB;EAEE;EACA;;;AAOJ;AAAA;AAAA;AAAA;EAIE,a1CgV4B;EElUxB,WALI;;;AwCDV;EACE;EACA;EACA;EACA;ExCEI,WALI;;AwCQR;ExCHI,WALI;EwCUN;EACA;;;AAIJ;ExCVM,WALI;EwCiBR;EACA;;AAGA;EACE;;;AAIJ;EACE;ExCtBI,WALI;EwC6BR,O1Cy5CkC;E0Cx5ClC,kB1Cy5CkC;ED9rDhC;;A2CwSF;EACE;ExC7BE,WALI;;;AwC6CV;EACE;;;AAMF;AAAA;EAEE;;;AAQF;EACE;EACA;;;AAGF;EACE,a1C4X4B;E0C3X5B,gB1C2X4B;E0C1X5B,O1C4Z4B;E0C3Z5B;;;AAOF;EAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;EACA;EACA;;;AAQF;EACE;;;AAMF;EAEE;;;AAQF;EACE;;;AAKF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;ExC5HI,WALI;EwCmIR;;;AAIF;AAAA;EAEE;;;AAKF;EACE;;;AAGF;EAGE;;AAGA;EACE;;;AAOJ;EACE;;;AAQF;AAAA;AAAA;AAAA;EAIE;;AAGE;AAAA;AAAA;AAAA;EACE;;;AAON;EACE;EACA;;;AAKF;EACE;;;AAUF;EACE;EACA;EACA;EACA;;;AAQF;EACE;EACA;EACA;EACA,e1CmN4B;EEpatB;EwCoNN;;AxChXE;EwCyWJ;IxCtMQ;;;AwC+MN;EACE;;;AAOJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;;AAGF;EACE;;;AASF;EACE;EACA;;;AAQF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWA;EACE;;;AAKF;EACE;;;AAOF;EACE;EACA;;;AAKF;EACE;;;AAKF;EACE;;;AAOF;EACE;EACA;;;AAQF;EACE;;;AAQF;EACE;;;AUhmBA;AAAA;AAAA;AAAA;AAAA;AKDF;AAAA;EASI;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAGF;EACA;EAMA;EACA;EACA;EAOA;EvD2OI,qBALI;EuDpOR;EACA;EAKA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EAEA;EACA;EAGE;EAGF;EACA;EACA;EAGA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAIA;EACA;EACA;EAIA;EACA;EACA;EACA;;;AChHE;EDsHA;EAGA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAGE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAGF;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AfxKJ;AAAA;AAAA;EAGE;;;AAeE;EANJ;IAOM;;;;AAcN;EACE;EACA;ExC6OI,WALI;EwCtOR;EACA;EACA;EACA;EACA;EACA;EACA;;;AASF;EACE;EACA,O1CmnB4B;E0ClnB5B;EACA;EACA,S1CynB4B;;;A0C/mB9B;EACE;EACA,enC/DuB;EmCgEvB,anC/DqB;EmCiErB,anC7EiB;EmC8EjB,anChEqB;EmCiErB;;;AAGF;ExCuMQ;;AA5JJ;EwC3CJ;IxC8MQ;;;;AwCzMR;ExC8LM,WALI;;;AwCpLV;ExCyLM,WALI;;;AwC/KV;ExCoLM,WALI;;;AwC1KV;ExC+KM,WALI;;;AwCrKV;ExC0KM,WALI;;;AwC1JV;EACE;EACA,e1CwV0B;;;A0C9U5B;EACE;EACA;EACA;;;AAMF;EACE;EACA;EACA;;;AAMF;AAAA;EAEE;;;AAGF;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;;;AAGF;EACE,anCxKiB;;;AmC6KnB;EACE;EACA;;;AAMF;EACE;;;AAQF;AAAA;EAEE,a1Csa4B;;;A0C9Z9B;ExC6EM,WALI;;;AwCjEV;EACE,SnChKa;EmCiKb;EACA;;;AASF;AAAA;EAEE;ExCwDI,WALI;EwCjDR;EACA;;;AAGF;EAAM;;;AACN;EAAM;;;AAKN;EACE;EACA,iB7BjPgB;;A6BmPhB;EACE;EACA,iB7BnPoB;;;A6B6PtB;EAEE;EACA;;;AAOJ;AAAA;AAAA;AAAA;EAIE,a1CgV4B;EElUxB,WALI;;;AwCDV;EACE;EACA;EACA;EACA;ExCEI,WALI;;AwCQR;ExCHI,WALI;EwCUN;EACA;;;AAIJ;ExCVM,WALI;EwCiBR;EACA;;AAGA;EACE;;;AAIJ;EACE;ExCtBI,WALI;EwC6BR,O1Cy5CkC;E0Cx5ClC,kB1Cy5CkC;ED9rDhC;;A2CwSF;EACE;ExC7BE,WALI;;;AwC6CV;EACE;;;AAMF;AAAA;EAEE;;;AAQF;EACE;EACA;;;AAGF;EACE,a1C4X4B;E0C3X5B,gB1C2X4B;E0C1X5B,O1C4Z4B;E0C3Z5B;;;AAOF;EAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;EACA;EACA;;;AAQF;EACE;;;AAMF;EAEE;;;AAQF;EACE;;;AAKF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;ExC5HI,WALI;EwCmIR;;;AAIF;AAAA;EAEE;;;AAKF;EACE;;;AAGF;EAGE;;AAGA;EACE;;;AAOJ;EACE;;;AAQF;AAAA;AAAA;AAAA;EAIE;;AAGE;AAAA;AAAA;AAAA;EACE;;;AAON;EACE;EACA;;;AAKF;EACE;;;AAUF;EACE;EACA;EACA;EACA;;;AAQF;EACE;EACA;EACA;EACA,e1CmN4B;EEpatB;EwCoNN;;AxChXE;EwCyWJ;IxCtMQ;;;AwC+MN;EACE;;;AAOJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;;AAGF;EACE;;;AASF;EACE;EACA;;;AAQF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWA;EACE;;;AAKF;EACE;;;AAOF;EACE;EACA;;;AAKF;EACE;;;AAKF;EACE;;;AAOF;EACE;EACA;;;AAQF;EACE;;;AAQF;EACE;;;ASrkBF;EjDmQM,WALI;EiD5PR,a5CqBiB;;;A4ChBjB;EjDgQM;EiD5PJ,anDynBkB;EmDxnBlB,a5ChBmB;;AL+GnB;EiDpGF;IjDuQM;;;;AiDvQN;EjDgQM;EiD5PJ,anDynBkB;EmDxnBlB,a5ChBmB;;AL+GnB;EiDpGF;IjDuQM;;;;AiDvQN;EjDgQM;EiD5PJ,anDynBkB;EmDxnBlB,a5ChBmB;;AL+GnB;EiDpGF;IjDuQM;;;;AiDvQN;EjDgQM;EiD5PJ,anDynBkB;EmDxnBlB,a5ChBmB;;AL+GnB;EiDpGF;IjDuQM;;;;AiDvQN;EjDgQM;EiD5PJ,anDynBkB;EmDxnBlB,a5ChBmB;;AL+GnB;EiDpGF;IjDuQM;;;;AiDvQN;EjDgQM;EiD5PJ,anDynBkB;EmDxnBlB,a5ChBmB;;AL+GnB;EiDpGF;IjDuQM;;;;AiD/OR;EZvDE;EACA;;;AY2DF;EZ5DE;EACA;;;AY8DF;EACE;;AAEA;EACE,c5CXkB;;;A4CqBtB;EjD8MM,WALI;EiDvMR;;;AAIF;EACE,enDiUO;EE1HH,WALI;;AiD/LR;EACE;;;AAIJ;EACE;EACA,enDuTO;EE1HH,WALI;EiDtLR,OnDtFS;;AmDwFT;EACE;;;AQhGJ;ECIE;EAGA;;;ADDF;EACE,S3D+jDkC;E2D9jDlC,kB3D+jDkC;E2D9jDlC;E5DGE;EMLE,YARW;EuDKf;EAGA;;;ADcF;EAEE;;;AAGF;EACE;EACA;;;AAGF;EzDyPM,WALI;EyDlPR,O3DkjDkC;;;AqDplDlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ECHA;EACA;EACA;EACA;EACA;EACA;EACA;;;AhDsDE;E+C5CE;IACE,WrDkee;;;AMvbnB;E+C5CE;IACE,WrDkee;;;AMvbnB;E+C5CE;IACE,WrDkee;;;AMvbnB;E+C5CE;IACE,WrDkee;;;AqDnejB;EACE,WrDkee;;;A8BlfvB;EAEI;EAAA;EAAA;EAAA;EAAA;;;AAKF;ECNA;EACA;EACA;EACA;EAEA;EACA;EACA;;ADEE;ECGF;EAIA;EACA;EACA;EACA;EACA;EACA;;;AA+CI;EACE;;;AAGF;EApCJ;EACA;;;AAcA;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AA+BE;EAhDJ;EACA;;;AAqDQ;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AAuEQ;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAmEM;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAPF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAPF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAPF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAPF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAPF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AzB1DN;EyBUE;IACE;;EAGF;IApCJ;IACA;;EAcA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EA+BE;IAhDJ;IACA;;EAqDQ;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EAuEQ;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAmEM;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;;AzB1DN;EyBUE;IACE;;EAGF;IApCJ;IACA;;EAcA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EA+BE;IAhDJ;IACA;;EAqDQ;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EAuEQ;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAmEM;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;;AzB1DN;EyBUE;IACE;;EAGF;IApCJ;IACA;;EAcA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EA+BE;IAhDJ;IACA;;EAqDQ;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EAuEQ;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAmEM;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;;AzB1DN;EyBUE;IACE;;EAGF;IApCJ;IACA;;EAcA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EA+BE;IAhDJ;IACA;;EAqDQ;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EAuEQ;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAmEM;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;;AYrHV;EAEE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA,eCpBO;EDqBP,gB3CusB4B;E2CtsB5B;;AAOA;EACE;EAEA;EACA;EACA,qBEhCW;EFiCX;;AAGF;EACE;;AAGF;EACE;;;AAIJ;EACE;;;AAOF;EACE;;;AAUA;EACE;;;AAeF;EACE;;AAGA;EACE;;;AAOJ;EACE;;AAGF;EACE;;;AAUF;EACE;EACA;;;AAMF;EACE;EACA;;;AAQJ;EACE;EACA;;;AAQA;EACE;EACA;;;AG5IF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AHiJA;EACE;EACA;;;ArC3FF;EqCyFA;IACE;IACA;;;ArC3FF;EqCyFA;IACE;IACA;;;ArC3FF;EqCyFA;IACE;IACA;;;ArC3FF;EqCyFA;IACE;IACA;;;AzBnKN;EACE,elBu2BsC;;;AkB91BxC;EACE;EACA;EACA;EhB8QI,WALI;EgBrQR,aXPkB;;;AWWpB;EACE;EACA;EhBoQI,WALI;;;AgB3PV;EACE;EACA;EhB8PI,WALI;;;AiBtRV;EACE,YnB+1BsC;EErkBlC,WALI;EiBjRR,OnB+1BsC;;;AoBp2BxC;EACE;EACA;EACA;ElBwRI,WALI;EkBhRR,apBkmB4B;EoBjmB5B,abGkB;EaFlB,OCFS;EDGT;EACA,kBCVM;EDWN;EACA;ErBGE;EMLE,YARW;EMUX,YSMJ;;ATFI;EShBN;ITiBQ;;;ASGN;EACE;;AAEA;EACE;;AAKJ;EACE,OCxBO;EDyBP,kBC/BI;EDgCJ,cERuB;EFSvB;EfvBE,YARW;;AewCf;EAME;EAMA;EAKA;;AAKF;EACE;EACA;;AAIF;EACE,OClEO;EDoEP;;AAQF;EAEE,kBCjFO;EDoFP;;AAIF;EACE;EACA;EACA,mBG9FkB;EH+FlB,OpBsyBoC;EQp4BtC,kBRqiCgC;EoBr8B9B;EACA;EACA;EACA;EACA,yBG1FqB;EH2FrB;ETzFE,YS0FF;;ATtFE;ES0EJ;ITzEM;;;ASwFN;EACE,kBpB47B8B;;;AoBn7BlC;EACE;EACA;EACA;EACA;EACA,ab9GkB;Ea+GlB,OpB2xBsC;EoB1xBtC;EACA;EACA;;AAEA;EACE;;AAGF;EAEE;EACA;;;AAWJ;EACE,YpB4wBsC;EoB3wBtC;ElByII,WALI;EHvQN;;AqBuIF;EACE;EACA;EACA,mBGpJqB;;;AHwJzB;EACE,YpBgwBsC;EoB/vBtC;ElB4HI,WALI;EHvQN;;AqBoJF;EACE;EACA;EACA,mBG9JqB;;;AHsKvB;EACE,YpB6uBoC;;AoB1uBtC;EACE,YpB0uBoC;;AoBvuBtC;EACE,YpBuuBoC;;;AoBluBxC;EACE,OpBquBsC;EoBpuBtC,QpB8tBsC;EoB7tBtC,SGjMoB;;AHmMpB;EACE;;AAGF;EACE;ErBvLA;;AqB2LF;EACE;ErB5LA;;AqBgMF;EAAoB,QpB8sBkB;;AoB7sBtC;EAAoB,QpB8sBkB;;;AwB75BxC;EACE;EAEA;EACA;EACA;EtBqRI,WALI;EsB7QR,axB+lB4B;EwB9lB5B,axBsmB4B;EwBrmB5B,OxBy3BsC;EwBx3BtC;EACA,kBxBk3BsC;EwBj3BtC;EACA;EACA,qBxB+9BkC;EwB99BlC,iBxB+9BkC;EwB99BlC;EzBHE;EMLE,YARW;EMUX,YaSJ;;AbLI;EafN;IbgBQ;;;AaMN;EACE,cxBs3BoC;EwBr3BpC;EnBfE,YARW;;AmBgCf;EAEE,exB6uB0B;EwB5uB1B;;AAGF;EAEE,kBxBu1BoC;;AwBl1BtC;EACE;EACA;;;AAIJ;EACE,axBsuB4B;EwBruB5B,gBxBquB4B;EwBpuB5B,cxBquB4B;EElgBxB,WALI;EHvQN;;;AyB8CJ;EACE,axBkuB4B;EwBjuB5B,gBxBiuB4B;EwBhuB5B,cxBiuB4B;EEtgBxB,WALI;EHvQN;;;AyBwDA;EACE;;;ACxEN;EACE;EACA,YzBq6BwC;EyBp6BxC,czBq6BwC;EyBp6BxC,ezBq6BwC;;AyBn6BxC;EACE;EACA;;;AAIJ;EACE,ezB25BwC;EyB15BxC;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EAEA;EACA,OzB04BwC;EyBz4BxC,QzBy4BwC;EyBx4BxC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QzB24BwC;EyB14BxC;;AAGA;E1B3BE;;A0B+BF;EAEE,ezBm4BsC;;AyBh4BxC;EACE,QzB03BsC;;AyBv3BxC;EACE,czBs1BoC;EyBr1BpC;EACA,YzB8foB;;AyB3ftB;EACE,kBzB5BM;EyB6BN,czB7BM;;AyB+BN;EAII;;AAIJ;EAII;;AAKN;EACE,kBzBjDM;EyBkDN,czBlDM;EyBuDJ;;AAIJ;EACE;EACA;EACA,SzBk2BuC;;AyB31BvC;EACE;EACA,SzBy1BqC;;;AyB30B3C;EACE,czBo1BgC;;AyBl1BhC;EACE;EAEA,OzB80B8B;EyB70B9B;EACA;EACA;E1BjHA;EYHE,YcsHF;;AdlHE;Ec0GJ;IdzGM;;;AcmHJ;EACE;;AAGF;EACE,qBzB60B4B;EyBx0B1B;;AAKN;EACE,ezBwzB8B;EyBvzB9B;;AAEA;EACE;EACA;;;AAKN;EACE;EACA,czBsyBgC;;;AyBnyBlC;EACE;EACA;EACA;;AAIE;EACE;EACA;EACA,SzBspBwB;;;AyB/oB1B;EACE;;;ACnLN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIA;EAA0B,Y1B8gCa;;A0B7gCvC;EAA0B,Y1B6gCa;;A0B1gCzC;EACE;;AAGF;EACE,O1B+/BuC;E0B9/BvC,Q1B8/BuC;E0B7/BvC;EACA;ElB1BF,kBRkCQ;E0BNN,Q1B6/BuC;ED1gCvC;EMLE,YARW;EMUX,YemBF;;AffE;EeMJ;IfLM;;;AegBJ;ElBjCF,kBR8hCyC;;A0Bx/BzC;EACE,O1Bw+B8B;E0Bv+B9B,Q1Bw+B8B;E0Bv+B9B;EACA,Q1Bu+B8B;E0Bt+B9B,kB1Bu+B8B;E0Bt+B9B;E3B7BA;EMLE,YARW;;AqB+Cf;EACE,O1Bo+BuC;E0Bn+BvC,Q1Bm+BuC;E0Bl+BvC;ElBpDF,kBRkCQ;E0BoBN,Q1Bm+BuC;ED1gCvC;EMLE,YARW;EMUX,Ye6CF;;AfzCE;EeiCJ;IfhCM;;;Ae0CJ;ElB3DF,kBR8hCyC;;A0B99BzC;EACE,O1B88B8B;E0B78B9B,Q1B88B8B;E0B78B9B;EACA,Q1B68B8B;E0B58B9B,kB1B68B8B;E0B58B9B;E3BvDA;EMLE,YARW;;AqByEf;EACE;;AAEA;EACE,kB1Bg9BqC;;A0B78BvC;EACE,kB1B48BqC;;;A2BniC3C;EACE;;AAEA;AAAA;AAAA;EAGE,Q3BwiCoC;E2BviCpC,Y3BuiCoC;E2BtiCpC,a3BuiCoC;;A2BpiCtC;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EhBRE,YgBSF;;AhBLE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AON;EAGI;;AAMJ;EAGE;EACA;EACA;EAEA;EACA;ELzGE,YARW;;;AK6Hf;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFkGA;EE/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AF4HA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AFmGA;EEhHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AF+GF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,iBGnLgB;;AHwLhB;EAEE,iBGxLoB;;AH2LtB;EACE;;AAGF;EACE;;;AAWJ;EEjJE;EACA;EV8NI,oBALI;EUvNR;;;AFkJF;EErJE;EACA;EV8NI,oBALI;EUvNR;;;AsCnEF;EvCgBM,YuCfJ;;AvCmBI;EuCpBN;IvCqBQ;;;AuClBN;EACE;;;AAMF;EACE;;;AAIJ;EACE;EACA;EvCDI,YuCEJ;;AvCEI;EuCLN;IvCMQ;;;AuCDN;EACE;EACA;EvCNE,YuCOF;;AvCHE;EuCAJ;IvCCM;;;;ARpBR;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;AAGF;EACE;;ACwBE;EACE;EACA,aJ6hBwB;EI5hBxB,gBJ2hBwB;EI1hBxB;EArCJ;EACA;EACA;EACA;;AA0DE;EACE;;;AD9CN;EAEE;EACA;EACA;EACA;EACA;EDuQI,yBALI;EChQR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;ED0OI,WALI;ECnOR;EACA;EACA;EA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;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;;AAGE;EAEE;;AAIJ;EACE;;;AASJ;EACE,aCrHmB;EDsHnB,gBCtHmB;EDuHnB;;AAEA;AAAA;AAAA;EAGE;;;AAaJ;EACE;EACA;EAGA;;;AAIF;EACE;ElCyII,WALI;EkClIR;EACA;EACA;EACA;ErCxIE;EYHE,YyB6IJ;;AzBzII;EyBiIN;IzBhIQ;;;AyB0IN;EACE;;AAGF;EACE;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;A9B1HE;E8BsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I/BhOJ,YARW;IMUX,YyBgOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;A9B5LR;E8BsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I/BhOJ,YARW;IMUX,YyBgOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;A9B5LR;E8BsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I/BhOJ,YARW;IMUX,YyBgOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;A9B5LR;E8BsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I/BhOJ,YARW;IMUX,YyBgOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;AAtDR;EAEI;EACA;;AAEA;EACE;;AAEA;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;E/BhOJ,YARW;EMUX,YyBgOI;;AAGA;EACE;;AAGF;EACE;EACA;EACA;EACA;;;AAiBZ;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAME;EACE;;;AtBzRN;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EfjBE;EMLE,YARW;;ASkCf;EACE;EACA;;AAGF;EACE;EACA;;AAEA;EACE;EftBF;EACA;;AeyBA;EACE;EfbF;EACA;;AemBF;AAAA;EAEE;;;AAIJ;EAGE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAQA;EACE;;;AAQJ;EACE;EACA;EACA;EACA;EACA;;AAEA;Ef7FE;;;AekGJ;EACE;EACA;EACA;EACA;;AAEA;EfxGE;;;AekHJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;Ef1IE;;;Ae8IJ;AAAA;AAAA;EAGE;;;AAGF;AAAA;Ef3II;EACA;;;Ae+IJ;AAAA;EflII;EACA;;;Ae8IF;EACE;;AR3HA;EQuHJ;IAQI;IACA;;EAGA;IAEE;IACA;;EAEA;IACE;IACA;;EAKA;If3KJ;IACA;;Ee6KM;AAAA;IAGE;;EAEF;AAAA;IAGE;;EAIJ;If5KJ;IACA;;Ee8KM;AAAA;IAGE;;EAEF;AAAA;IAGE;;;;A+CpOZ;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;E3D4PI,WALI;E2DrPR;EACA;EACA;EACA;E9DrBE;E8DuBF;ElD1BI,YkD2BJ;;AlDvBI;EkDUN;IlDTQ;;;AkDwBN;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ElDjDE,YkDkDF;;AlD9CE;EkDqCJ;IlDpCM;;;AkDgDN;EACE;;AAGF;EACE;EACA;EACA;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;;AAEA;E9D7DE;EACA;;A8D+DA;E9DhEA;EACA;;A8DoEF;EACE;;AAIF;E9D5DE;EACA;;A8D+DE;E9DhEF;EACA;;A8DoEA;E9DrEA;EACA;;;A8D0EJ;EACE;;;AASA;EACE;EACA;E9D9GA;;A8DiHA;EAAgB;;AAChB;EAAe;;AAIb;E9DtHF;;A8D6HA;E9D7HA;;;A8DqIA;EACE;EACA;;;AC1JN;EAEE;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;E5D+QI,WALI;E4DxQR;EACA;E/DAE;;;A+DMF;EACE;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;;;AxBrCJ;EAEE;EACA;EpC4RI,2BALI;EoCrRR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;ECpBA;EACA;;;ADuBF;EACE;EACA;EACA;EpCgQI,WALI;EoCzPR;EAEA;EACA;E3BpBI,Y2BqBJ;;A3BjBI;E2BQN;I3BPQ;;;A2BkBN;EACE;EACA;EAEA;EACA;;AAGF;EACE;EACA;EACA;EACA,StC2uCgC;EsC1uChC;;AAGF;EAEE;EACA;E9BtDF,kB8BuDuB;EACrB;;AAGF;EAEE;EACA;EACA;EACA;;;AAKF;EACE,atC8sCgC;;AsC7rChC;EvCxEA;;;AuCmFJ;EElGE;EACA;EtC0RI,2BALI;EsCnRR;;;AFmGF;EEtGE;EACA;EtC0RI,2BALI;EsCnRR;;;AvCFF;EAEE;EACA;ECuRI,sBALI;EDhRR;EACA;EACA;EAGA;EACA;EC+QI,WALI;EDxQR;EACA;EACA;EACA;EACA;EACA;EFJE;;AESF;EACE;;;AAKJ;EACE;EACA;;;AHhCF;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;ECHE;;;ADQJ;EAEE;;;AAIF;EACE,aE6kB4B;EF5kB5B;;;AAQF;EACE,eEs+C8B;;AFn+C9B;EACE;EACA;EACA;EACA;EACA;;;AAQF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;A2C5DF;EACE;IAAK,uBzCyhD2B;;;AyCphDpC;AAAA;EAGE;EvCkRI,yBALI;EuC3QR;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EvCsQI,WALI;EuC/PR;E1CRE;EMLE,YARW;;;AoC0BjB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;E9BxBI,Y8ByBJ;;A9BrBI;E8BYN;I9BXQ;;;;A8BuBR;EjCAE;EiCEA;;;AAGF;EACE;;;AAGF;EACE;;;AAIA;EACE;;AAGE;EAJJ;IAKM;;;;AT3DR;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EjCXE;;;AiCeJ;EACE;EACA;;AAEA;EAEE;EACA;;;AASJ;EACE;EACA;EACA;;AAGA;EAEE;EACA;EACA;EACA;;AAGF;EACE;EACA;;;AAQJ;EACE;EACA;EACA;EACA;EAEA;EACA;;AAEA;EjCvDE;EACA;;AiC0DF;EjC7CE;EACA;;AiCgDF;EAEE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAIF;EACE;;AAEA;EACE;EACA;;;AAaF;EACE;;AAGE;EjCvDJ;EAZA;;AiCwEI;EjCxEJ;EAYA;;AiCiEI;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;;A1BtFR;E0B8DA;IACE;;EAGE;IjCvDJ;IAZA;;EiCwEI;IjCxEJ;IAYA;;EiCiEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;A1BtFR;E0B8DA;IACE;;EAGE;IjCvDJ;IAZA;;EiCwEI;IjCxEJ;IAYA;;EiCiEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;A1BtFR;E0B8DA;IACE;;EAGE;IjCvDJ;IAZA;;EiCwEI;IjCxEJ;IAYA;;EiCiEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;A1BtFR;E0B8DA;IACE;;EAGE;IjCvDJ;IAZA;;EiCwEI;IjCxEJ;IAYA;;EiCiEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;AAcZ;EjChJI;;AiCmJF;EACE;;AAEA;EACE;;;AAaJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;Af5LJ;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA,OjBqpD2B;EiBppD3B,QjBopD2B;EiBnpD3B;EACA;EACA;EACA;ElBJE;EkBMF;;AAGA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EAEE;EACA;EACA;;;AAQJ;EAHE;;;AASE;EATF;;;A8BjDF;EAEE;EACA;EACA;EACA;EACA;E7CyRI,sBALI;E6ClRR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;E7C2QI,WALI;E6CpQR;EACA;EACA;EACA;EACA;EACA;EhDRE;;AgDWF;EACE;;AAGF;EACE;;;AAIJ;EACE;EAEA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EhDhCE;EACA;;AgDkCF;EACE;EACA;;;AAIJ;EACE;EACA;;;Ad9DF;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;;;AAOF;EACE;EACA;EACA;EAEA;;AAGA;EtB5CI,YsB6CF;EACA,WjCk8CgC;;AW5+C9B;EsBwCJ;ItBvCM;;;AsB2CN;EACE,WjCg8CgC;;AiC57ClC;EACE,WjC67CgC;;;AiCz7CpC;EACE;;AAEA;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;ElCrFE;EMLE,YARW;E4BsGf;;;AAIF;EAEE;EACA;EACA;EClHA;EACA;EACA;EACA,SDkH0B;ECjH1B;EACA;EACA,kBD+G4D;;AC5G5D;EAAS;;AACT;EAAS,SD2GiF;;;AAK5F;EACE;EACA;EACA;EACA;EACA;ElCrGE;EACA;;AkCuGF;EACE;EACA;;;AAKJ;EACE;EACA;;;AAKF;EACE;EAGA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ElCzHE;EACA;;AkC8HF;EACE;;;A3B3GA;E2BiHF;IACE;IACA;;EAIF;IACE;IACA;IACA;;EAGF;IACE;;;A3B9HA;E2BmIF;AAAA;IAEE;;;A3BrIA;E2B0IF;IACE;;;AAUA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;ElCzMJ;;AkC6ME;AAAA;ElC7MF;;AkCkNE;EACE;;;A3B1JJ;E2BwIA;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;IlCzMJ;;EkC6ME;AAAA;IlC7MF;;EkCkNE;IACE;;;A3B1JJ;E2BwIA;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;IlCzMJ;;EkC6ME;AAAA;IlC7MF;;EkCkNE;IACE;;;A3B1JJ;E2BwIA;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;IlCzMJ;;EkC6ME;AAAA;IlC7MF;;EkCkNE;IACE;;;A3B1JJ;E2BwIA;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;IlCzMJ;;EkC6ME;AAAA;IlC7MF;;EkCkNE;IACE;;;AerOR;EAEE;EACA;EACA;EACA;EACA;E9CwRI,wBALI;E8CjRR;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EClBA;EAEA;EACA,a1CKmB;E0CJnB,a1CQiB;E0CPjB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;E/CgRI,WALI;E8ChQR;EACA;;AAEA;EAAS;;AAET;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAKN;EACE;;AAEA;EACE;EACA;EACA;;;AAIJ;AACA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;AAEA;EACE;;AAEA;EACE;EACA;EACA;;;AAIJ;AACA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;AAkBA;EACE;EACA;EACA;EACA;EACA;EjDjGE;;;AgEnBJ;EAEE;EACA;E7D4RI,wBALI;E6DrRR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;E7DmRI,+BALI;E6D5QR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EdzBA;EAEA;EACA,a1CKmB;E0CJnB,a1CQiB;E0CPjB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;E/CgRI,WALI;E6D1PR;EACA;EACA;EACA;EhEhBE;EMLE,YARW;;A0DiCf;EACE;EACA;EACA;;AAEA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAMJ;EACE;;AAEA;EAEE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAKN;AAEE;EACE;EACA;EACA;;AAEA;EAEE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAKN;AAGE;EACE;;AAEA;EAEE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAEE;EACE;EACA;EACA;;AAEA;EAEE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAKN;AAkBA;EACE;EACA;E7D2GI,WALI;E6DpGR;EACA;EACA;EhE5JE;EACA;;AgE8JF;EACE;;;AAIJ;EACE;EACA;;;AhDrLF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;ACtBA;EACE;EACA;EACA;;;ADuBJ;EACE;EACA;EACA;EACA;EACA;EACA;EJlBI,YImBJ;;AJfI;EIQN;IJPQ;;;;AIiBR;AAAA;AAAA;EAGE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AASA;EACE;EACA;EACA;;AAGF;AAAA;AAAA;EAGE;EACA;;AAGF;AAAA;EAEE;EACA;EJ5DE,YI6DF;;AJzDE;EIqDJ;AAAA;IJpDM;;;;AIiER;AAAA;EAEE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA,OfkhDmC;EejhDnC;EACA,Of1FS;Ee2FT;EACA;EACA;EACA,Sf6gDmC;EWnmD/B,YIuFJ;;AJnFI;EIkEN;AAAA;IJjEQ;;;AIqFN;AAAA;AAAA;EAEE,OfpGO;EeqGP;EACA;EACA,SfqgDiC;;;AelgDrC;EACE;;;AAGF;EACE;;;AAKF;AAAA;EAEE;EACA,OfsgDmC;EergDnC,QfqgDmC;EepgDnC;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAQF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,cfs9CmC;Eer9CnC;EACA,afo9CmC;;Ael9CnC;EACE;EACA;EACA,Ofo9CiC;Een9CjC,Qfo9CiC;Een9CjC;EACA,cfo9CiC;Een9CjC,afm9CiC;Eel9CjC;EACA;EACA,kBflKO;EemKP;EACA;EAEA;EACA;EACA,Sf28CiC;EW3mD/B,YIiKF;;AJ7JE;EI4IJ;IJ3IM;;;AI+JN;EACE,Sfw8CiC;;;Ae/7CrC;EACE;EACA;EACA,Qfk8CmC;Eej8CnC;EACA,af+7CmC;Ee97CnC,gBf87CmC;Ee77CnC,Of7LS;Ee8LT;;;AAMA;AAAA;EAEE,Qfm8CiC;;Aeh8CnC;EACE,kBfhMO;;AemMT;EACE,OfpMO;;;Ae0LT;AAAA;AAAA;EAEE,Qfm8CiC;;Aeh8CnC;EACE,kBfhMO;;AemMT;EACE,OfpMO;;;AgEdX;AAAA;EAEE;EACA;EACA;EACA;EAEA;EACA;;;AAIF;EACE;IAAK;;;AAIP;EAEE;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;;;AAGF;EAEE;EACA;EACA;;;AASF;EACE;IACE;;EAEF;IACE;IACA;;;AAKJ;EAEE;EACA;EACA;EACA;EACA;EAGA;EACA;;;AAGF;EACE;EACA;;;AAIA;EACE;AAAA;IAEE;;;AC/EN;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;A3D6DE;E2D5CF;IAEI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I5D9BA,YARW;IMUX,YsD8BA;;;AtD1BA;EsDYJ;ItDXM;;;ALuDJ;E2D5BE;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IAEE;;EAGF;IAGE;;;A3D5BJ;E2D/BF;IAiEM;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;IACA;IAEA;;;;A3DnCN;E2D5CF;IAEI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I5D9BA,YARW;IMUX,YsD8BA;;;AtD1BA;EsDYJ;ItDXM;;;ALuDJ;E2D5BE;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IAEE;;EAGF;IAGE;;;A3D5BJ;E2D/BF;IAiEM;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;IACA;IAEA;;;;A3DnCN;E2D5CF;IAEI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I5D9BA,YARW;IMUX,YsD8BA;;;AtD1BA;EsDYJ;ItDXM;;;ALuDJ;E2D5BE;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IAEE;;EAGF;IAGE;;;A3D5BJ;E2D/BF;IAiEM;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;IACA;IAEA;;;;A3DnCN;E2D5CF;IAEI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I5D9BA,YARW;IMUX,YsD8BA;;;AtD1BA;EsDYJ;ItDXM;;;ALuDJ;E2D5BE;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IAEE;;EAGF;IAGE;;;A3D5BJ;E2D/BF;IAiEM;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;IACA;IAEA;;;;AA/ER;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;E5D9BA,YARW;EMUX,YsD8BA;;AtD1BA;EsDYJ;ItDXM;;;AsD2BF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EAEE;;AAGF;EAGE;;;AA2BR;E/BpHE;EACA;EACA;EACA,SlC0mCkC;EkCzmClC;EACA;EACA,kBlCUS;;AkCPT;EAAS;;AACT;EAAS,SlCm+CyB;;;AiEr3CpC;EACE;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AC7IF;EACE;EACA;EACA;EACA;EACA;EACA,SlEgzCkC;;AkE9yClC;EACE;EACA;;;AAKJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKA;EACE;;;AAIJ;EACE;IACE,SlEmxCgC;;;AkE/wCpC;EACE;EACA;EACA;;;AAGF;EACE;IACE;;;AlD9CF;EACE;EACA;EACA;;;AmDHF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;ACFF;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AAOR;EACE;EACA;;AAGE;EAEE;EACA;;;AC1BN;EACE;EAEA;;;ACHF;EACE;EACA,KtE6c4B;EsE5c5B;EACA;EACA,uBtE2c4B;EsE1c5B;;AAEA;EACE;EACA,OtEuc0B;EsEtc1B,QtEsc0B;EsErc1B;E3DIE,Y2DHF;;A3DOE;E2DZJ;I3DaM;;;;A2DDJ;EACE;;;ACnBN;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAKF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;ACrBJ;EACE;EACA;EACA;EACA;EACA,SxEumCkC;;;AwEpmCpC;EACE;EACA;EACA;EACA;EACA,SxE+lCkC;;;AwEvlChC;EACE;EACA;EACA,SxEmlC8B;;;AwEhlChC;EACE;EACA;EACA,SxE6kC8B;;;AM9iChC;EkExCA;IACE;IACA;IACA,SxEmlC8B;;EwEhlChC;IACE;IACA;IACA,SxE6kC8B;;;AM9iChC;EkExCA;IACE;IACA;IACA,SxEmlC8B;;EwEhlChC;IACE;IACA;IACA,SxE6kC8B;;;AM9iChC;EkExCA;IACE;IACA;IACA,SxEmlC8B;;EwEhlChC;IACE;IACA;IACA,SxE6kC8B;;;AM9iChC;EkExCA;IACE;IACA;IACA,SxEmlC8B;;EwEhlChC;IACE;IACA;IACA,SxE6kC8B;;;AyE5mCpC;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;ACRF;AAAA;ECIE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;AAAA;EACE;;;ACdF;EACE;EACA;EACA;EACA;EACA;EACA,S5EgcsC;E4E/btC;;;ACRJ;ECAE;EACA;EACA;;;ACNF;EACE;EACA;EACA,O/EisB4B;E+EhsB5B;EACA;EACA,S/E2rB4B;;;AuD/nBtB;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAjBJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AASF;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAjBJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AASF;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;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APJ;EAOI;EAAA;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AjDVR;EiDGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;AjDVR;EiDGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;AjDVR;EiDGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;AjDVR;EiDGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;ACtDZ;ED+CQ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;ACnCZ;ED4BQ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI","file":"gradido.css"} \ No newline at end of file diff --git a/frontend/src/assets/scss/gradido-template.scss b/frontend/src/assets/scss/gradido-template.scss index adb8eaf8d..9464525ec 100644 --- a/frontend/src/assets/scss/gradido-template.scss +++ b/frontend/src/assets/scss/gradido-template.scss @@ -134,6 +134,14 @@ a:hover, border-radius: 26px; } +.rounded-20 { + border-radius: 20px; +} + +.rounded-like-card { + border-radius: 23pt; +} + .alert { border-radius: 26px; box-shadow: rgb(0 0 0 / 14%) 0 24px 80px; diff --git a/frontend/src/components/Contributions/ContributionListItem.spec.js b/frontend/src/components/Contributions/ContributionListItem.spec.js index 5abb1f8b6..eb5fb1247 100644 --- a/frontend/src/components/Contributions/ContributionListItem.spec.js +++ b/frontend/src/components/Contributions/ContributionListItem.spec.js @@ -22,6 +22,12 @@ vi.mock('@vue/apollo-composable', () => ({ })), })) +vi.mock('@/composables/useToast', () => ({ + useAppToast: vi.fn(() => ({ + addToast: vi.fn(), + })), +})) + describe('ContributionListItem', () => { let wrapper diff --git a/frontend/src/graphql/mutations.js b/frontend/src/graphql/mutations.js index 6f7889bf7..041c156a7 100644 --- a/frontend/src/graphql/mutations.js +++ b/frontend/src/graphql/mutations.js @@ -68,6 +68,7 @@ export const createUser = gql` $language: String! $publisherId: Int $redeemCode: String + $project: String ) { createUser( email: $email @@ -76,6 +77,7 @@ export const createUser = gql` language: $language publisherId: $publisherId redeemCode: $redeemCode + project: $project ) { id } @@ -166,8 +168,8 @@ export const createContributionMessage = gql` ` export const login = gql` - mutation ($email: String!, $password: String!, $publisherId: Int) { - login(email: $email, password: $password, publisherId: $publisherId) { + mutation ($email: String!, $password: String!, $publisherId: Int, $project: String) { + login(email: $email, password: $password, publisherId: $publisherId, project: $project) { gradidoID alias firstName diff --git a/frontend/src/graphql/projectBranding.graphql b/frontend/src/graphql/projectBranding.graphql new file mode 100644 index 000000000..7441ae8c3 --- /dev/null +++ b/frontend/src/graphql/projectBranding.graphql @@ -0,0 +1,3 @@ +query projectBrandingBanner($project: String!) { + projectBrandingBanner(alias: $project) +} diff --git a/frontend/src/graphql/queries.js b/frontend/src/graphql/queries.js index 0d4858e98..b1ae7bed8 100644 --- a/frontend/src/graphql/queries.js +++ b/frontend/src/graphql/queries.js @@ -42,6 +42,11 @@ export const authenticateHumhubAutoLogin = gql` authenticateHumhubAutoLogin } ` +export const authenticateHumhubAutoLoginProject = gql` + query ($project: String!) { + authenticateHumhubAutoLogin(project: $project) + } +` export const transactionsQuery = gql` query ($currentPage: Int = 1, $pageSize: Int = 25, $order: Order = DESC) { diff --git a/frontend/src/layouts/AuthLayout.spec.js b/frontend/src/layouts/AuthLayout.spec.js index 24bb09f15..bf60678e1 100644 --- a/frontend/src/layouts/AuthLayout.spec.js +++ b/frontend/src/layouts/AuthLayout.spec.js @@ -1,5 +1,6 @@ import { describe, it, expect, beforeEach, vi } from 'vitest' import { mount } from '@vue/test-utils' +import { createStore } from 'vuex' import AuthLayout from './AuthLayout' import { BAvatar, @@ -39,6 +40,19 @@ vi.mock('@/config', () => ({ describe('AuthLayout', () => { let wrapper + const createVuexStore = () => { + return createStore({ + state: { + project: '', + }, + actions: { + project: vi.fn(), + }, + mutations: { + project: vi.fn(), + }, + }) + } const createWrapper = () => { return mount(AuthLayout, { @@ -54,6 +68,7 @@ describe('AuthLayout', () => { BImg, BPopover, }, + plugins: [createVuexStore()], mocks: { $i18n: { locale: 'en', @@ -97,17 +112,16 @@ describe('AuthLayout', () => { expect(wrapper.find('nav#sidenav-main').exists()).toBe(false) }) - it('has LanguageSwitch2', () => { - expect(wrapper.findComponent({ name: 'LanguageSwitch2' }).exists()).toBe(true) - }) - it('displays the community name', () => { expect(wrapper.find('.h1').text()).toBe('Test Community') }) it('test size in setTextSize', async () => { + const mockEl = { style: {} } + vi.spyOn(document, 'querySelector').mockReturnValue(mockEl) + await wrapper.vm.setTextSize(0.85) - expect(wrapper.vm.$refs.pageFontSize.$el.style.fontSize).toBe('0.85rem') + expect(mockEl.style.fontSize).toBe('0.85rem') }) }) @@ -115,6 +129,7 @@ describe('AuthLayout', () => { beforeEach(() => { wrapper = mount(AuthLayout, { global: { + plugins: [createVuexStore()], mocks: { $i18n: { locale: 'en', diff --git a/frontend/src/layouts/AuthLayout.vue b/frontend/src/layouts/AuthLayout.vue index bc77b102f..e9f0aeaf7 100644 --- a/frontend/src/layouts/AuthLayout.vue +++ b/frontend/src/layouts/AuthLayout.vue @@ -19,11 +19,21 @@
- + - + + + + + +
{{ $t('welcome') }}
{{ communityName }}
@@ -33,7 +43,7 @@
- + @@ -61,7 +71,14 @@ + - diff --git a/frontend/src/pages/Register.vue b/frontend/src/pages/Register.vue index f11ccdb8a..a8044b330 100755 --- a/frontend/src/pages/Register.vue +++ b/frontend/src/pages/Register.vue @@ -70,6 +70,18 @@ + + + {{ $t('existingGradidoAccount', { communityName: CONFIG.COMMUNITY_NAME }) }} + + + + + + + @@ -89,26 +101,29 @@ import { createUser } from '@/graphql/mutations' import { useI18n } from 'vue-i18n' import { useStore } from 'vuex' import { useRoute } from 'vue-router' +import { useAuthLinks } from '@/composables/useAuthLinks' +import CONFIG from '@/config' const { toastError } = useAppToast() +const { login } = useAuthLinks() const { mutate } = useMutation(createUser) const { values: formValues, meta: formMeta, defineField, handleSubmit } = useForm() -const [firstname, firstnameProps] = defineField('firstname') +const [firstname] = defineField('firstname') const { meta: firstnameMeta, errorMessage: firstnameError } = useField('firstname', { required: true, min: 3, }) -const [lastname, lastnameProps] = defineField('lastname') +const [lastname] = defineField('lastname') const { meta: lastnameMeta, errorMessage: lastnameError } = useField('lastname', { required: true, min: 2, }) -const [agree, agreeProps] = defineField('agree') +const [agree] = defineField('agree') const { meta: agreeMeta } = useField('agree', 'required') const { t } = useI18n() @@ -116,10 +131,8 @@ const store = useStore() const { params } = useRoute() const showPageMessage = ref(false) -const submitted = ref(false) const publisherId = ref(store.state.publisherId) const redeemCode = ref(params.code) -const CONFIG = window.config const enterData = computed(() => { return !showPageMessage.value @@ -134,6 +147,7 @@ async function onSubmit() { language: store.state.language, publisherId: publisherId.value, redeemCode: redeemCode.value, + project: store.state.project, }) showPageMessage.value = true } catch (error) { @@ -152,4 +166,8 @@ async function onSubmit() { padding-right: 0; padding-left: 0; } + +a.login-nav-item { + color: #0e79bc !important; +} diff --git a/frontend/src/store/store.js b/frontend/src/store/store.js index 1af1fef21..66385ee7a 100644 --- a/frontend/src/store/store.js +++ b/frontend/src/store/store.js @@ -49,6 +49,9 @@ export const mutations = { gmsPublishLocation: (state, gmsPublishLocation) => { state.gmsPublishLocation = gmsPublishLocation }, + project: (state, project) => { + state.project = project + }, publisherId: (state, publisherId) => { let pubId = parseInt(publisherId) if (isNaN(pubId)) pubId = null @@ -113,6 +116,7 @@ export const actions = { commit('humhubPublishName', null) commit('gmsPublishLocation', null) commit('hasElopage', false) + commit('project', null) commit('publisherId', null) commit('roles', null) commit('hideAmountGDD', false) @@ -153,6 +157,7 @@ try { humhubPublishName: null, gmsPublishLocation: null, hasElopage: false, + project: null, publisherId: null, hideAmountGDD: null, hideAmountGDT: null, diff --git a/frontend/src/store/store.test.js b/frontend/src/store/store.test.js index 3e41442ad..8e6e3d941 100644 --- a/frontend/src/store/store.test.js +++ b/frontend/src/store/store.test.js @@ -161,9 +161,9 @@ describe('Vuex store', () => { const commit = vi.fn() const state = {} - it('calls nineteen commits', () => { + it('calls twenty commits', () => { logout({ commit, state }) - expect(commit).toHaveBeenCalledTimes(19) + expect(commit).toHaveBeenCalledTimes(20) }) // ... (other logout action tests remain largely the same) diff --git a/frontend/vite.config.js b/frontend/vite.config.js index 2385e92ef..590338bd5 100644 --- a/frontend/vite.config.js +++ b/frontend/vite.config.js @@ -18,7 +18,8 @@ dotenv.config() // load env vars from .env const CONFIG = require('./src/config') // https://vitejs.dev/config/ -export default defineConfig(({ command }) => { +export default defineConfig(async ({ command }) => { + const { vitePluginGraphqlLoader } = await import('vite-plugin-graphql-loader') if (command === 'serve') { CONFIG.FRONTEND_HOSTING = 'nodejs' } else { @@ -117,6 +118,7 @@ export default defineConfig(({ command }) => { META_KEYWORDS_EN: null, META_AUTHOR: null, }), + vitePluginGraphqlLoader(), commonjs(), ], css: { diff --git a/frontend/vitest.config.js b/frontend/vitest.config.js index 8f61cd0a1..5c0f5688e 100644 --- a/frontend/vitest.config.js +++ b/frontend/vitest.config.js @@ -2,41 +2,44 @@ import { defineConfig } from 'vite' import Vue from '@vitejs/plugin-vue' import path from 'path' -export default defineConfig({ - plugins: [Vue()], - test: { - globals: true, - environment: 'jsdom', - // setupFiles: ['./test/vitest.setup.js'], - coverage: { - provider: 'v8', - reporter: ['text', 'json', 'html'], - exclude: ['node_modules/**', 'src/assets/**', '**/*.{spec,test}.js'], - lines: 95, - }, - include: ['**/?(*.)+(spec|test).js?(x)'], - moduleNameMapper: { - '^@/(.*)$': path.resolve(__dirname, './src/$1'), - '\\.(css|less)$': 'identity-obj-proxy', - }, - transformMode: { - web: [/\.[jt]sx$/], - }, - server: { - deps: { - inline: [/vee-validate/, 'vitest-canvas-mock'], +export default defineConfig(async () => { + const { vitePluginGraphqlLoader } = await import('vite-plugin-graphql-loader') + return { + plugins: [Vue(), vitePluginGraphqlLoader()], + test: { + globals: true, + environment: 'jsdom', + // setupFiles: ['./test/vitest.setup.js'], + coverage: { + provider: 'v8', + reporter: ['text', 'json', 'html'], + exclude: ['node_modules/**', 'src/assets/**', '**/*.{spec,test}.js'], + lines: 95, + }, + include: ['**/?(*.)+(spec|test).js?(x)'], + moduleNameMapper: { + '^@/(.*)$': path.resolve(__dirname, './src/$1'), + '\\.(css|less)$': 'identity-obj-proxy', + }, + transformMode: { + web: [/\.[jt]sx$/], + }, + server: { + deps: { + inline: [/vee-validate/, 'vitest-canvas-mock'], + }, + }, + alias: { + '@': path.resolve(__dirname, './src'), + '@test': path.resolve(__dirname, './test'), }, }, - alias: { - '@': path.resolve(__dirname, './src'), - '@test': path.resolve(__dirname, './test'), + resolve: { + alias: { + '@': path.resolve(__dirname, './src'), + '@test': path.resolve(__dirname, './test'), + }, + extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'], }, - }, - resolve: { - alias: { - '@': path.resolve(__dirname, './src'), - '@test': path.resolve(__dirname, './test'), - }, - extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'], - }, + } }) diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 8036b3e46..744643c9d 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -4218,7 +4218,7 @@ graphql-tag@^2.12.6, graphql-tag@^2.4.2: dependencies: tslib "^2.1.0" -graphql@^16.9.0: +graphql@^16.8.1, graphql@^16.9.0: version "16.10.0" resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.10.0.tgz#24c01ae0af6b11ea87bf55694429198aaa8e220c" integrity sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ== @@ -5074,7 +5074,7 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" -magic-string@^0.30.11, magic-string@^0.30.12, magic-string@^0.30.14, magic-string@^0.30.17: +magic-string@^0.30.10, magic-string@^0.30.11, magic-string@^0.30.12, magic-string@^0.30.14, magic-string@^0.30.17: version "0.30.17" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== @@ -6466,7 +6466,14 @@ string.prototype.trimstart@^1.0.8: define-properties "^1.2.1" es-object-atoms "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1, strip-ansi@^7.0.1, strip-ansi@^7.1.0: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1, strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -7168,6 +7175,15 @@ vite-plugin-environment@^1.1.3: resolved "https://registry.yarnpkg.com/vite-plugin-environment/-/vite-plugin-environment-1.1.3.tgz#d01a04abb2f69730a4866c9c9db51d3dab74645b" integrity sha512-9LBhB0lx+2lXVBEWxFZC+WO7PKEyE/ykJ7EPWCq95NEcCpblxamTbs5Dm3DLBGzwODpJMEnzQywJU8fw6XGGGA== +vite-plugin-graphql-loader@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/vite-plugin-graphql-loader/-/vite-plugin-graphql-loader-4.0.4.tgz#cf6c599b3e5fa32bf2b768983da68f7beccc8486" + integrity sha512-lYnpQ2luV2fcuXmOJADljuktfMbDW00Y+6QS+Ek8Jz1Vdzlj/51LSGJwZqyjJ24a5YQ+o29Hr6el/5+nlZetvg== + dependencies: + graphql "^16.8.1" + graphql-tag "^2.12.6" + magic-string "^0.30.10" + vite-plugin-html@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/vite-plugin-html/-/vite-plugin-html-3.2.2.tgz#661834fa09015d3fda48ba694dbaa809396f5f7a" @@ -7443,7 +7459,16 @@ word-wrap@^1.2.5: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@7.0.0, wrap-ansi@^8.1.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@7.0.0, wrap-ansi@^8.1.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==