From 540662bf23ec80219a94b7f7229d9f8b53d87656 Mon Sep 17 00:00:00 2001 From: rezaelahidev Date: Sun, 8 Oct 2023 12:38:28 +0330 Subject: [PATCH 01/22] feat: add cypress configuration prepare cypress config and packages to ready for write end-2-end tests and component tests --- .dev/tests/cypress/readme.md | 27 - .dev/tests/cypress/support/commands.js | 60 - .gitignore | 5 +- cypress.config.js | 32 +- cypress/fixtures/example.json | 5 + {.dev/tests/cypress => cypress}/helpers.js | 156 +- .../cypress => cypress}/plugins/index.js | 0 ...item with mesh gradient type! (failed).png | Bin 0 -> 171051 bytes cypress/support/commands.js | 31 + cypress/support/component-index.html | 14 + cypress/support/component.js | 58 + cypress/support/e2e.js | 43 + package-lock.json | 6259 ++++++++++++++++- package.json | 16 +- tools/cypress/webpack.config.js | 52 + webpack.config.js | 23 +- 16 files changed, 6387 insertions(+), 394 deletions(-) delete mode 100644 .dev/tests/cypress/readme.md delete mode 100644 .dev/tests/cypress/support/commands.js create mode 100644 cypress/fixtures/example.json rename {.dev/tests/cypress => cypress}/helpers.js (80%) rename {.dev/tests/cypress => cypress}/plugins/index.js (100%) create mode 100644 cypress/screenshots/background.cy.js/background testing -- should add background repeater new item with mesh gradient type! (failed).png create mode 100644 cypress/support/commands.js create mode 100644 cypress/support/component-index.html create mode 100644 cypress/support/component.js create mode 100644 cypress/support/e2e.js create mode 100644 tools/cypress/webpack.config.js diff --git a/.dev/tests/cypress/readme.md b/.dev/tests/cypress/readme.md deleted file mode 100644 index 2f8730ca9..000000000 --- a/.dev/tests/cypress/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# CoBlocks Integration Tests - -**Powered by Cypress.io** - -https://dashboard.cypress.io/#/projects/sovnn2/runs - -Welcome to our end-to-end testing suite for CoBlocks blocks! There are a number of helper methods inside of `.dev/tests/cypress/helpers.js` that make certain repetitive tasks easier (e.g. Adding a block a page, validating no errors exists in the editor window, opening a settings panel, etc.) - -### Add your local test credentials -```bash -$ echo '{ - "testURL": "https://localhost:8889", - "wpUsername": "admin", - "wpPassword": "password", -}' > cypress.env.json -``` - -### Open Cypress to run individual block tests -```bash -$ npm install -$ npx cypress open -``` - -### Run all block tests locally from the command line -```bash -$ npx cypress run --browser chrome --config video=false -``` diff --git a/.dev/tests/cypress/support/commands.js b/.dev/tests/cypress/support/commands.js deleted file mode 100644 index aa52cd522..000000000 --- a/.dev/tests/cypress/support/commands.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Internal dependencies - */ -import { disableGutenbergFeatures, goTo, loginToSite } from '../helpers'; - -before(function () { - loginToSite().then(() => { - goTo('/wp-admin/post-new.php?post_type=post').then(() => { - // eslint-disable-next-line - cy.wait(2000); - disableGutenbergFeatures(); - }); - }); -}); - -// Maintain WordPress logged in state -Cypress.Cookies.defaults({ - preserve: /wordpress_.*/, -}); - -// Custom uploadFile command -Cypress.Commands.add('uploadFile', (fileName, fileType, selector) => { - cy.get(selector).then((subject) => { - cy.fixture(fileName, 'hex').then((fileHex) => { - const fileBytes = hexStringToByte(fileHex); - const testFile = new File([fileBytes], fileName, { - type: fileType, - }); - const dataTransfer = new DataTransfer(); - const el = subject[0]; - - dataTransfer.items.add(testFile); - el.files = dataTransfer.files; - }); - }); -}); - -// Utilities -function hexStringToByte(str) { - if (!str) { - return new Uint8Array(); - } - - const a = []; - for (let i = 0, len = str.length; i < len; i += 2) { - a.push(parseInt(str.substr(i, 2), 16)); - } - - return new Uint8Array(a); -} - -/** - * Starting in Cypress 8.1.0 Unhandled Exceptions now cause tests to fail. - * Sometimes unhandled exceptions occur in Core that do not effect the UX created by PublisherBlocks. - * We discard unhandled exceptions and pass the test as long as assertions continue expectedly. - */ -Cypress.on('uncaught:exception', () => { - // returning false here prevents Cypress from failing the test. - return false; -}); diff --git a/.gitignore b/.gitignore index b4f7835ba..b59455b35 100644 --- a/.gitignore +++ b/.gitignore @@ -59,4 +59,7 @@ dist .cache/phpcs.json # Storybook Build directory -storybook-static \ No newline at end of file +storybook-static + +# nyc plugin of cypress +.nyc_output diff --git a/cypress.config.js b/cypress.config.js index abec96190..ff25e034a 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -5,25 +5,43 @@ module.exports = defineConfig({ defaultCommandTimeout: 20000, e2e: { setupNodeEvents(on, config) { - return require('./.dev/tests/cypress/plugins/index.js')(on, config); + require('./cypress/plugins/index.js')(on, config); + require('@cypress/code-coverage/task')(on, config); + + return config; }, - specPattern: './/**/*.cypress.js', - supportFile: '.dev/tests/cypress/support/commands.js', + specPattern: 'packages/**/*.cypress.js', + supportFile: 'cypress/support/e2e.js', }, env: { wpUsername: 'admin', wpPassword: 'password', testURL: 'http://localhost:8889', }, - fixturesFolder: 'languages', + fixturesFolder: 'cypress/fixtures', pageLoadTimeout: 120000, - projectId: 'sovnn2', + projectId: 'publisher-core', retries: { openMode: 0, runMode: 0, }, - screenshotsFolder: '.dev/tests/cypress/screenshots', - videosFolder: '.dev/tests/cypress/videos', + coverage: true, + screenshotsFolder: 'cypress/screenshots', + videosFolder: 'cypress/videos', viewportHeight: 1440, viewportWidth: 2560, + component: { + setupNodeEvents(on, config) { + require('./cypress/plugins/index.js')(on, config); + require('@cypress/code-coverage/task')(on, config); + + return config; + }, + devServer: { + framework: 'react', + bundler: 'webpack', + }, + specPattern: 'packages/**/*.cy.js', + supportFile: 'cypress/support/component.js', + }, }); diff --git a/cypress/fixtures/example.json b/cypress/fixtures/example.json new file mode 100644 index 000000000..0ff2d645b --- /dev/null +++ b/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} diff --git a/.dev/tests/cypress/helpers.js b/cypress/helpers.js similarity index 80% rename from .dev/tests/cypress/helpers.js rename to cypress/helpers.js index bb7361643..3b834c715 100644 --- a/.dev/tests/cypress/helpers.js +++ b/cypress/helpers.js @@ -3,7 +3,7 @@ */ export function loginToSite() { return goTo('/wp-login.php', true).then(() => { - // eslint-disable-next-line cypress/no-unnecessary-waiting + // eslint-disable-next-line cy.wait(250); cy.get('#user_login').type(Cypress.env('wpUsername')); @@ -60,9 +60,10 @@ export function disableGutenbergFeatures() { } /** - * From inside the WordPress editor open the PublisherBlocks Gutenberg editor panel + * From inside the WordPress editor open the publisher-core Gutenberg editor panel * * @param {string} blockName The name to find in the block inserter + * e.g 'core/image'. * @param {boolean} clearEditor Should clear editor of all blocks */ export function addBlockToPost(blockName, clearEditor = false) { @@ -77,24 +78,38 @@ export function addBlockToPost(blockName, clearEditor = false) { clearBlocks(); } - cy.get( - '.edit-post-header [aria-label="Add block"], .edit-site-header [aria-label="Add block"], .edit-post-header-toolbar__inserter-toggle' - ).click(); - // eslint-disable-next-line cypress/unsafe-to-chain-command + if ( + Cypress.$( + '.edit-post-header-toolbar__inserter-toggle[aria-pressed="false"]' + ) + ) { + cy.get( + '.edit-post-header [aria-label="Add block"], .edit-site-header [aria-label="Add block"], .edit-post-header-toolbar__inserter-toggle[aria-pressed="false"]' + ).click(); + } + + // eslint-disable-next-line cy.get( '.block-editor-inserter__search-input,input.block-editor-inserter__search, .components-search-control__input' ) .click() .type(blockName); + /** + * The network request to block-directory may be cached and is not consistently fired with each test. + * Instead of intercepting we can await known dom elements that appear only when search results are present. + * This should correct a race condition in CI. + */ + cy.get('div.block-editor-inserter__main-area:not(.show-as-tabs)'); + const targetClassName = (blockCategory === 'core' ? '' : `-${blockCategory}`) + `-${blockID}`; cy.get('.editor-block-list-item' + targetClassName) .first() - .click(); + .click({ force: true }); // Make sure the block was added to our page - cy.get(`[class*="-visual-editor"] [data-type="${blockName}"]`) + cy.get(`[class*="-visual-editor"]`) .should('exist') .then(() => { // Then close the block inserter if still open. @@ -109,19 +124,27 @@ export function addBlockToPost(blockName, clearEditor = false) { export function addNewGroupToPost() { clearBlocks(); - + // eslint-disable-next-line cy.get( '.edit-post-header [aria-label="Add block"], .edit-site-header [aria-label="Add block"], .edit-post-header-toolbar__inserter-toggle' ).click(); - // eslint-disable-next-line cypress/unsafe-to-chain-command + // eslint-disable-next-line cy.get( '.block-editor-inserter__search-input,input.block-editor-inserter__search, .components-search-control__input' ) .click() .type('group'); + // eslint-disable-next-line + if (isWP62AtLeast()) { + // eslint-disable-next-line + cy.wait(1000); - // The different structure of classes is here - cy.get('.block-editor-block-types-list__item').first().click(); + cy.get('.block-editor-block-types-list__list-item') + .contains('Group') + .click(); + } else { + cy.get('.block-editor-block-types-list__item').first().click(); + } // Make sure the block was added to our page cy.get(`[class*="-visual-editor"] [data-type='core/group']`) @@ -138,7 +161,7 @@ export function addNewGroupToPost() { } /** - * From inside the WordPress editor open the PublisherBlocks Gutenberg editor panel + * From inside the WordPress editor open the publisher-core Gutenberg editor panel */ export function savePage() { cy.get('.edit-post-header__settings button.is-primary').click(); @@ -155,6 +178,7 @@ export function savePage() { * Check the page for block errors * * @param {string} blockName blockName the block to check for + * e.g 'core/image'. */ export function checkForBlockErrors(blockName) { @@ -182,23 +206,12 @@ export function viewPage() { cy.get('button[data-label="Post"]'); - // WP 6.1 - if (isWP61AtLeast()) { - cy.get('.edit-post-post-url__dropdown button').click(); - - cy.get('.editor-post-url__link').then((pageLink) => { - const linkAddress = Cypress.$(pageLink).attr('href'); - cy.visit(linkAddress); - }); - } else { - // <= WP 6.0 - openSettingsPanel(/permalink/i); + cy.get('.edit-post-post-url__dropdown button').click(); - cy.get('.edit-post-post-link__link').then((pageLink) => { - const linkAddress = Cypress.$(pageLink).attr('href'); - cy.visit(linkAddress); - }); - } + cy.get('.editor-post-url__link').then((pageLink) => { + const linkAddress = Cypress.$(pageLink).attr('href'); + cy.visit(linkAddress); + }); } /** @@ -236,11 +249,27 @@ export function getBlockSlug() { * Open the block navigator. */ export function openBlockNavigator() { - cy.get('.edit-post-header__toolbar') - .find( - '.block-editor-block-navigation,.edit-post-header-toolbar__list-view-toggle,.edit-post-header-toolbar__document-overview-toggle' - ) - .click(); + cy.get( + '.block-editor-block-navigation,.edit-post-header-toolbar__list-view-toggle,.edit-post-header-toolbar__document-overview-toggle' + ).then((element) => { + if (!element.hasClass('is-pressed')) { + element.click(); + } + }); +} + +/** + * Close the block navigator. + */ +export function closeBlockNavigator() { + const inserterButton = Cypress.$( + '.edit-post-header__toolbar button.edit-post-header-toolbar__list-view-toggle.is-pressed' + ); + if (inserterButton.length > 0) { + cy.get( + '.edit-post-header__toolbar button.edit-post-header-toolbar__list-view-toggle.is-pressed' + ).click(); + } } /** @@ -265,11 +294,7 @@ export function setBlockStyle(style) { * @param {boolean} isChildBlock Optional selector for children blocks. Default will be top level blocks. */ export function selectBlock(name, isChildBlock = false) { - cy.get('.edit-post-header__toolbar') - .find( - '.block-editor-block-navigation,.edit-post-header-toolbar__list-view-toggle' - ) - .click(); + openBlockNavigator(); if (isChildBlock) { cy.get('.block-editor-list-view__expander svg').first().click(); @@ -287,14 +312,7 @@ export function selectBlock(name, isChildBlock = false) { .click() .then(() => { // Then close the block navigator if still open. - const inserterButton = Cypress.$( - '.edit-post-header__toolbar button.edit-post-header-toolbar__list-view-toggle.is-pressed' - ); - if (!!inserterButton.length) { - cy.get( - '.edit-post-header__toolbar button.edit-post-header-toolbar__list-view-toggle.is-pressed' - ).click(); - } + closeBlockNavigator(); }); } @@ -313,7 +331,7 @@ export function setInputValue( ignoreCase = true ) { openSettingsPanel(ignoreCase ? RegExp(panelName, 'i') : panelName); - + // eslint-disable-next-line cy.get('.edit-post-sidebar') .contains(ignoreCase ? RegExp(settingName, 'i') : settingName) .not('.block-editor-block-card__description') @@ -333,22 +351,12 @@ export function setInputValue( * @param {string} hexColor */ export function setColorSettingsFoldableSetting(settingName, hexColor) { - // Not needed in WP 6.1 anymore - if (!isWP61AtLeast()) { - openSettingsPanel(/color settings|color/i); - } - const formattedHex = hexColor.split('#')[1]; cy.get('.block-editor-panel-color-gradient-settings__dropdown') .contains(settingName, { matchCase: false }) .click(); cy.get('.components-color-palette__custom-color').click(); - - // Not needed in WP 6.1 anymore - if (!isWP61AtLeast()) { - cy.get('[aria-label="Show detailed inputs"]').click(); - } // eslint-disable-next-line cy.get('.components-color-picker') .find('.components-input-control__input') @@ -368,12 +376,6 @@ export function setColorPanelSetting(settingName, hexColor) { .contains(settingName, { matchCase: false }) .click(); cy.get('.components-color-palette__custom-color').click(); - - // Not needed in WP 6.1 anymore - if (!isWP61AtLeast()) { - cy.get('[aria-label="Show detailed inputs"]').click(); - } - // eslint-disable-next-line cy.get('.components-color-picker') .find('.components-input-control__input') @@ -468,12 +470,13 @@ export function isNotWPLocalEnv() { return Cypress.env('testURL') !== 'http://localhost:8889'; } -// A condition to determine if we are testing on WordPress 6.1+ -export function isWP61AtLeast() { - // WP 6.0 uses the branch-6 class, and version 6.1+ uses branch-6-x (ex : branch-6-1 for WP 6.1) - // So we are looking for a class that starts with branch-6- - - return Cypress.$("[class*='branch-6-']").length > 0; +// A condition to determine if we are testing on WordPress 6.2+ +// This function should be removed in the process of the work for WP 6.3 compatibility +export function isWP62AtLeast() { + return ( + Cypress.$("[class*='branch-6-2']").length > 0 || + Cypress.$("[class*='branch-6-3']").length > 0 + ); } function getIframeDocument(containerClass) { @@ -493,3 +496,16 @@ export function getIframeBody(containerClass) { .then(cy.wrap) ); } + +export function hexStringToByte(str) { + if (!str) { + return new Uint8Array(); + } + + const a = []; + for (let i = 0, len = str.length; i < len; i += 2) { + a.push(parseInt(str.substr(i, 2), 16)); + } + + return new Uint8Array(a); +} diff --git a/.dev/tests/cypress/plugins/index.js b/cypress/plugins/index.js similarity index 100% rename from .dev/tests/cypress/plugins/index.js rename to cypress/plugins/index.js diff --git a/cypress/screenshots/background.cy.js/background testing -- should add background repeater new item with mesh gradient type! (failed).png b/cypress/screenshots/background.cy.js/background testing -- should add background repeater new item with mesh gradient type! (failed).png new file mode 100644 index 0000000000000000000000000000000000000000..746f2797ed037f75d4946e92fbfc6379615d7051 GIT binary patch literal 171051 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

+3Ij4R9HqbI=g(hpUL7 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

~(lu>eE zYHx_xbf)8~r!upR>pMNi_9S&px6VL&3-$Rd1#eDooR6qpT>)Xh;g4n($aatAhu8Jm z>0IWhZBebc>X~v1u)4YZwgP825x?1DF#zGX15-o}y%_Q?9MJ^RwvbM)t&fmuYg`^j z7c{!MS72Sx{2T&~Z#|X`sk_Lr!?5TnO{ zn*{_oYbI2@p=4x|mSzFaDU0Xk2Dx$XBAk{tac(j;6Jue^#eXne(gHvVfCu8ZU&wQb z)%IlYdJCPQ<`(8L@2`x{e<rzucrl5d0jg_sWHDw)}uGcLy+R zW3}rN^DFsSSkBj6zC9o$7{oxU9Gu`dGiBNCgoeVmsS$28g$^jk{RoD05PCrjb6#Fv z`iR8{kX?7!gjAsyTLHO@RLq%|CKjHMP9O}c;Znv1D=eZjEX)Nsy-_s?l2Hp8d=$jG*Q1uGqm%w6&o6u0TO ztP{Q$Iw+^!H}q>zW%S=HUijh@2p||5$mQ)H&;P|dgNdpIK+@Srn>N6GapQECc<>F zjS+v#pN(E2BQx_+B!={2P#ngnrD8SHJwQ=Gq+jak_)#&YO8{M^t*)LO7FHfONnis& zvRi{8e&Tp#pWIu*&3bjr7e7|d9M7o(g|}lj0!(D}O93hulaMmR4f&9i#2VdNxGp|- z#0DbmhykC{N76x-9AZq0z<_M~-WK&r3X8?&*4E0zPO~J}gJmzd`r=SL-YOczA4Vou zws$L^m?*%!5Q|w1Mmqj7L|?vx71jB0|FnLQ;4JSgd~nVy zt_OeK+3h~FGq>5N8qExlKD$*;A;rd$zx?@L30Ha zi{4uzI{s_f&EZ^tv55N~-{;=wF45Z<`EbCjPC2piH3K!n{p_`<<_LOxK>~AL{gIk( z-R+z6#`P+Ig&7l*)r}+D5?g(Z!;v3*GP(@zr}N#EuBpG_$A8LnvB?sH@5x+)Pr*F$ z>+1n^?B;N#W8kavXP&dq>yw^6$j=w5VYp;T~;e#fHFUIE;JnyFufiXy_l*9lKXD;UfW$ta=Xkyz2k{w$cR zLrX_Tr(^-1)z%mR9sBl&aWNt~nhRCEwM>8Etd_R%H3N_5xcc0=Ih7VRHWqh+kLh5k zE27qAujyrm& zaB7NQTRX0GaWOSQpx7E|)S(g^yMkzPQ2+el9e@usSKj(Kj#rkNZeN6aYW?nd@3nQQ zo)v$>^$Tudu}(Hd9o&H7DVr%5-t+ompO%Ti)#02W%igc8$j5MnkexhWtaLTkh&lO| z?>c7Z*x2GCibUXzE8Vqyo$wB8+(K8J{rH$M-plx~3B>1I?m^~mpTt{EdOpB}2FQc; z^)qeXzQM6D(c&#&b&w-vL#b?s)`7zWoLmvd&$ZpSM6|;tu@s;tY=`llV=o$r${)fKiZG+`u%ht8_@)A?PZg}~?U0u0@S z4)j>x6!h9wog#PK=O^91J4ZUyMw?>vcf^2eI_A5N1vIs)s^{00j|u`OW}WImWR zmX)vfMeN@ct^BCEup9<>gq_J40WY_D0J+U{Bo^&R==GY_#Y{0PC-A4s@7p@$B7h`x zQ%br_(x{Hq_K=Zncd95TEj6iU%1JNC7f!2Hw*b;9uPxstJIfO2hWw1koMSPnlCA>0 zs37Cg*$=$8_Rm6oSb})dv^)BnIjS8*M6pXt+kylB6$W;8($^VNb5WgjYQX)|xOb)d zqgf**Ej16KJ&#A+bZpjw<8Hf_`p{lXJ!+OyLrJNS*=}@~oyL&Ax^IhUM{Z_%Vh$6$ z+x$Las&ROi{w`bMFm^Z3yS3p|g)AqhtOXM(@v@mGP)L*o(3rFf_Kkwc&Z@rqhSYPY zE}cct`Sv>pk;S!-_-s@V{a)$r%VvEz9maulr-lA^yopNddlc@b&juZ9CTbYntGg(~ z^)d|o{i5l}gF`}^=h!6bbtoQg&U!3PMbhMr_-*m&b5d0sapPUuc_Q}=R_a!zC@I6S zyBVblkKf{?DMo>X-f*|SlpBnD!_mH{7jPf|;I+B6(W#^0QWob^u0_PgV)CNhX67#m z!1^C!aYA>*>pkh`$Glgi4-agF+MLk#04S`PNnl*)@_$i=7XfgFd!PT<6#}6GH*Sme z*@)wU*K#ukV~PPbPq@_V^0#gL}mJV!dZ@*}lZYrFt0#*kHcd;kViTK@X9MDd33Bar` zE91p)U_`gVos$Z(6%kysps3=0=DLqhqon4pBP37W~|k9 zu0Kox2`s>rDy{kT%Gq}5Lk}P{@Y00SZyOqG797{EQG0FjP_$X{&gXNKsF{pC=GwE( zgXP=vyUturenzk>)8m9^;l`gEhAX$!zh7AMa-URg=x*mZO1*mZr-0vq@Zrx{p?S0? zp4wnGd54N)cA{Y}hqeUKKOFB2z=7q;jk(F=%p|i$x9uStx77fK^!yw-p)sF=qXVSG zH&89XzC;6H6mi_gGFWYFf|z$sr?79jL*;-S*2HICpl)}4ak;Y851(#l84Bjb@SXgs%pC5DQMY}HxVqD~|1Jb}?P3JRP7)%Xd zX+XpFFF9x^JGR)Bpj_o!!SH4LS(_|&3L+d;E#?GB86cbvcoHzDXYSs#zyylp@-=-{ z`V1&&IB=CLe3KUa9* zDZ`;XW;Vfa)aysOyxU@zGpM@z%bSggrxOR=>!8Wt=0}2fzY(6AB~rB89$U@w_W0Zi zW<^*S4+7DZPn?3c#CM;(^E=)Tj@%cZzr)qX<5XuHDMt7RLbUastxX0S)4IzdbmB)- z>2c6f_+YcA6tTY)oShbHjbJ;LO9_==|%SFgws(FQ`+SSLTf;5>nGyl^(< z5NU3n5&PjonzP@Ak?%(0Y-NG}G_qiG(e$vkeL0LyKNlFu0PbJtV-nfj^A&g0+o@(% zj?eCSb1f!15xJ003L@|dkCk*DJ%TH-qChsPmO<}}9Wf}d@!>7_jHnkD%+TrVWYuF) zW)AtAH>Fvi*jTF;O29`y90oT3I%x>M$AK0IJLMJ^%W)O64rQ9h06%H4>MQ`N3Ni|( zK8ygXU2N9Lqm3@{mbX@z!DxqAN=jvVsT5f_*%@(D-_K zd0nN&EVuDNGDo?26LOh5Nl-{=F%Oy2!{fJSnrxzWIIGz;my_s>1^6E21-b;d$80ga z=BNej_CceHucUrE$LVOk1Vl$?Ji7J|{fKxTh4`k;;cjzk`}~55E+P`)o6(Z8YdE(! zKDK8cP8T)el-zJQ>0j|=;(^FU;fDMCwC?;SUqkVWOP#$9DgOFku99TlE_YJpxr2VO zRUzcQ!PU?oL`ILSEGjPUiS|DXcG{cg8Bt#Lt_o&+p%f{8Br)93;G65v5@Af3(8hTR z`yHAASG8tgfpKx83s>$vHt#kc>F=Y3KG;Mg3k=&M^Ye{9OG;{MTP1TlKNGUY>lSF~ zKa&Kc8sa*QdhrIZuC!fIilUWH-80Ijt&DRAfDLo3Gd*3@l2@9pqN1ybT*MCOw9al2 z|K-Ae=q)ZU)H5wK$srI7z&wEMzCBGDk(e<$vByiJOhl>$3r)FF$2~_!fUd>kemX^U zO~&=uYANw+9&c8Bm=h*O;T|5R*6l|`gt?>Qc}fujzNyx$JHL!rE00Jd}aKTCH=MJt=I2QXW6i7`uTqi`+EJ+W8N$E zsTE}(l2AKCt4ieD@eeng5=$SkP~GL^?0ST*1^dRY37R7Mn|~C4U=3%1 zih8VQM0H>sMvh&Hio&LA{+KWevFp|IJMvRd6wT`I=YNpY3G0ds zyP(@1#}xy2k+ci$jg&|ye|`3Ro<1rE#OZoKg$0+V4wGAL3kRNO_AvWP_=8@WrkrZ^ zJ#Ei#KL+wc-Fu6Z4P(7-Rm)W*xvty-GPP(gZ=u24kIH{4f2Yy z_&tM;%!p%AbXeHso0o%NaELyhV zSxHF_%R`!baVWOCe2X7>QLrQGqIwf#K3zv=PtQ_-W5g*RMD)g#6mb&8Gh3JW>I=|w9?KLEEzTf`sSw|$`xscIbe)?n&sjeygD zpyR`?K8!iA5P%LG{pqWy&j8?m&kdoIM>8 zAQfvtQp&FwXv>3xLfG}|cbP^`rGB(PA9CHjs|LP6a1etA-QDyLpQ}+DyG1d#!YUSe z6?uxbN8|ZyV0-J+E*QLvFkOnuE5OUBudjzI)PRkt30~q$&gc;?vr!vK8X@Msvl~{ zW{424rLQtNBy<@t7I2;PiT3@6CF*J)eSEpv#J%)dTi<~f*y=lS2;>N!iU8RJT>i%p z;#79nRyXl$y|2{?Y!7wG_dbUQEU|7!OyK5F#6|&5icD!~DIhPE08~>a)BYK z3TH{UXZGs!nKP8vuV>Asco)Z|(nnOl4sW;8Wq*WZl2ccedti*Ac`An=hgffB6a1Fxyx8;*aD&?`MJg%R$o2?r`2!+m2Ftup|hS0T^I*W_}Hw zW5~^LR%gVlyIdwz=Qse4%TfnK%S<|t#Ii`st4BmY^9QA$pC180ZP*f1iNoE=NUy0V z`Ft@PtU>_}P6aRx;E|0wp_?Nac^DZPw^s0ma7)3&*yQA*{(h~l-Kr|#3g>Z?P->pI zCiA>QHWG@!^r`X51~$q9Y1e3z1iCv=FT#wZyQBR;T%CV?!>UK_HQ7s>v>?%W!Y#fSkMT)6V1K4fLw9xD5F+nbS{I!4bF;SzqJMLfa?hWw<{h8uaNxgZ#r3j8b$#H zq0f1=Ub@@b(xNLaUO&d&Q4r!NTQ)>$g&L_fCNBQ~zR@gbG{67RfeYAnY0v7->(^Q$ z&Oq3}vs5JxwcwjSLwOY7fS1&dRAqz$Bx>XAK0sWMQh_Awe0-W>UYqZ+Fl-B>KPLvy zZ92}kKmK;h?BHXL*HK~-yds{U+SThAcqS%xvG+jr(&j?Q=?5Wr_~F|eqn__0*~D(j zJs*_Ag{iJHCSn}{eUYD^yf29?Q4+6T|C^gn>p(3D#0H|B1>Ki!j+E{+$1F8@RO6AW z5_tnh2X(qQ=N``Q1&hSVH1@*-L-d8g?m?3g9pAslj4bO|T3W_}JW*OCpu{2D?l0m> zh+V6aJJ1GhR#IeAX8>d=&Alf9N~|^CvFKw?D6Sv9qj;p;o?6a`tr{b#JGO1PTM`u& zbvy90+OqfkhYxE%A0;vp+ul|m(>TVRuJAj@M2*P_jmcW1PhJJzK|U1>qn%5D@2>N} zdULL)qA~>}od#XLsbP<6e3$5A6_X&hXSZ_Rdvnn**m5&^lw4NNp~hQ@4=*9!Ji>C) zHEh4j4dA;DXrZ8Y2)fktkZ0EITu<{pe!IJ#zJzeiHg?_7j` zKY2>?=YQHw{QQ&MTga_{PawWS-bSHM!mcMDOEx(OCITD_-7a|sNCK-;y;=Y^gUX|S z^CVAB`f)ubF|hzhh`s%NZ_IUm$#dt`^SspVc`IsMmuv#U?aM3zP|$-}36lt@ z^AcOqf98KFklPqoWrg|#fUFVY@Dq)}2wJ{pKV^8df@kqf(#4sOG;@Oq}$5M3OR z|Hyc-&Kph6@bC^4HeO#xTnmBcDeeNlZ)#)ZbhfEyMQ6hEz%mr-uVM+m8EGdM|AU{J zh9)1_)(Y@1jg6|dE8pY!SfGG8-PF|NQf&ktWh2We_W@tc2|cn=hj&7>Pv7;t?C!ie zRyQrOuTMdzR?wvAK9_pNJxkXa$|AuBP6)qx(kD!n5aL`pIfOfaGh#d2nJnV9nF|`jSbw08=+HV zknOv_ZTIWPXRnP8A@`|oQ6fHZ7f4Ap!2T}l>+9u!nqeie`TlZxdfCH!(zkEl27bhF zxm`4oEEV|q$Fj>w58nUJtRnjgh_Lyg+%=Ew?CjuK=NWy}><0?-28;@@ccB1w1aKm6 zVh1o>X(aq=eSCcSF`lghWq|WKG&H23th@#A-B8W_?d6K+Yd;%A`qEYOioo5cRUXih z3+UI#%#=&Jj0tqOj!nDd<>o$q^X3ij;Sd>-3N6_vdqQA5>8Z3+AH;oYoG{CkE-k4q zX5yo3oC9gWLnahp`2SXacWQ2mqqRfG0{uC#?43#ft<9|9ZfqmV|takd=|K z1ycvMiA9haqNUCkGjMo6{kY_T0gogVWJpNJbz0iRWsTp9O1du&KRU*JA`#S%|Bp0K zRaMp9mai=>_Mcy!W7AqJ1uL6vP{?`g;ojaJQJsR9ga@uU%&ku7b{r1fY@bFT_uEYW zbIeOuoI?B-8C|Z#(XKR*WWZ~6!5F~?YO523oK2<$04E8c@%g?yLBYYO?0cYFIv?+A zkb7fZ-;J+3$$I-er(nfk0uZNntc6@8gRh1?-3WGdCee9d0b78raknSCaqp9B(l66P zJC`kiw&1S^JZUT4?5HaJ8x2!OzI}zIup8H;yf4=+u=IPJ>>Is`0 z=#h@NdhnIxnNR;wDaf?9Z!drVu=LHFH;Gak+$v3@C4&BUvHzPkkd-`9AZnEVS^p<> z{otS4A`h7OBfRdn)_N|hW1WCj{HH;m?7o9daQ^!DQ#?rN(A~WuYz+44CS^R)kZPv2 z43MlzqJ2y}l3oB~b+#bG^;6!$V4CTCox+uqZu-GxLUEGXM?9&M6G$`QQGsU_WZ%YN z>Fi5QeY=Tst-vR#=|9RQNTLdz^?C~Ip`-{Kua)sRl+fHh_4!B!=br*5T zL2@bnO~l`t8HA*bsyHLg^phfz%7z?(OAHjkU(nf860=KBh(7^`WHQI{TOAsRn=l94id3ep zx3(N7GAr1d;HTX`-OM$MbnJ2F+3p`I^&8^`E-6Hkp6|cofaGUBm*xQ|*m)qg0~o}g zE_xDxpH2 z^$eC;#HOZ}0Q!UN#FsY)l@9SHUh^yIBcQ*6~+cE{-Fe$+d8m){aAlM!en2F+ERy>BJNJZsFp;!j0W|rcggY#62J6spM^L zZo;}o%B(^`&WTZQtahO>#$&6VHGlQf%QH0h&1K>(z^#MR#R+pvJla~`WB$j!L<D>2kdkJ)q()xb0YrhxjF_XCe zsrGp(CzT@oL%tXhq{Vw?v<}N~tY3dNl{%~O7*-WOl3>LXCq8Bw&HRQijJ@+|3U7X* zk{|qIkpyUtt(VmI;yuTU{0|pRi5X_vT3S;NboKPKtR2+Vqihn*fG-)`cpD0qZOZ+< zy>tEyt}i;P@lIW}U|e`7jkyuCUM+s~hQZ83%fQQY0>MRG+lCz8cDOtbSOWY$yHBCL zY^gpO@{GP(0BET|aELyL6x;q#+;Bty28hpk>;JIprL5^_|$rBFXaKxm_uCL#LUc$Xx0LA zFB9Bu$#<=Z8pPhGH_}DuO}Tq!t4(o z=%@N0RRdOg4y$s)^S#(d?uACx8pj8-5(3YEJy{-aFa;T8n;uYsnWw`17R{HTy=N#M zs!e=2+~3g^@&CWY98AZDUufiN9XsiW35qC0aw+193-2f!#xOw%b|rO|0ZgWi!$X^c z9m{okEMUF|5FY&_!Jisbfn2%kSFiqQYHAA1PLMaK0_JVv&&f$*){6oh_%j?}TRBBI zNCREk+W=UI4#;}!?dzLfTr8MwN3<_{{C}K%cRbba`~MM9$_g17B_TrgCJ7nYdmSZv z@9l`Bl#!9_?Cr?jLI~O8*du!r$2yMly-)A)`FwtV{yY@vc%9d{?`u4-=k>fcx61pE zj4%i&42Uy*y>a741-Rc}*?>xnB7hp;rKz^?Mx7W|RUPm=?kND$O>UL_6blRn>*qe?`Ggzjv`HSJ?esv_pROcT`XFs89cB!0 z@vraEv7YO~7#hDOB)&G}KL~zF|D*b;g;dvaRG6z9V!%p5qO!bN2@9&Iss1OHQn?1; zK`l^mjZH|%2SpRx@zUoYHA@36ndyX`o||LOKoi6m0HFY>d)ZBNd2uoG{QO)I;Z!@F zN;>@YRq4=n;KA?TOS`+=3Sn>Gvhg9--EIVmhBu&ge0>fF2?DrFOw0^Gg^*sHb{^Aqc`X%vOp<|lJ>^dwniT{j!xl=M1Gx@Pim@_@~JKYZX!2* zBOWxUV-*^}Bi8(x;yIgtUo&R|Je)Dmvd9MFqNSymz%2Nu^3aQUfYZwy0TacZB?&%@ z=673DyT`&(0R90ob8WE5M?g~TzCBqvO?&e_92kDL;b%hkxwurYO|49K?;=sV&Dcup z5Vi@>+8^5h4bnUQ7vJAb!hYvz&%rQ_7JYux!<;T4Im8ysPWBfYjcA;HCCciL+ZxGDSeK-L{??!Gl{LLznc`qKmS$kZ|&VyUazYP!-42|Dy_&-{_7cTIew zKR&i02R`^#diMy1)A%-4_vE`eHj6+lQ$~$J&NUoft$gGm^5+IX0-3Erc_g(HbK0*I zopnd%4I97*bZi3^laT(X?P^iKlTu*p#21xhe7m~3u<03SS8M_n8@owCZ$rweQ9ig$ zY=A?Zp8ovzK96soCFq;IK<#qt8m>=c?R)i%M^cf_rgdY=R)XpLw^yJt%kB!GO>L8c zKlycFqSzvC;3H$6B;}2<;&Nu|&WIc}*(Nj}@BJMmQJjg52 z8x$0IBvehD3U$8=_9x2(W_u{GvtnL3djFL~Jfcau7|(bHv)lg*@B&A0>Zpgkh#EV0 z(3B=Co>W5>1>hsadVX#H>1|JD{?{J?=!)%<0rouu3rHd7N!RcX5!$*D8dDzjOKcui zoqfgzHBKKdc8{glQ-;~T73?F7i$R460NOesva*VA=hAx(t8BW4R6&W0J!LAxo6p#{ zmpa8=$5U2T&IWTqVLx*dE?|pTUlrI?skz|MjTi|$ILpubkt5=orfo6yykCT|T>q}z z_0hKrGNT#ZnxOb`U-EgV32f1RTV=8^i6sJ|Z|OeVz1xJyP4iz)IEE*&78oM>&Q_+h z&yJ=>>&`X?Hx43aH>PW2OuV-_{Z9s?c?FUWBFhEN!g@y2{l!2rfsKz(X{zcTXg7{$ zmwYZ?n}}PagGS{iL}ztc^r_2P=+yFn5GwItDKk0?aOWR~M$#dZeJys#e;*$Y!&Vw| za0xWrm)AamBsBMhSe52Ri_GL<=gr2WNyF~mLcjN~XB&Ms>TF9iLW#Fu^3qgt@F={O zG$}|6xX4a~pF<}rt&8h-l9?Ib!&k=}kEioNYqY}9bS`wD34PyurNVB|XtCs0A;U~P zJ3G5ZLW2I8S&t5{UbHbX4^AKMc7vY z8yh#Qy)OYB_WhIofpGQ84RUe;hiTzjc5h5k$>&}Re}KXOsHh0x{wK|OG;?48d047m z%9N3$=)%Eq5am)vqAMcFCaet7(|fgX-fY^n-V>E3!#_JMtbWF2cGKAo=fu4srYWl5 z33vpBm6uH?n@ISs&AD2#v#{j++#ipi=XY7Uk^(c4dRA}whVXq@cklLKV<8}CQUa{O zJ3_#LE_=4o*XGyj&BHOV-ObunlM;Sqq$k42KbygOO%mJOU!~v~cNK#zRiyA~w!Jad zvQR-C*}Hd@zIW?CBp59=v^4fwxI7ut0RQ=UXQtj};M+l^t!FetKxw>OWYe@OSDyNW z&<7SHSU4-Q4)zHEKUw!HtjDd>_}F^6V7Djvc%Nsp^%{4S){Q5HZ`*%u(j0u>%I!(6 zpAR|!mOAhzH~Pu(jBkA3_5n$M?dQ+bNKw=SB1XX{x==o80+Q_b`Xlpr;^Ao#z8*T; z!HiliI{rtDel>c&M>-7O3ZFi;dYe0@(dc`8C?2p}S>2tyiM<29s{;BFS6AbjEHb&8 zwa6W6w3{6#i<&oGRk$Tkhjt;Mp$gGrRfLIe96qr)^mtlAyFB&WGXZH( zZIiCMBEc;sB~=W?Bwe7oRt+$ljvM3YDO@%4;^9rdTxNuw8>SuB6D*;k4rsH^4?}Gv zvxN-}e(24y{AJObDk+EDM7KOX0?6Rz1EVYqdapb>`Y2BqUhX#WR*4_gB@e`Tb-G5C zj09g`q1Vd!U|G=TlBuCd!Y+n_r?uT{;~MfG-i>DVudsU8gt=g~pZf~RO>V;jcY+1n zewa!e?6LxGV)bTqcv1u^S!G0qZzry2dBp!%DubxmJ{IU{U&ieluBc}zbY5heaXqH5 zL(LNO{9GTqr^3hR`!pIzlZyKPo}j|MtEh(+yahv-XA7sv+!piDsW8f}a+t|^9~z=lx|@Eu($zA9`99}%l%-vH4o~87nx*;Ila2aOskInYNyM1_)eSnTLXMIe zqhS10xHraIN7vZD@hCUTXXO;7f7soyx(rg`eo1Hvpfu=%gh6LV`%8 zGs$1Yi7)9QQ16sbIby@4;pa zyde`*3W{9;XNT*?4vq0pAG!4OJ7JM?C9oMmZCSy3%N-J_Vo;)}+o^Mn?)bov?|onb zFAX-$$9kyDNbxVz({wX#2Nd?Rw9pm5)f&ASkEv(TSyWITS$N}q#OkzePxELP<=lFu zu8CH2fPaBsI9MbC$OzxVnPaI>VpPLfyelc_f4Bf&QxnlOfLSr??fE=GC19?^s5q{$ zDL!(d2zKH6Wu@O&2i?!eDlx0wP$q4ymoeCh-mBt8+1%}yUdd3h%#AQzP8icpr~ z1usI|Trb+GR=NS@W2M*7eJZP7T!3D&e;`r{9@p!Da7UQ9KX#{>*ixLWhSsLvNj0;! z4vlSagw=k>CF%-&k4yep31Cau3@z15z;(wK?)vzR83|Ye zQjC#Ps+yfJj&1XsS$Z03J7 zp&Ol5WpBVC%=W`ooJm|6)c!s)&$#Xer|!*to%KOUNMKsUu?`iq!^e$D_>5%xoDb57 zx-8|Dq&XSZ0_kg{cws#=sHA-7Z7I|s&eil(O}m3|uA-f-;%sWg{{PzGGmykiHe&)) z{Y(5hAA``1fWc2$R#p(8-GzWtrCp*;4uzrZ6Tn+`-UB_{1^VU9RW=S|{BnTw|L1gM zDDiKsUZA|Q>4v@Gf+3+H1)8}L(OEPkk~>%T<6MMOd|r4ctp3=Usr%7+u4^I$xN`^N zR{U}GNAI~CGd3M-w09d&(#EkRm#;|`>>=4_SnADt%3zMRn+$&ij^Ebd%6pNdw`s%7 z>M&@u>Yv-b5seUqSgg{0T=L%^s5VWZ~Q8nOIVXXCoqqH6DhF-5pLznHx55lf+c(pX%?#7VV%NKeV2 zLUe_@pF_DB2mTeVVxLS4|8Ee0RhuKvr_Pf7(UpPh!YTi0VMn$aWI!R?^?8Jj2 z#$2F;m7v^Y9?{wEaX6wCXDmhzyw?2W{omBaqVWyb>8F!r>+y=6akEN5|L8X!B<6^D zvnAAWqf0+B5A1%Q(`-vEa7<3aU&zHs+rtSe=(_1-x&gda%N$-gW8w_?`k##tOrJCm z!-xj@toop&0R9D9Hyu3Nu45F~57PI;K>bwS|17z%ey2`TReb+7s5_O^{34W0W~PF5-{bQA=x}g~Te#1im4xN7Hj`&tHgM!zgG31Y9`x#ryG=tD6R{ z>IIG#OsI+%yytFGi(YaP2Et(_6%{hweO({h5y1M@$Jc*q9)(70Y3aFX2uy8zV5?*N z{7)h!cx8^IPV_<+iL-MHWkNjw_bPAC50nNA`gQL;Ed7|(E!ASc-h3O=zyC_Wq_B$L zM(cO^Pbr69?KF6PRFrA|;`S5=NiZm9YISuHEV&8y&|#K_xhtQy$r*c0+yk!I6rg1W z622a~{i!pc*`nB>;gB3$xNe`Oso~67&EG+slg~*Z3aUWxZAdK{Gjtu9N6DexH{$O6#;74&+1NoU5kr}DXh=!AK-32XAeDqM_~bzfV1ba zwYK(X*TTsN`a+WfFTkwMW{{{`KV3})GC(AVsuMiUlleu$F{J@-G^$`YjeeK?1us^V z$Z*l1%3et=SA~AG1e|VXT$N<%J|T6qAVNy80gqUDoSP9^Cql8^pqlI@M|iPvRh0a930%k!$R|rJnmdD zQ@p@WZ2s&DSg4&5+Z+;90Bu@ZV^h$0+zQ3{c5sG_WA<R z83zzX2p++@m4`~mBCWi97Xl%#uP@*2o{sw6oOpfP-o&g^A z5d4#0DKLw ztK@-#SpFU@OUygsz{;)h2-uF<-!i>wX*Nd=GV~%o%$lJZ$KJDRBC!TiKn_i`-jalf z)+-=n6)T34|I&AAX$hUWxUld%I;*HHlp|T_@K*~Z!(6qL>;&x11<1M$Ld-4(>vMJB zXBto#@?C4|O;)g617Bdm3Yie8A69$rL3u5kE8j0kL(nNkO(NZLZX;w33I+` znq;E5cUei}k%0mhsK*Msh0_WsMlZREj#fKDvD_BGFR;jl*H@>(WKPde{sxmcd*i-; z^3K3B7sbnvd+R?2mA9Xs7>nHqKzz(Zl3&DRft!rY{n2Nscgypc`6(&Jp9-na%RdwmzDr+Omt1PyPM6!< zQT9UjnT4NfbP49o)O}x{Q)|#($b~?s0W78Q?_j3+9 z3tn1*g)>`zo26`ll44#E27x?DR$-{dwsYfbAHi0t9?0C)X*ULdHk+fENS!+Kj{T*j zmHVu$hSB`LqSM2|KCrpYuDh(in^0AX-f8j;E1?lH!0B}RW($HqJFH;hMAXBs#( z%qPCu+SbbN{<|3K??)RACk9@EyGMI$`DJgDl0!8wr|!RuA!Db9B8R_GU5d^6;+qrg z1gy9InU>~%l)!8aJV$gEz--rm5+4GTW!M!a0sjg}6Ju#fz-)VDfYRI`s9@%T8lu)& zqA%)HC>Guh*ZGxf4|8#oc8>i?ECoj z#dZuQ-)dXrC#!*PIAIYHL!KPXYA;?y1DJdyUsE2?eX+SB!1~N6OR9fOjV7XYSCQY) zp0*oHh63wVh7^p=#+-(N+G=WDRYV|e8sqD4(kecSv{<$39`QXK40SA2iWio+SPQOm z?8r<#0PQF4J;j>Hz2M^lU3e;}z-eh|Wrc;=`Jlr+4}tuJ&DbIdVk!H;%WlO^_Q`7i z8utw+!JCT!{~4hA_XVqhEp6XL-sBv#b!^ad*y%Zd>drN-f^wFkQv8DfaCJZiNqefQ z7;y25IvLW6I~h`(HIUjb0lAAquqv~J+C874#xXHxPD1%H|^Q{xbkq!W{P>MdBQ*BaP>=;ZGJ=Kx;y@&R3 z>TtWqyrpJpdKVi7u*9f`k}wXAh~>s#P2vq6-EGh2HOF-Qm;i-5vmdAGov;oe6;jRe~z8C3pu^bbrY?-ZY&QuQXFl7Fjy zK^e71r1-3T)c0ALQ{5=*;Ti-11vbrIJ&#CvSGRL!I3g^n2x2PjfPf~T@s!(|!K84u zNuKB6DH|`v6*`=a#WFo-oa?!o{a%BIIJ(`x7H}j>DHbMh9{nD8*CLDF7cT|l(Y8XEIH9;S=$FmTaBXGf4|Q($Ye~RjGbr0q z0&w({=x2|-pUG|V5gTC~@Zl6s<)PAaDgbWefJ6ce)Vp_2n?tvF>>77pe6Ir>G@53Y z?EamcC#PP?8I`CT{%3J(#LB1bP-gSWq&$DMVP>4JMqi z3c*_sK;oeOkt{4CObe6_K+)J_8}UGx?P+gfJK(LxD#D>Li5rIYv)B|)xaogev%Um? zq9^zSH+sTO5F`nkL#Si}jKha&r9vT@P~uV0e6Sc-$@(lYD;^p!!C{+rwJ#y6pg)zD z{r2rgH{Z)zl-CXoWCOmoj?O10CZ-0p`)Yg%2?>NGB&<&Xi8+vO=wGsRQ6Ru!z-nUU z&;4Pc>(?4VTfFK~uk_f36)5GFbPTE+RJ}|Gy#uL|KunaM>mTlk*&) znMDaCSZf4I$pteCz7z}$B{-|c!{dc=Jy!f1g>aoUtD|=WU4aEof8%)&4Iuc*n>ic1 z^l8IpF-Eb@HRTvyBx+Flyv*SG*~MtbUu-H!;35;m>&<86l99qt>2oS;faSB(9jt&9 z{FG{C)KXtK_@5)rD_2|ler2v6Yj$0+^YyC}wfyyN*Wpjz7AQmt5tpG8Ni4P=wzQgH zP0QEqFCVG0x0RKb2O`4o8&$glj4-=FM#C!adS!mo>A%x>;o;iI^|Rx%GVw;F>^-sP zT0`x-PpFwCBX6QzK!=jqBSVor8X;%H0GDV=>{x`uqRwW(HRuw0p%4dYK+Aa zIE01u0ACh3!Lx&Y(~#GAwtz_CvsqltZ~85e7Jjf8Da9@>ZUjeLso;I?dsnZ55p_pC^O)sw+ zQMa`(peG2iAsS6VO8RAfo)na&^aw~8V$;&nK!MxVpZ?EHZ3zDlr9JmDXubja8?@l* zC@AhGKn$Y~vzyHN{{0C(=#|kye9QtJTkY-c8gotl?p^od zt=2#yG+L-z4F7APRuBF~I|XOxG>K)N2Vl^iAZ-Wi=1L6}l?YHc#gGAWIh7AxUxZX|u_vHGvtGJMN|DKuE z6HPXXyyD`J+gBig^}9{CK&seMTs=z|+V+aCU!1&pEj2a$-m&iCjxt z`;LGBrAIxzN-jANXyyR~$qyiHm8J>)>s+japF?hw{reHl<~i+5prN7i^0#5x%d6NX zGc@X>JVOh3`lXir40)qAfKQJLn0c>8ZQ4PS%EYrAg+9u4))O`y&PH=rcP?)F+XwT$ z0ewqlY;QOqqH=`03zfahdoZ{H4j0&ZVM;Dq13a;eI3jySEKAVC>FTjQ!U={yo>kvlJT5LsRS z>ufR>-rxlO{cOP({uk(@o%;Q$`rS_#60i%upJ`H3L434y*Bpx5bLLp3*A@htVUzq{ zc!0X_d)ty)e6Sp6nppVw$N}4uZa^4d`2v7`56K;#*tP}ja34UEE3s9wV>9|DSQ_g{ zfxq8Misd?l`JWrY#6)XRR4n-bqisCiIZ^stX1p`1XL-EJ-f+B=hc+C$+}kAoy_Zby z5Apt8fN$Tb2%LT1YnG6Lm9cD@k^XhV)nD@9{?}?4Bt`9--T#<+>F@P{zVbi2%j(KY z<{li#u&%DW7mLgjQYMMufwxSrKZ<((b%LVH|If>rJ9em!I4-qx>~ZWv!?*u>^#A#2k_Z$98JpXO|{yDf6-i!a< zI772jXu{S;qR-kPZ==!|5HJam(L{i=v&w{zx}Lcf|!cD-fN`MDnj zRd_of;t*=Oy5d>>?-iq4t_MP1@`_|=+5C9vk|)3u1;~Cqp{jOEL+0_%+q<=aA^dQt z<&!vZqK^>C%nM?0$uS%u~MQgHPPh`}_`Dof3 zC{4`zH7c1>hIDSi9b5WRpkH$8>XhaHm5(Q&)!Ipz?z+Y1Yg@UGNAtnQckbPzq>TH> zE!6KTgk5aN@0-XMoe}-OhB8S|o{^E`;ehtvAdP(Rc>cagKJML@Asrh-QE{FO(R}?f zv7(nrU%nm6`erQ#@ia91W^3*u^5RA1+lYu)M(KgQL)YVbXwnnN$;iU#C@DXZFwt7q zSWti|6qb5;m_O?qnUj%msl8nm0ttEi3Ur0#!(HVzzkmNOZ4JcVG)O*-CfctW4K z_rue-LoX|;&*rW9WS&qYN9g2f*_`-E{#bIk5(I&ez68xoa%>ceBRcU!-9}5iG{AL6 zMJM8ycfH=&U>8pIzs42Y^YX{fpI|=3BQPdN*}@e*#kS-EIu-6pN-{7+5`=HWw|4)- z1qdg~D=OGHLMps_7uB_7<>2r*X=)}LN=X?4wCKDVP5Akbnzf8PbZ*|b5i@UPFKcdo zuSn2#_ZCt*xh1fo!i_CX5l9Mt`I>)!>p(&I=@SDV(U(DiU`*=>iOYIJ&575`9Lq;s z@tIXs_yU!cjSl45T1+DME-NT>0neTZ=KGci>cXeoB~^<&Zn5|D3~o5R=HDIvO#QvX z1_uJ<}xn%D3;{y=ogI zd_PJkO&XQ@>CNHcbvlvXxQU5L^%9?)QV$B)D1ZI>1=iTWz#0it#MqO&+}tD?Y#CKm zIjXA*rm6C1V-CoVr~QwBfqJ6;#NS_{pdc8oUAj2B>GtEtkJkp7(*FL&X~Cawe2~k^ z$&oJB$*irV0fJI{UcUVmlkuAki>q;_;`}#bI4qQ;C`CYK;+#%!?N{AY_&9?#5N4 zd7}fHL{7C+ri3mR$wiB2o}%;*tD6-ZKSYLtjTzUC!4FWjE2?;-Q+RK!kwugRA7DQN zn{K5B57@Z5bJ;0GM?S=3iS7f| z?my@S2z3fCFH=(P`JAQEWSaTCZ@(Toe6?2jO>(l)cbiH!INPoZ7c(_^RO-i9g7MeD zwfmo;2h(gz+SH_Ekj#qtPdq$`uRA+GOi~8D&rxIDFk(ohJ8OU=L49aPd*@wlPYT*3 zT6F`1N%IfsK2`4`-^*ylg7>VP+Egx4yUogRYhUheGBE*rVPRb(>uZebUY({BPJTD1{yb;I9A3*Mn`mJKT1Sj#e=w{Zo?)k zD+j+~%Ftl%cMjE8-~Juxv`BWvkV1IvP4W)as32J!)7_@V@!uOgcNmpI*FIA}Xx?&B zPT&m_dZz**mTS;?eSmI3>;R<6q+L?MEek*nJ=sZ!-otDeQ z=jwGInQtCI_I>=M^}wG{d@Jg6>}xO=W@zm_6GkzNZ9jGsTM>suIY45DR z@BSo5(pRg&7e7CHXT_6Y7a=EG<@6_Zow<6x2clL}xYwaR)^`&< z0`4?=u=Sq;z2)aKoSW)UXrvTo{kUf5%`KiPFS~F3TL5cr{lp2+$gZ?~BrDvPc~PVd zjEhc@9;FizLPlWako7>JAS@M#1*%%IxLK^p>$#5%PZAD%(O|RjR5u( zoq!k;jbqaVZPOgme_;E}HD&cfcUy6F5sBA~u_vZaDx&Lk{mz*-V0t2?@5C?e%$*${ zCqXeJH=zv_!#U4FZ(jk5bQ_uw)77+L*qkqw5WF61mo%EE7F+6f?b?CH#I1^Ra~NX( zH;1n2&ov$|=S6(K)6sYwf6xe1eRyYQ|h=O z&_DhYL#J8fMdQ@B+!*YBcIy=dQ~XS4o>ku#W0kjY^%Xy{LWO!2rZrpYLJu@Q(8h%V zN*x2KtWm%+q17bc!?zi4Bc&!IfDflnT(dHAK8+JbAKo9T%3%9-(C;xHrwb+axi~sb z+n7r6P&{JcXx-9$amu1dOdq>LwmDWDH}>T~0%1g5^F>syf{jZwb>)u)!SIPsTb?OXy%v1a+tBkND}If%{?%)!aR7yO2juD$W=pD5 zv`JQt+QgMz~@*5*Ej!ONcLl2* z$q1Abzl>Qu^id`Q{drD{lkQ$i=>&B|BQ(l9gM(l=jsY_ZOUw5Dd?+JvW_k&6NT&Sa zR_y_4b{OH67wd(sgPC6)W_*5_^Nx&-%%AL=1>XLW=k?&ak3>oHf?Pw5Gj7w_S)p`N zuIne^==j|;LK`#+>_*0pJDzZIXX!Zk`pB^=KbuXT~_GohRp~WF}Y<%3p z_Egw8YWwtLmh5<~ZT5R*xcEo-fVPQoc{5+2tD1V(@K^-1^TsegVL zaLEBR!M(R9L*mw@Bk=qjugIv9)+OP3&WgpBR4Joq@y*QlVNnSQA!(T3D&puva$&zU zHMpy)qVo6RO>_&)u@OnqfVqHWO9HoK3$Mp%mu&~A0MM;u&$HiVHh@a>reDDASGp1txh{?T=gTlqgA1Uyomp)|1*CX?5I)in-H5-E%v1X1+ z@a>odP!l8?XPI7AceJIXVvGb01Jdx}7CW9rHHE87E+T|-k-xA6#GVAJSL5=E(iz55)gKOYY-eFItS=An(@0vL3r6?=lqgND6aSEDF^~vWvPrm zeEM|L?`)kF*Q7HV7sUe}9w^>zgpd&iis;1<4M6W-6+&p#<@rb4$oIr=>MAuzZ;A^ISCx>tteO zrLuLbqal$vG);@JWE(4&vc-qcR^rmJ!lSTl; zuuY4Am#f!iKD6&p1_B)!1sRvt6B4M6*D%J`KCA}wuHN=k6UxnHt~t>6}? z$2n>aLpTo2Lrh~MmMo`3EA09stfkXQA_^t`^lfq9^d~r1y;?%dd1sP@16+&EsaF62 zKwexhxfTF&vhKNCp&z}f*1G^+`}KE0;hp#{HE_Qei5cY{KfWZlOlA7(yFygYORtS} z*5DF<*p4&0))OQmWMqSTl-(FHd|RoHbV+}uHEbFx36O8GA7~yjtKiIIBI~C{U)Ob$ zJhz!7f#=#*Q3HGlq+8YXL_D>b*&ek81vp06a7Lm)8!r8}{4X>6=^ z1DnpP@ZHB27A#>M6bp~KUU5zJi}-R0iXSUK(qT<8i4@yCCjtSm)7iS_UJFKyjPzqt z%zNyj!;}7&cWNWDmGLoKZoNkJm@DQ_JeB>7TX8$+_IwyeK#+d9h1rq5Yn|Uy$*9w0 z*zD!c!qzvY8AvXUU?hv<`(_%@puxA$>HR`3{qVEQ(l4a;4nklAQ9sVIR!mIv{(G^V zCnf=spN#A1;EhL$-vsGfV3Fd7kb;83>?V*_O#ALKegvBfaOh*{9(+72D=+(cHo18_ zzH2WHhPk%ebR02~3!dI+!6??3)x2EKuGwvpLJIE!U}4&4YWpo8^1kJ5N(9w-XqwX=2La=I;7}wm6V*l6507) z>f$0baO(q~#n12By2jzds%b%$~tj7`_vj1)hQ=en0ne&fb-aXuVX@e8)2?K##;TeHfVMc59Q6~wDk3?vIB_w~Mc zaFiImY7Ke}^m!H+LK&`KA#KHh}imCfcB!CI85rEuy!c3ThnB{{dDq|3o*mSQ4tcOox?V9Ffb|1e%%QEVlYGTQqu-Sg%B95R;2GrE*IV%EDeuW+&g*+ zj04Rd$w)+6TygxCR=vHbQz{&4c zrob*P>os^?s7hCCCvdu6fPoI z6PhI0NL`w9jmzk5cKm})XGZ7!{k?Zg7kj9=%e|7+?<|vcvU0N*6K&z4Ml5YBz1$0+ zZ9eAA%|~MAWI2UeYJuO#Z-3~EJ`2hhO+0JK2ROQ~r#aJZh6P640%w75}Xe%>S5g27&KT6Lj{FDZsOT#_M$X z8O}Bc1&387FF}C8$BVs2x8~QEyiD@gYctIeAI~1=k(nmBU{$;$-CIt06CEi~C3Hu+ zkDm|8LB4%Ru*8csE-or*-QB6Z)r^^$!D)d(Ol=%GW*aZ&vx0(J1Dg^olX0}QD2{d} z=)v!v^c>iGZ&PY%>oAEL1RqvZIIJd_Dt|jW`U!(KG~_GoF+!9RMCl=W-7E2zF3CbL z0(&Fmk;i9un%maDgVqv;il1g#{in~k?YA@%y;u9V2L@8xxj7{se&+tOF993-Lq!EY zsC~Q`21ht+kYofYo3)<3;L=LOW6+s7fNnnM8w;G5f|O3!dmYihqB>8U7jYF!ZOke^ zOPa9&E5_h^KFBqJGw1Dji+F2}z~1hG$}OooU$|p88@Tb!>8qOPUBGFAUC^+1UXIfe zlEL<3bL!#|cZ$xnl%pqIy=sWB1$DF_fdN((XZfqU4>n%ho2j1r(ol5$a%ShFJ5u{% zT&z8q`b`kDfnebdqb0OgYSjqxttSaec;x~&P$rb*`6ldwNSgGaSqF`Db@hb(c-iu3 zU=?G;c_8rG)}w7wbj0A5=f{3A6W1Zw7z}zHv=;A7nLq2W^338CG|dM z6k}&sw21@>VGlJn8z>(s(PGc`s5GEI`dX}0IKl;}l^%b=ni(H|#a@9>_?vuRE5kXF z@;dZRDK(5}nHj6zf(jO1ZBn68!n*=6d3370yE`R_dcj3eahqJKRHPJ+n2C7PfnQOD z$L;K~l@Y(JO+e<3;7s zrm*P2ncqoHQrgsxME!z|txT*24Ji=E90~$Q;li<^2f-5#1h6J>w&`2ASP8zn0nBK= zAA^!VKdSb0zxrScY~>edd#T_)({D=LO@Z`j+gHwL!NLT~8z?%_yGc>TQ8s>pTr7mP z?fHmHqnNz=>LpSga8*USiEb^bHaH7Ytg1)ajs~2Alq0CAW5F$>NWzr8JgE{);hkSq z*7v5NorFaIl1WO(p`~Y0ehJ}^9mGWX5$`Z-Bu%&bELHGVVgfPqk?XSF-ZazF9fAqZ zH1;f3g;EI0A_%7VGTn*sxVYHyA#~%-B&g%vV7cOsJaumkSf{NLzS>1KTuYrDNWML$ zkfjs8UsKVRE^~qG+hQ?X+s~8_#=jvX$Pa;ZM=+Aq8OxyD3r1~F;&TgCsbFZ8bU9U3 z?TnR!%_T@ycJ{GvvwXzGKz8rwO3>&AVKM1ab)ZXN)9=)09!_K_OAHa+0YhJpub zHxa04;5T~U%!3l^wliaKgidS~qvb;xwB2wFn7DOI*;@ZToeC=$tYj*_PJ_FKk@$n! z=W#cfU_YOzzXpu73%3g2##w1wDm-bMUGb{^)%WA$!6I_dj+=PTpLXIu%rZmyHGMJr z69WQ3nj-hfRntm2g11arUh)Z-1P|1&1P$0$@u*YW`LSeW>-xC($g)&DU%;t;2Avw( zn0*-(q=~s|OmVPo^=E<@382A$AG|ANifL-Z$(9bb&Lc7L7#~bUD{x8eFUE3EJhjI} zH5agW4cvr`R1mnChloK+C9dSvB|&&0R#sMzlBUA*NP{>iT|@w(GAbtKJ+OsV8JX#0 zR;0!6h<`*2Q6F?!ad+8N>D3YO@9owT`WRc$*wb!o)Df|RRIBo@Y)($jBL0hbqe>{i z24Ai&efuKxD0A=;J$-m<3@--f;zl$5s)DSx`BPVV37_i@#xSv8i{W{BY@P8lcsDF6 z324U`v%42^Yfa0NMO;=2V2vpvX9aVdqX;MIvkFnn#SR=v06aB@`bAJfO%)4rMdZH zU787_Tm7J{>^6Lzc6xLUYn|(eAz8Qc)C2_Gpc=CaPLGN;E;p=;N4bkTnMz?}q0`GD zCv_5PRW)ANt%G$3BO|XbU!zLT%cBOc8!)7{+|ItHS1v(-pmz4}EDjwb%0q#$qYsvH znPgvicuLdU(1$vc_1jrnUi1ww5RVFHuU8|Bc9)GVoga5!l!cb&WU%4;cMu{IZ*^Pd z&AQ?B>3WdABshV^BfmS8AD>+pjqMkd=)D6HBZ$+E_o~_1A&oRNSG^GDWLN1K>t&YX zV+Q#@_LG0a2Zf>eQ_vtAbn*lZ`*q2j1K)FSNpY??iQW1#M2$LU^o1jE;}l(g%`pgN zXt4{^7o$^qU>66DS~^tKBNU+U1T*~A2Mg-;B1$=IK_{k6S?6wbG*<4h<%c8OxT)PfVR zXzRE7oi(g~wtQB7>^mk{o{zG}`8M6wiRSWQBJVK)p5w}J9oY+ zLFUzH9X3U7NS0Fn5D?PpS8Lp_+%4>!(=8hahWUyNks|k zg=k;BFheJF$g0OSRWM%(8X-Pu{yDOLd9QDqa~l&WUfZ~cOgSbwX+9ho8)GrQCGMT% z6tV45zu-}ihH6l~@vw{R#EtA6UL0q2lx-uBLHXy29afZ zr1i6g|BaOMYb4*m2~7NqS25Y09MG%nW%WIuV9QGz%Gnxit4KwC*C%97 z^+5z$$oAvX0W>P{xjZ2Sth_ZB18lBYUpA z46Uci%8#|(wFeOQs$exH!!jKere{g{*(DNus;l!6F&R&$Z*m#E1}o%>uhO;Ii8Dqz2@eX37#d=E4sjE1t_D+_o5mHwrc%#(pMe+Zgl z6xOR=nmRJTwswDXb+reDyx)tV)J+$BdfM{)=yy$5*L^iv*_P2~H%lTkg3$ugeW$b6 zv5P6O&ft4{=i+j2k`L!qnk}M!uS_zRga=mMir}oad?LmwG3ZTzU9UXjKJqR}H~F)$ z-o92tkU)<~g(uQNJ;pM)F zC^}eYrgfW6nH@;GpScY z0K`>yFMmAsljIi=2ywRqJwN8gx`m@}-wj^c!@%;v^wBlJU;%)eh7_VDoZ=KiK2saR zr>b=TwEku(Gog`ZP)wncV_WTBB6`jN}*Yq`!F+vaR>k9SbY7aZIYO zN;=BZs1Q{+xBE}(08UhK*c)Z8_(>x!0@4?s%D#D5n)c61crA~{J0sw*5Ws)}naO8C zPA~7u3*cDdmM!N=+IboH1V)_`~KSGY)V-7Zvy%y~wqX zcgJC-QdN!Rl)lGXa|064qZ_1%lm(Bz zV+*#v%v7xkf|oft*{$3AhbOFhQE?jSYhSfopLySoX!{3XBBTvuby^pU7q zAblc~j9olMwp__z@vNVqLCGC2Z&FFaljX`Kl{8V#CA9pni5xL7%gJZ#>9c2>NXs!} zHQ~S9#@~O3^xr3gtT|U_d<~HDn~jKWWEyf=kuH9>$x|5LoE6MqV4QroEdxhf0~k2G z+Ez{05y*7&*l+MJt*m&g+qzf0I4;@6ffy85&7p{MiqJBE<=K1n>^WQ--U$@5agwjF zt*dD-_osgPl*-^XXVw|Mi!c%m3cNuc^ROw&el^Y2q50@)@{b4|T}^WS%;}S>xkP7v zz}$==5GW|0W556+ndjj8cQL#yAZuZ1Nc;-Y}sW>Fe5+loqCM)`5cr{R?)^LJ|KRoc?YCrfU^baqB4FB zWI))#KmNdBl?n=he1Znt`>o1;@Bb+K3aF^suI<4V3q?c;!G}_iQ0Ybl98y|ZxM~$J%G>iyx;qOYyJPMQ5G}9nfu)5+Ghow4U<}l6}iY zaPs7i0;D7v4k4O&pWg52crzs9m=&;W51-`wQFa=~dt5dw{uo04HFe*ohkl8d@K^nW zAf#c1AvN^v(jCT3*|21RhqegVmV;+{qx0Z|{Kdx~QViNA7c9>W_@Dc|WMWq?KNufp zR~HZ^Qruftr?-;T&%G3&cDPLEbVTCA*7zQal#>u(%ox9q$3tj1%YnWz{ULgWEPadr z$F4_({WRT>pvJP;o1s+BKUe_TcuUugH=mpa;GnrYu&=bMlg6JNZ+4E9*LBzO{XC{a zSQ^f?5;jg9s36DS`a33jTQ$-n*KX?D_p*e3^|iMs=3DCnhBY&%@*1!2PpOYkx?S(7 zSnAuav)rSpg?sG;0+Jm*P5r0k?M0W-pC+!0+L~R})5mE&MQl@95k5#~XZu1Y+<&9o zzq6gNy!k>0#n01^OI&eisJmes8o%+Tw^AF54OY6T-rp4JXP~n7>oyYA))r*Z@Z@1P zLwBWh&MtP&T6wFa)hv$H0}Q6h+mcW4o}hWlcW(t-{2lat{jKxB7tiKeJ@n6lR!3n- zeL6r<;A_j9jWEKaEds0j5Pf8iMCk)2@(7}#skI*RSOgx#axpKYBD5|=tXFKds31N9 z;h1049V5w4Mo*~|Or+1Vly5Z>7@k^kuEf`50VPHEXk@HDus%d8f&ek><`fgQ-8j26 z+VBP_(IK1dDa`g1HbQ}1*`l%6oR5_U7g_s#wGbBeI#78J~el{wW^2lap?yK6~6=4Y- zt&8coc87*7!AfcVdRFE7CBRe>0)I=oK-VkL z#cq}wTzMxOcj?z1|6uy!g4 z{OD&2vSjy@-{U2j*$LXdUXtNLXlJ5= z`43y(AGSQ#RIgLJdc5eq@<{sr**?EkjL(qOllo2$aw(m;;mT8~sr7GQ!>9B8F+&C; zlf1U}G1$OueQt-qiF>O?cdozEjqU7}Gl7B5zZa{=dImj%`U^0R08RG5af`c)46QVe zuBtjKC$N5bK$g&=KW|J?I!2HZYUXRW+y!v}8^y{p-0tW|ymR>j4!iqkG|7L11Jzqp z@v19KDWI{bhIOHYm_GC*+5vr;gYg_p>(&yL^-rkrKVqj}c0mE4gxhoLvaOxOXb(9Bu) zKv<#DjYrFXUJ;eCw2Z`(lac+xsp{xW(=~l~)czL*pW|uZ>g{lp2&VWntD%j}AA+wS z@VRytSd{AGsyEI^8xdz@WV|M_4!bSwxjIz5wzbrnVtLFqu9#Q-@$%I9@reojb}|3Q zJ^gm_YTCZ_SH0{X^juT8t5$y&#@qJkLhSHWHV0d_oA_J~l?zsl_jtJ`Hr~Sxj|IdR zR_cX@{AMy3ErwQ#E|#FpS6M0+>n>?J_D?*l+)%$+y(JkIaaF=X`m{o4N21d82O1ha zT-sii4=^Md;Jb!k;yJuS<}zKbGA7;%D9%V$Cb9YNgSLLeTwkq;?s9 ziigAu1UI-dXPjqV)<16AKu;66Hp~@78CIV0nNO;^R4{2Bj2wX zeE#jq?>rfmW;1QrbPMj9FSWJTSXj<-W|CM}RUJinR2?>Mj_R!TfZQQ$)INb&!ON4x z40wbkxO;r|8d9`t_JGoXV#J4UnC#-6lc-+5e!CX&LUA7`@|Fl(g+2$bJj+>?n>wB@ z)j<;mxz;Wua4*N&4X+2b#+g|!Vo$Yr{bS7ZqRV#3S?V#(P{+3jI7uHDx7`99k=9h9={@1A};Z- zOpSan_)7Pd?ePTwL;%bcKpl_g`s6DLESUgBJmt9QG(2>yd?*O0JMTi_8L{IqjN5i{ z2C&!DV^0C;Lds?3{ng+z)Fr4}h!~D;!N%w(q{97x-{&T^Xt!{V9Rd%MDjDyXfS}t~ zHdD+@{ZSNV&u8Ta#Zhv9ph`mt9=)1NdihYWu)#?x?zBq9wfr ztmd2{&up8;eqPDoDtB7=3`MoqAt8*0jS!;x)XzS*LPU|#tXp)(jiuHvLeWDPRw*E; z<1e;>_UIzEc;wMwPqDlPSBXf+-?#ZOsrt<~e?qVD*YN_^e&d#WUrVO?%8~|i>nlWd zR1Yn#SA0;HVdLnonXo-Opqa$c{vtS7LQ#>1qUF<|wUb^_@_ACybC8S(O}~;;RAqP@ zAg1?`NHHmYN+T(giD0>R@|n8qWTQ6RZ5FrBG#+1hN=?mk=9xB*pNk!w98j(p%l7cslr`VE^ey9#9F z@Ogdf7ho;!+Sw^qOA-1d6}xer`G(;ulCa;(3Rrs)BnOv46o5%Dl1}VxrJe&ap>z6}M?eeqQS3Y<+V9_=a`Saex^E7Xnzt=rfzNOyDayDQ+AXlYN>F4xOpO4jIy*-<)QG78 zD~_fovn{P?nw71%G9jWbdgkWjJ8C!bw<;1$>Y2VQ55Pxrq4Pz^&yMk0?Gqam$nar9eJsFL!>rP=@N;hWAZ3a@la@$W) z$GgnDWDz+Gw@E`&lOLc{Mn#Vw=O4D=#kf)4`34{!O-svbktL9ffqQY+5VPpo-q&?v zd2EIE^(=*OE~Z9!-?fc?o?T4n9-A)GxhVFK`O?EHYYfwt&EnAq^@5umbVsYVP&zf3 zrO{~ys`^o?v&Wa43~$G}?Hon0{g_L9<61P0G?!|6eLNv3<)aaPa{fG$5*-1*erPAa z(@62K`rM^2UuF^&(i0U-sZV%oCO&JL_C9ewo7oYt9i+};_l7p7#;|XBEqUvL$%8d| zc2E0BN{twS_*{=xUk0|-n?B?f1ldcUDgu)jS zmD1ZLZAH?RU}@A~$OkUO-V<^JfR*!Hd-W&-Q_fv*QG~xw9oncAq}o}ZoQ3GW=0r1e z)xCFO<=?%@qULy`g|axzN+wD>cCZJ58k>K-o(UF0+q(G6Vi(g?^pL zCX$F-yv1CcoKP%6c&lWFH&Pa((a$~R-o2w=8(<0t^*c!qNa!5&;*gz`?MHlUsnGVi zA&^_6qy23{?+2B93B`3DZ=vl)?Qsk#H9*o|o_xs`CH?;WO$jlVqkwTwNxLrqh@VeQ zFtKHGSz~~ws&(X%~ba;_uHTfse(PqvS?(uuwS7ax7 zpJILeM>$c71ii8QlP%5*y+-Y??YQIm%0XCQevo`R{ee)_HzW6z^&n^=dSUVqp!jzU zm6cP{L=Nor{*N@ae|IUhzi5|F>Yl~OOEqYQ{%nR*oq;X|T~?l0pjR^dSF%@ z3cO57r%pmB*4I=+_MaEJufAs%*EWj-=HJd6fP*Dk$#dYPw1?{c#|hi#mE$)0`pFmV z)4I(PyP+Sz($bP(5CZ2j8+~AoeyzJByn%WvJvTr9!ohH92=4s5p{xA{lIYoexhDrF zCj7s&Mdkh1U@Nt)`=mOfn~k8u3*jxE{AR;lP^YiH=;6%|4{st6Xmw`X%cRTrnln?D z3KK#&RRKTPyLX?4y=*lq_+(T-fJjP8`Yc$~Zt_fevNils@!;W&{ZYISKVhRU00@#&TD_0QmWFR3)$MaTyqn;crdUP7Xk{8_dNtrxxF5cselUd>;Je+ z>FQz#hZ79`-A{dw5kTQBV5rmmxb1gvieN<%j|%$XN&V_C@cMoA;1XYd-738>=g3D! zMt1q)K}Q)4;T^=;JZ>L?NI;{(KmHEID;L%J`|(&1`T!y34#mHR_ZJx_@1X(lzX*0p z{cKPBIDDu1`WRq2zdJ5-sFt3jKSUw z_iz7dSrn}wTSOoL%nH6B(h=d)!xDN@WD|brtH1P&SpU>hYKZi*`zAuW6aZ#Z;Sx;n znGOv_2bNHzz8jne#mHAIrHFG}@F3Vp4+~T)>8~9}jNrddiq=@^s#T?-hwvaY3!L@d zjq!6D!ZE@A0N)h>Xxdi6rHgx=1s>U&4)}%xKg+@4x}I$7!w5k8`z^Ir6QMkc4lh`^ zk*jVQ(7^{7ENSo<_JQYt$F+lk?)_TC$7^~VF~9nQ6Vf7dBl%QRwu`4)pR9jIBdQzC5I1HlFRZh;1R(M4PU+> zLw_vhe1@h3hkh0o!K*+o;iH}A)2~;T7;*s`-Yy1Q^?}lBR;4NBRrepBeRD#iFq=AyLV?;xJ3ukk5bbRF!^rk_-^?-)Pb}ngc&gS`NIh)qz=01a1-#rf> ztiQR+(Uv!46&!XYcd1WXWs;xFhd0|AX@z&nQ>Lg={QCRnU# zA>KLlEryE7Q${Q>Z1E?S_Pawb$!2y#suQK zM}~qx2mwqt1(o}+sxBzH1BCO}$o~%EBy}Ea+Bp<=2N7>V^T$U0MHm_M=+<66Zs7?% zJ-wutwTa2)Fvo)a(@vXig=B%pK&uzAwcy8jP?LLF#Oc))kB{Rsk0P9j_z}M_m|E(u z)HS;ni>ufi+@o4lbKf%4;pm%!*Tx0?KkRu45cr6H7N<)&Xu=LCLIMOBH+2olKcNv4-!OeNBP-*cvNBy4 zBT1bj^(-tDG6%t8Ozc%=~6QXrL z|0Mm%a&NB9W~;m27f&3yOZe=;-8;1x2TK}ktxGiWUE{8xuQY#KIHx8-*4hw}Cr&fE zI$LIY3**wl(~1eGn|xJ*S-($My{VIyhT8CWuqGFBmV!S)b!Rbz*0epTR>Y2&;S%(+ z$<+si&y)%Ykh5c!HgV&j)#05J9l-q>78**-K5}JiDG#PxYb({m1(JR)ha{goP3D=V*O zA$JWbfx5_!wlR$3%;}w@e=CVh9T!9`tnF^)t7q5kmeqN9a9VN31U?S^dhrd1tQ&Ua zSGB)Pz@00(3)MU#Uc0?rKZw66{79uprFV?uGMAR_bBkhbce4upY7h|9Jo!HR41Ta5 zAAQ>Or}TcsY1Kxes!h^y%z36O{Z*d2vStOcnR#@OD2$4)XUrpxB~sHW@&fUNa3O;i zD+?e>PR3h7)8({tl#~(36z0&1^m1=#&ye#<&-Qre1#Ei6@gX|?2t^5xI}~lB)w3mK zu!N;zNdgw2`=qDGd)F5JvTop#Ki!m5`kRM*JUsm-n}Y)bW?9&IL%)H{OM^;l3IRQo z*tPB7X}d93Y-Jtv*G6XPzc5_qKOHgfn3i{aZc4v z%4$w-rmEiEq}v^L0uYZJjUsM&{mk)UkZe7@Lnn_p>n$k6hd8u%JcMxJmZfrLj+WUu zGPf~fQ^`&BR9e$HBB=%rxvXi!=zRf#(+`gzj=w)ME7(4c4CTye%5An&x|tff-Sro(-u{;)e>>*^l57(R!D=JFOQzSH-NfZr*)DBHa0hf7guf< z&RCdQDodHqnriJ)!N5UL%Ep^2;0)jNln>QI)_5G}SlH&kO;Hy+vJkvB0CXE>78YT6 zB`5us9*WmW>BN+l%hNv0+RRZ`iP^6j-lqo9NIapWUR&+!~9okuLnO3 zP0fj)z!wEiq=JQo#g|@LIl0JwiwN4%q4|V;ot0yU?FvtE4<0FdzS_~*;mY4ShBI4w zCzC&D!Fc^`SLRA}NZ8xg37<=!>tZ5U1c1<1S?yZuq7INVLca+uQZY?dQPbVM&zylo zx+CeiKM2vZy)FeNoY0=Xr?ny#c+^cDevvi^czzwCa35BsG7B4Nn)lk9QTMAvh&f{i z2VC8(T}u>`e<_CQ)5e%?^(-*B!77kf>%SEq77@F=1M{geM7WbJ{7goZb?z>c6ei5h&PD*JAq6|vU;nf#Y+{J zz0V~Cw;w7&aTK%9etfb`Cg2*tQaNYKtevlvDiJ)@8!SL(JO9MzxRRDuD!6N;){~E+ z{U1Ez6ciM3ac(<8rLnT%5fNrz-pkwe@u~Ay6#TX%v1BAHs~f{Xp4=;YVSBI=f6$%T zL=w=@R@E2vvHfiu9v#AnbRB(Ool%kWxunJ5wyEqWKh&{+i`x{qu6b>KeKhv8J~)jZ zO1v6{>e)Rniv47eNO@^#38^8-Xz91;<-t-01))7LD0K~uKprR7e77bYNAvY2s|f}N zcLERnbk#|7CK8i{p&TzDS84oKhzxCy8{Oi{(~;Gl%Yas?K<)?& z;}uUIK1cvW8zsN9F#e5=A3n+=y+;lakWif?R#8@-{?$%X>9MDhiJy-1j^Fyb&z2OA zRu{+^Gwc&W9b9}nob2HPkyBAPfaTa-bl2THk{T3(sEW%GvNe zHbx$Oa4q(KcsI}>E*r`;Hw(1z%sDa(>>fgPlrQA)W8F5lb`l~gE4wEbV|!o);LOPo)%N}m7NCZco&B;-hvR=32mYN@fTdb}>yJJh!bpMy@~1e% zehaYWd@T(PY>q$e_SA+$Qu=@>CpRuWo~58PSuF&18qs?e=n)$=f*WCIWWdP8C*|L& zl`)<|OUZ8|jG7-J$L9Yz5qYC|zaaGD*-%JNT+|AOM9|gtH^~xzJ=pW} z__tAV^ol~uN_&@#`sufJ7W|9CotTTlP{t>J39?Io#w(p zD&A*u?<+5#?)#fl%sceNkwaM?A$bM5mV0j=V?5;jXJE1SF!T0VLtePkh3Ng|`rd?K zKhgrP&i+4)M*wYlYHIDQH>p(=I2Gbjo($k}&4^~Lb9h;H@J4U(#BVh|hqOQ+@ z6*$20v~RR~Hez;WW_)R#771JXI!z?<<$n!!e_Y-o{}N2+W^$P4KY@Sa<0G+CkM=)- z_?Upd?wF;x{2_B{q6fgS*x)ROL2+yA=;W@fI3h!8M%gB}JiWg3T3J{q!JHm?BHT9c zM40-gIUmR|$H^W&M9`02=`_pRRO^AI0ZO|ewENx>{|>B}gVmv*djzB#010>Z3I40S zMV{~J|LzR~B^8&LZ=&h-&K&jC<6-%3@BYpMf-JZ5r323_-PId@gVdp6;d(0qr(R>Z6RI5!&l#Mlm$B#kw?(R zG#h=x)eppBed&OH(Ht8Ra$)b%;TPdQcbImrY6vJ28=}=k>-aDmdi>B4_jbv(@?d3v zB4?eZn_KxUgM^&kBTGVbH$Di!wxi!Xp%^w8fQQMS-3=@7e>ek1^Xc*i^J`rAMSup)R zi_562)S|qSCmh^sUo<1oi7p>WgI5GmtaAf#=CRH)m`c}j$JI@Hs?~LOGgDKZiGk6c z6GvP1_YBW{nas}pzOzlx;1hW_&99{xvkbo7fHEKp2C!X`bL z*$VhuP`T~+5K8pj*h_wBV1b(+A4FvVkea5<(bcu=+hmXt(yEy6I{U$`D*X4YdN8D8 z*Zyq)JgZ06(rWciUWx279y2QFe|slNdb_OXs{vuTBQ?>Bh58E;(tyXRJ42Au zJfg32z$33Ny{U~3`rx9TICiG9&9ehVNab*GM|{VFFNofz!>LsIab-qOGJ!Xi2} zG!#@cnUH3dmK;5tQPPbK4KJn!z^jWljqZi|e0!lj(Q8_u7$(b(5V$J$r8g%#o8zuG zeyz6RK!$VA;yz+aILdZ#Mh8E9hzNxLykes=VUdBkfG2G&TrPJk(B?%oQ@YUsx7XjX>p%0m zKb%KIe*uW?-;a;f_x`>t`xfN?(R09}WT2x1$ObY5aNw5~BWgG}I0%m%3c=Gn!jwsd z@E^=r_{c&eE!wV`R<<9;0!SMaf)9EdeTp*SS zy(-RbegA(`=G-(2l$`nuf{{&h@I=0XUBlYI^z`)Y7`_!r2oFT;_P*})vAO@6AA?3J zK@KA9Uwa?ew#LpV%WHY{y)Jy81FD7_s$goViC(v26g4zrV3pWI8)UW@Z*K1@V8+{f zvNb>$H^9vyU%i}cxUjf*^=k=yl)7z^$v*Tet$(c^e^Y;nqfSn{$9KKF%Y2Bl&(MdT zcmvB)7Pt;v&v%W+<;EH#yv9A~t(&16K^kv$o`vYdd+^8L_bRJ|h%8~=CFSJKZARg3 zt>8jXM2}ecv(Ti!Z^}mxfXWJl-2?te8y-IP59jCpEMI;GA?d4|Mg{n2J+6G5zjAfH zF`;y0!!-^=RY1>~)>XJ1#5-$-c3QX!`o^-%+1a`ay^7hMC>_HILtgt|39&53edd@}odjT% z4DFe9EL|Rzpo*W#`^>vrvBUu==j~}ZFC`CA(O`^&ps0&l)GIF1)tTWqwAb?Jaof@% zRJ!2)*bn}nI!W-+sVLe#Dg)8f})QX-*plq zpeaSNHs;m;@PJcxuu*d5*=a&X(dnXc*$VOQ>8_~ z-w^J1@{T89{E-EiZ^|B`K8_Y68Djn|-S6Kd+y83&B&hMnjqjh`U(;Dq2k*P&tSD+KGwD$>(Pf;sX_* zT_mL?J3xSUxtDZjV9dp9y=e(}=sSO%rvb5eO^;ur$1Amy(b+OFuQ<*6#YoNPN)~kw zdwW;{j$Bd(*}l0@nF%cVpmu1-;be8~k4JfgfRN?4Yh^pjVPgX5jEHHzv@c1D;7%>z zL^vn4c#pii_K~>8Ya8MWnGpN&hSB#~LeNr;?3f7_3SpH#^;33u#W7oZDbF|fa-u1a zy{G`6x_Z#U<+rh6TmAk5XO<=%3wN0r2NII$=rXdiy93k;a6kRMP7Rt}*`FHW<=QV_ zu0xi1z;OSC)0ZbrNQs!cNm8%r^OV+vg+%L8q@@`7p4shI68H2g19CKG9;cT^s5=tC z4fw=91 z$%!L{=_bjrA7wXe?0WG>Qg;9A5gwyiLj)h%)mRlv>1coSZgVp@nKU?%Oh|N3Wi527 z!wwr)L$%YuT{MW5l$3olve2os^SeS&Z50{Z8$>Q7vbwXmTGPT&Tr}0Lv#rzM47~6W zEIh1p9Dyz3kV_4rg`H__-Is>J;ha~mek%$B^?WIqi=PyaA$jSB4jpbw6y-3MO?)RC z#TYr53Y--mFhh=;l)qg+7q2)k0DG~iV*8EW8PLR*?$^^-E_|GPOU1t8=wj?=7sg?V zs=YAz;9MYPyx%f_Na*UGUp2V)ah|a;*thV+Jd=vK>fkG3YHDPD?STEFSmbq{8*0`S z>t(lwO?;0j(Cw=I`*9RXNwEzi%c`6Wm((isdJgnXOK$?3dxi;|#5tK4b&CBxOw z1zNsiJFQ+qS-)T1u|5|Y9r12)tS+-EN4B|HMpF7d+a&ZBXIE74H%EH}sbstE2J{~6 zo%hed`#$gNVegQx2Rh6*h{EG`T`!zCqNJkzPG@_@3)kSaD}?uu+e>KGiA7&)A2;5C zL63n_JIsyNrS)wydrn3=9e_|SMEg9aj`g1)Fn-w>hGeBb$tDipj1@8>sn z&T&}u+4Sq{cX#){=8Vzn4B>zA?qh{T<8hjp?Je1mago`~ZOj%~o$* z{j9R-S9y?qQHSyvsH@pj=Ty64WSe8Eg@LV^#}Hw&{5B5`=UFMQpbmARKweBN52!`4 zPA#xjI@jUi8^4cXy|}DdRP;qf8@57HF*m##h$b)-(+}0uzRVt6P8&xan;+izo=WU( z8^Wc@=Fpna7Y8u}wCjDeBAYQcAiS?uKS-b&9{E1;nk%UNG-^Y#;v=bj5#fA4$DyRdbN7AYo1?&h)URkiZ!UF+L)F$_yPa9bzLL^o89 z&`1P;|1J_7T21%d-5l{1NGmIo)TvtGZI04-@3l3S`T{EbdygM;VB^k%9JmYE#Iy$> zs0MCNynKJpF8dPk=XW7S#^jZ$h=xC1?&B~3&rr+z^=QH;0pqX5J&GXd>bRE79fDm67oeOoI%YY7a%1V70wLfjgBT0SWOf1t#tg>_jsd4U{@!2 z)pIP+%WP!F!&qqqD5ommblA<7O@^ws7&5Z5+FIiH3^^eLFvTb5=p3FM)o~xqP4n0- z9(EUfzI4f??wcAJZpV$+dFoLE50?kd{CA{D;}mx9o}rJOoLs z`@fI5$VN)JtXIS656R4o_wU!F zKMCPK){b_>WxUT3vbe9V)C<>mn~CVeb)pjun5FdWY{2@+lx+#3dW7Ogu^k)Tcm=qn z7Ct#UYvy3b8zCt;uY{vE+_kl}c(tb7R+O7ml(tJ>*4mmgXltltt3c=zCH?NT9c%{x zSqut4?U8hc&nqh`CND29e?XbS_y1U$H!;;Jl;XYtHHwcvewtgWPUk7$>FNiItQDv8 z^q=h>oXv73kWX}XJ8b{nh7}g5$KgT4{3**Wt)Iiez$EgG37k|L=sI_Q|Nec!d|{+o z=lEHQ*CQiN*bpkWxjeyg(!JvxCioMCK(gtU-j@^1I#rs*!>*ZC%c-o$klT0eBx`m@ zMcw{O#d?QPAH>Ug`xYQO>&giP#J6!38YZE<(42fXX$w8ah=Rlko7z_-8|}fKkZer;{Q0hyL$|W)WR!8CUM-;qSk=f{y*ItH-8JWg zZWcssU)Y;qAL8BMJvAZtjm>24d#U0je>G_J0r2LVTUNz`P%gIzdNI5n@*7&Uo0lLt z*xlQknVx<_oerfSnWW}0pTk*P?bb}fZq2*X%5>?AIc}1(xe~1zTs_{!ER-2R%Uo8V zsZ-7^FSO&}GdZlDlkzMFqOM)4?r1mjQmajcr}!6X3EpDwZf!1&a zkKLphoRWHla~@2oL9x>j*4-_P&}^E}b~^BJChl&v?smN*VOsXr*}4nYr6bFa%5yCY z9MeFNWlT=RZ^Ts^9AH01(C$)m;dHY@b4W^YPtnwOQ_4hsW2t(981+N-yVH?hQ?yN? z^N1HRpcgk4=1h-x@=%5a&&&Wt@Gd;@o#Ax{Tdcd*$J09JyF!p_nX7WV(Tn!r3^YR;c<-YpWM=E zGH6@q0>;JnQY@wSfZG37U8Qy|OZAp5n73)5DFR)dtg{r{3DrBeT)1?L-d2kn4OFqN zo9z~KJm1PJJY#o$>!{UfnmtwH^13AwvTWVUklBvybr5>r(Wk35vOpE0+g*@bj{BjN zP8Mz2-OJ+N>!+b1+QXv-2`E=goYVNC^YWZst0^eRlJPlaX@golq(xw=ccfq?Ji+hj zp;K0-z_=CezK0)#X(WQWBCD3^!XqP5D`o5J>jP->NXQmW*z@8FP}?w3NMID}ZVYF_ zTU@B|g${!n#f;B6!8VRw&1A!-2#=Gnx&CL}R6+>C7ThnlIn7EZnC}|iL^t+-@X+ka@vZg{(U(YY@Y%a`J zEVXog*YNRqTu|R{-%0utZKj{8t=5?rI@0wfPn~x#$Em0IeL6=1jWTxQ^LK8;l()Fm zbJ1O0m)Zi_^T-5f#aTW3Qp6PJqO~4%N@Ygdr(|ehTJ5JQe_ld%{7iTBD9l#2W9U<= zXr;-`9TPf}wJSQ0oMmQV>4A&}?5!>aUb!P4q9iY$2)dgY2?@fbrIfv18`FY;6g+qL zlBn4l#f?};^Wh2?kSoOBSCFszKD&B@=)@El^U$t#S8jZYzR+XS5iEoGr>95rAKo0O za49hQ_VyYQpLjN-33OyC)_ zJjh)lVy~GO{#{!AVWE3FiWcdl9hbnDEBnHhV+x6BJ&8Y%_miN#@7+7-wgJqJI+!0w zyc9}_oCC`daZ?Qf?!9-XNcPVG|I2bHpoW>X%GeLK+}^Dx!RzmR?4SSAg8w=6{;U5^ zMeo0I3_r{%R&6=+LMi+!-qg49R!k!I-^Bke67WwwXaCj9&sw7YdF@3J+yIOm9Li9c z8Ay$N1FeUUq!7C{mZ{>Aa7$lYA~C6IY-xS`!ypJ=6Jr(jj=@d$?^6N9j7$tC^MGM& z9<_^9chW76Zu>Trlum5wO1f%~~p=|#{|DJ+l zFF*zP)&Si-X>;>TaJM632m1s;)qfInYzXLTgghf+}v9Kjkf_!mZ-pIm2aL2}% z>Ydr@88G6!(>!qM=XkBGt%D5?;4iL65C^*_#AO6a>G%Zz^iTT&M>E zLYzVpk^*iUx%%BMnEz@pK2*reDU&>P>1G>f1aGAH!t~(777=|Aa=wT9?l#dFUIus% z$duCF;GW~Mo0P7^^=O2oo|1A8f(4LGvJA#(LQt?VqgtH-HyA!h15x)Ew5G5{W@KdK9V6@L?8Nm} z?||xEP8X}^;wg~Qn`#9vo+~3xK%I;aE>Zw}Ds#uUMF|esz(cCzo<}>qTD@BdC-cr2 z<)MQ24j=^m9-=%@h>3el2_`vFJosuh$W%_%lInDI$_ZtIXN+6)*qgi;m;UiB)Qupf zb`#Z_#*|y30LC6Pw?b*ZVwRAEBZR$X*o`1BOpdF^C`@i=*o|uylwbZ}0TkK6tyz9A zkq21@-Z3{%4Btq5W^Ppm{y1nfI*q@&qCyi==piY<_YB$2xW{Kg!eV2yD&1CRV(nVm zAsjxryEmL;0{z9m;E3kF`-hd}NFUx!uZ*nasKp z+SGUN%s@b~?8nnn?4DcBm0Q1?%GM`i9M*n~3Z{#N=;`S_9X8*)y^r1bXJOsz-@wiK z1c4J|LaG;ARf69NKzvV))Xo5h1%}hKJ44yb#H1};RXhFd+qa&%rNz?piVvDb@S=7h z%eAbY@(vCTW$0h z$b%bh%mK)%ydt~OpfB=n9pudddPRLtPq*&x#xC3AQFNR!GEx2O;A_k*trV1%T?(aU zAk;k@XV*f3m%fD^04TG^W@KjKCBi^EQ^L0NdppZ{d3LW)dTQC9MvPXR2gdDry2owP z=N_IUKnwnQ-jt&vE34hGW_@*&3SaU}{Oj~Z5Fvt~~y z!Ed@T>GW>k%#$?F3tAhsMrW2TUGfX4-kxNFEv4W$l6^yi|G%vmMofLyPqaonKyl~w z8}UbpWf^l>PzE65P!NLEQsbFvH{FpMeM|oxzKiv`lJ66};iq)@{c{2>TpXq7$2IC6 z`IDkY4?XeBx@ikk&?!P1h;SAq(2@bq(zeV zW=D)*{B6aA?E%*`=(<~3Oo!Adoi_@+%6F}iJ0(V98eRbJh>yF!az*HGC4VEe%=-;@~gCEf<5WFj@PRfsnw7*}iE)M{Vc6L$?F2Jff^WCNm z>)3>~BIIGXbxR~!JW#=Nhp4+tX|~}F4QvB=rwfb>Qku-LYstN^^{A^0Lao0zUjwzZ zd$8FCrB|&pX9BPFLR+TEc!Rv8jEuadW(CA%fK^I`HI*kll7FFrJikmet~V++qWrY z17t8J*d8t$yC;ozDFKuU?6{gBN)EEI895mbL`7?ENf8k$ zkmI4Fr6(I>NmKMh$suptAiL$B5*ru@iSF=v;+<9iF)JuYzIyz|~kdqCKgKR5^LGNN-r$)*3+y6gK}u}~nD5!}IK zmY8S-FUYStKnXuQJ}Pys#F>MW^L>7jbYNhjSFr;rDQVi=oMvjuyY#9YmGJNhGt-mX zd}Vx4eEK#=F=2ptpOJqTkc}a(yT+eKZLTx%Ntl{mvE?CGR#v1lX5EoST?tj_PzVoy zlR6%z#KBRjtf83Q*!U_`n}nP=`CFESp^;(cSFDPd@^eky5yj9D#d5*S?B-^Or%&-P z0Z!t{*lxbLxv9Llxk{_Fzkz zm1Qw8aZXvoJQGv`FRm1zUcXMr%A%;PXSm*D6gr57JfR3jx3a)a>5ThiR@P1UaCm3` z`(%l8nM1SKya-}3%wGNdhehF|Plv+8!^Lo`JRZ6~zr56~2e!QgU~k3QadjUj->av;w^w6N(#MiXoGXJ^=IEd%=n`DnE)9LIHiB2qMmBTBk#GTPi8 zv^vRji)8s6=h|q3`6(`{0GJHF+YgJ0VL)zRgmgMtz1A}mW>%!#DF zb3jX5T3h!zRoMlD5GNqmxva9PaM{-8pPwy?$4t$enVBtryVE)a4e)29r0&1y{XKEc z1j3uThf-4hp1*vkrpiaQtsXG%u6k9UE?bd~ze5IG!=^_NbT^pkm}wDjI(KolLL)?5ig0)C|{YXai^M=TV1L ze0N+RnRa_&ck8Cb3v~52oe%dG7f=3PcX!23RGaqZVC!P*$J%?CYj4LemyP@DbbLW7 z;_8HS2>YXM0m~Yxj_vb0nG@T!8G~3TD-J6zz6+{m@H<15o>}c4dTTclgX;Knc+)56 zihxm8PUXCL-Qp=P7je)hRR$Y1WWN+wx29OV89vFXo^g_xo?IW0hZ~!xT4(Sq-Dv2N zpVb)IaT;3-kK9Rm7$ZY^vz&cuaFdz2d84+K>U0?=8LATKeazcSNw43!b;BSBuu|r# zxiAvd=ii>+F`mB*i79~8kXUYwr(k5G*_E3B<$YE{v(1^B2ugLExK>r|*LaL4^p&bR zew~QEZ7ANbU3Ag9tuZ_|Q{Y?6q4f0hvXu>uu=se>0I-Nt>&9MAjmCicF8koe(Igo> zgI3j1va~dLy(MjknVimV%9U49k!{daR(`HhwVnYB!Toap67uac-&30c*fi2YLTX$m zCaU9zR8CF#l3T0JEINLV;mYm>7L^P3T4t_g^E;EP0b|v>*nZ*xj~I6Aox9B17s}o> zO?1WVx+6DNy~tLsSeGnv8X6c}F}Lookk_f2H}e{rDbYZw6NuI=^pwB=fPRl%dRqN8lolxGVCVOxK=lEem`=%Z#)na% z^s$Ag@vy=Vb_}-M6w!hOW0(p{sdl8(&5Eg?P4>0Qz0aS)xubU9%j=W$G9RHwLMS}s zSYQ3@%p+vSa+IC@EOsQU`4Txh@G*fLf)h*??F}X-38bb^2OdM*D#TA=ajXwR*+O8!j8J$zP z6Or%>MGLWX?H9*w>CTRhaFkG1eXFaUUPzU5e>a(c(f5;g=!a~^EJYw$3;3*V)tt@f zpJT+XSJQq!JRc45E2&$`k{^vD3A&WXu&>YWTU5e8EfsenUc+K)H;7+4&SbTX`zIox}v9N z{A3IBX`bF$+zhOQ9^W(M5Taa*Y)XeUG3`rk#pbxUInZkbNiVTFj_1$qK#|#b40d!i zu1n2a>;?@Fv|OiC8J^vIdYBY{J6{tN)DC^;c$6EO5tP*0(VM7#i=KQb7FFn3==*|o zG_5bv3#Vl2E?GQECiED;Ck&5`O%n5O?d4SP}a10bMsOr zq$oH^vO{T8Q&OihGOb~9RWF5Z%6i7KjB0ZF+FBP0ESs!pESD#Lz z(0KLi8OmDrHZ?UD9HIXbL0| zxwIoAsXBoYGZg}qS~^RLHalzP9rI~-K1m3G=jA&Da0;BbmG&U#LX0XbM~t)ez9e}?>)Br${IGoCyDhp@K* zi>iy-hQ}@x3sEEt5CJLaR*{yJkQR~dmc{^75OgG@ySvK)1p$%n2I(9+XJF=A1CNi- z|GxiseO_EL48zPh`|PvV+V{Hed$HwlSl~)9PdoW)9HBYInUf9>6bu&^C}4$1l&AIj zA@ehUuurP16|O>~wa~o*ZV_s2bmia~?_<<9jyZri8YEoXe7HBfspD+L}mJy2qW zEqq3Eiy9WS8K|ZPQZs5<$Jj6QF%_}7oN|;P<0-vq_(WYjqYW8nY|R&l49d*WrF~;- zyaC9#^X3_fo(dI6C13-t3<2iS9S!68(V`c1p1dt)Q{SP5@G(!5v@`}#w8piyv9arR z4Me+lM_gv|t(p3}??hnEAGr5WQ(s@SrO7@i4?ApDG-&=6x7Lm-T^w@$aJJ>;p<{Mn z94PnjusPz-*!jF!>yMJ?k$uTjk(|t&!f+LD@cdK?&3R&ZOfvL(>`SdyX&+V(f#^WSi3>PnLe8N>I#9hTwMyZ&*pq@ zipY9_nyq=Qxp!U@T}No=;#D))1?2h8g@z9Fgwu1ZRgN`q;j^v zdCRC{I_LiNc(gj#OjH)?;>BFmbzJ}Tn4Apt_r8eeM*a3LIT!Nb!j469s&~sc@fBX$ zeBy3rmk{Z`AmP~GU*NW@rs=%fD4KEMWa2dR4mg1!kNCN`IoH^YKi7t2XRcuIz4)Oy zk~+aa|7w=QVo$2@F=BC~22(It{^#rV>(fxLePvUlh5ds*NRJj^4xhenrvF;g5=T>G zlGUAN5b5*?x-s0J@+A`xHDhe7v4Z`Te$&E9)=Oqj(gH0Uc3i)v7^3)t9ofyC#BMvw zj65(K$nNTSY1!9c<2x7r;k462$S|cvoM{_}c1i1T+sNB&Y*LRC?T(;?a7&u5xrH}- ziXEDn(0JRTR(f7OE^XLEbSFhE%q*8Ur&$h-MrY5>W$g-#=jHM43RFie*{C`ViPX%! z&s7k>&ws8NUL^^fDBXGQcMsbVbCcbE;4qp`%LD`(1Lnawt3%WKO5@qmRUuqS+z>-D z={*m`NDxymyJA3@> zHF?j6^1*V8u9KVIErFt_@5fi&1pKL*QJdk;O%WwG1$+fp1$1i}O7hn?qpP1m5zSeS z1O3Fg;9eC={_|dI8*InBF{ddsR|6X5>@Y(s(_OlNHe)u7h)gNF1ovG zkp&dvbxIQ`Cnv04vWJ#@gL}xv{_V^XejHIb!s~UNI^wj&T4Qak`lnCm>tX&v=2?ha z5@DQXZHI{Yqrc@{uYl&tAqVb-H75RucvlK-*r*GXcd$FFUEk`)>pnMRE7{oOK|Wy? z$tGCtdSz&GQs1m6`@W2fOm29_ZQGqKD~PY5x-~U58)Uu^U%H@=e0xGHWS}{N8zF2W z$oQG|B%^_1ZYcQI4G(Ky@~LL}rknHRA~|_{WhEOj{>zukt34o|Z-nFn-B*xSi}-D+ zJykL~F)^rTR4bfS^-!8s=T~_3928PWNCN)3vPY-Dvs5;d)MtuVc)Tka|Hzax%v_hh3j7+k8;5Yo7fr z^FSY;v>?rbw)CKG`G*e!wu=Ez4dcv2uec>=WpP!xn!%b85aOu7%9C<|2B@rYh0Z*#U--mX>z==;74zYZbM)T0ipn^S_bLkM2;{4mfAH zGBnb7k}{PmXqA`qS}%F5@F{AiXJ#%e_w_Y=VU>!E)XMEO?JHQFqwK%pB@#1&?mW3k zOKXQ6h~odGQ$#^YcHJkz^<8fh$x(;JKK-MJhzQM#=g%j8re&kPa*~MXZa>AN!S0bw zZ)xYx=becVUSbbJ0)MNisRcMKc?_B$qr!Aa!%tCCq>k14)7`!;{+V|`dpF0yA$FV0 z)2?{<)T&Jx$^kUkN(yZ_zHe1k!UyhupWKKPc&AU0%~L&U&1DD*v-$A$?Oh<Aqa&%pI#Ydp*~?~q zQ7NhEEuqXpGb=-x^NJkVv9TQElo$9!W3G>^Y%G5Y4lW|9dRD|=2!w~CtStIwFL|*e zMaT4PY;p-xBO!?j&5Gde!Tu*&iJm{`VOcyndZWzD-5u|??(_C-cE6zGO8g)gk9Wen zYy7A-wE;;Qd0ne%@+Qr@&mXKxzLX{OPx=Uy8v zCocX4H>@kW<`fzI?b<}7rXS{cjaAuM@fXkYD{sc>p%(NfrlzKU##~I8A5N<|Q*Us_ zuHn>6pS-;7aK(TkH1yMa2Rp z9mgS$u^QQcva+(!&@d7%9R=sGj>t5;1p2#(P1%<3U}2VjR@2&fL_;GQyKemhMJthV z3|TP$tLwc>W@ct6pF_-KlV);XA6Y^YMJrsUfd1>rJrq^h(`|WDKO?!VG(0_z2o#<^ zzEpH-Wn%pKhLd@ow)a$0W@Z=B%K|!jdIi8gR7cpZv551ATxX`TC|hm{&xz^}VH2n@ zrvOqnE$wc-zkBZ-`Rk@a;*(?vB2t;NWAEo-k{TREyyhKPVPA(J1{#d+t>p}S zB3$b)qhn)@wP2VL%4?Sj1+>Nu0`*>3iiVYESC;lLy5hhdFurvwZ*A}}cM&~9nxcw|f%&ncN7vG{ zIoHt4k>D#=|pho}q}zScWM)Pse}#Nsf9%~55v zORFEV)uU}-C#2o%7dT1i7h|N8=N!@3=UnRCQ;@pYQKTE4!B+c~>vUPPn)~9W-{Lum z!E%4&x&BQ@yHZk_C_y7-QCk}ul^?wmDY|@z5&jNOa4N={p$^wDYLcbeix(^`23KT< zb57xb)(1E^V20uodI|RE{>mtGb94KOIbNZxjO*hIwfIE5FQMMO)JUKu%{GK|HJ`X8 z9U2e*{1R=sdiCQA3+ALa2*}Esnh~MRnQqyJtv4hxqT>2YIRQbAoa)_NXp>^*pvroZ zQ|V%w*URg&F=YmSv5ow6Np1r4NxlpCO~F4 zkN&27V@66?s%AuERK+)@`C_ma71$pCOwVAViLqQ6ufw!Q;hs}kI1d4tUrAfrf+>vK zafR9@L|5Yd+vCAe+M6TZu-@4ufVl<~%=^mC@?f$w(yIWd^jKlEn|@lZBqKLhquij1 zQbfd)*YPf@-=?sxxhTumKJl71Gk)TVNbQf?=9SddqW<#YPu^VdxXMBQ&?i_cu32dJ zX-^IL%q;I6syXyT0-G`M@Zn?rK{`*K=M{K0e|2?jOeo+>O})cKh20{$W7`4eTy>1t zuq%8U8DIBUKePy zc%jJR!e+@ei7XaZXTZNlC1% zFAUGA_Qphc2de~+dFk|^m;wVcNDlHHOXjPvM=7x;XPRc+eF6gBfB+P#DQC?zp>KAU zo4z9r>5x9P zmo^PO%k*?~3QwMxOejM>mOmzj#@GthLWbDc(y>bAY08MIAm+ufCen`4KFY;jv7A-( z62xu^uq9KSBgrURbWGkY?ZA}55-%ey{Q=TUGc(e2W=uABBo5raZ{I8{_8J9(IAA${ z0_a3n({;TQ(2U?UVAV}$6b-c@X{6Rbf+44zrUWzrUWlVaRV{#40Kl55l%_lb1c%4Q z#;JsAKLP#;3=0d(L~W>{*4m`bl&9J=8sI&k!E-V2apSF z_?Vl^Q5~g3mbHkd`uagcaRta0zynJa8|R8O65#}Jzyb)Rl8j)0y+=X68`K{frtTph z2n(bAiacLYr(|chxM=Y)tzMT1*07fF*X14M^)_CuDF}6`vn?qpsb?Y5ET29Jg;Mp& zGb5z#_HQjX5fzG7Vcecxw~l_!nZj!%q@#m$wk%aXC(l0gFJfxE1$iY;-zGMj=y zlSj>jq|O*@AsDV*6IbvmiO=-*PO6dpl00UV@jce)@r6YsYeOB9d4!B|Hhk<2Zaj0TGWV0eTmC?G%fm$2pjqrH zA0NC+B)t4Nak?gK@uSY=+$Z4|F9;;|BYqbbpE!Bq#Aj->$&=h`9HD7b;#OXP!2IQH|2p^w3 zPKzh~2@1~~R#vRnTaQ_6_GZ%R(NyarSa|JCD=HTzXg0oYWG{)AS>}EI{8`lB94{cJ z)wf>oNQ%$&C<1zKW{r-rO)f&qn>(GhsnP0vMh&oMz0HueiI|ov7&I}nH|>A!g{KY) zyxsq#16P(A8>{jCdmN3#IeAulbS$5l1N%SuAvs~IK?lS`fEm^yd`d4YEWlaH-@pHI z+aeUGh0{aMi=8G}s6+za1Gxs?7X*ToTB&Uc^~{fV7gpBR=2v>-ZgzHbO!p7t3aRO6 zlh#-3pr4yMG!*{m;_A8%>m>*Qhc>AtqFh$q;g-CGrVWI!Aq!=Tf~(|EeYdu^4}t`3 z$PH^&QdZ{Qv!s3R9$vZffau8uRk#PAj+607oY&|Wa>oml{cZxtgMo&+fu#tALhap< zBi>Y;oAB{KPp%p$pGgcGpXn{99$)7gc&akOM3XS55Djf(nWV>*RgRgZ#NMJo-=*^Q z^qiXvvp~WIR$Tn8d07UwM9QzEDJIpzP;MnMVsc~a-Di^Xm(0zlCJI&PeBV)|_4F(V z4Ulsf=Vum!&QlNql6kO5CMyzeINa-%!TpFI<8^3GLomP_V9+)f}D z=M27$TJKM@?M^*ri{EsMr>W1JDRfuvqFc?W9*s8%8os7NN?OM0cHjV@X<9|Q%@@ZR zgeo`&OfGwAG;L(0q!gaoSbr{BN$wbt!88Jvo>0D1KXjSXwL~?1o;Dg~&8JZcS5nE$-8w*imgtMc+ zO=Eo{=W7QUnWj?H5u|xP+{i|)qYUGVi^J&Um%I^zP+|*-S>CoGWUqWl6kRHqw}K?kn8X&{DK#cR&kP%?tGbAZ5y6NpKLV;S&8E6r#QcfcW>Ab z%2VHd3KQ}cPfvrjPL;WWXVsDt$fBa6NT*q1NM02|lNTF%L+|n>;J!6x4nvZio)n3B zO${s!QP8xegQE!v8CfcgR39`Oblxjm8bKx;eNC3JvGL?_qPFDLnD_7f zlz@`KY5v3{lI!-10Q0gjtq9)0m_{MiP63qLQZC;N<)yTL3E`Ju~B{ zCS|8n$4_?M#IGa+?$MCyYtrqK?&TF3JjD+L==T>%DAJ%}HZ#Yl4T(2I$d&SPyLL0! z?Wi>LW~-}8k#4dPk+u7%(z-neUR(u<)TRYqF z&K5nGmsY=p49Io&F9|magT!hr4H=vjRk2XMs1w0!r7`lU)n4i68LEM-nwl7)EJE&X zw49qpa`tRIfHR76U$S!B&O182FrJ4%a@>&kcLdMlo&<~M&jVt0)fkd*p$BfIxKo8% z3@jxqxc&wR{gUb(nbNULtlf>>FQ9puK%?Wb-`+lQ%)d)p+p%f>@nfZg_=tYn-rnEC z9VsVPmN%5lWfEg`Yk=z5Wf}&!4OBK8(YtjLYF21zq+0MtExTr6UbmgMH!9=iF?K*S zi-%u^@|1BraoQebAYs!FzbhLdXJ+`LV`n; z5TuMHlCY~*G`Ckap{ZzL5fQ02uEI2sMWWH?u z5e?$)GmkY7d3=zT=C!+_IYuiJRQ;^=$2&BMj(-BhOxuutp3xYF*>;T4LEJclY-`us zJyll>IC4sKva-zE$Br5`eBp*=!(_Kl)_Z3loG!n@J6Iz}qrcE40oI+y$h>Xx9b5lZi zNB>>n2M@-_$Js|!xb_y3r?-zI{LaP+-vnX0hD{k-T`^A7d+vRj1?Of`;=F>qj#e;k z_%P^26-)vnM9?vpU};zTKI+Or(^Gh}-dqt#V&D7v^7r=%{- zZ4T>X-NN38eBt&B`t{F@c9pZUvZ7r06qhi@yHiN=3y6U-gCqzmj8s(Gjpep4&pVhZ zi8_ViFu!cxM{%n{vH}vB*nmUM7ln*c?_BaZd2&8@Y-p`B7^1Vv)2AjR_wgS0Xc|KM z2Q3GAt#6B{XcQl{yw8IHlqfpDzMvl(lPr%Pqrd z?AC4euj^Ct^Ixpqqw~|PAQ%J1zukNogz@a|xEtG1D2IcGUb9{b1>};2RS6|25+>za;#`B)N!x5ZH*Tn%JJ*WZ;Io^3vwEs-ZjEd0y}bHgo`5L2O zZF~ETl1TH4z`%m6Cze~5Ce=<{Tt!SHCvM)mM&4@qN@ur&5V6?pJ9p%M;RKNJ+rf;=4;4*5ro^T{k|?vE_GuPsYx^*$s;tZ;SuV{R zo0FCt%4^S5dkQ?~A(vg6z;Ml>7u?*VL-pdakLBgTHe~2Y1|#na%ZefQMdnyzg;6niHvny7ay-1mV%spZ$m1XE%owRaG~ye=jXnqmUfTN;iKHe@M^F zh+s#NGFFRbIIotW48KV7SHV}gxhIjX_2g7JjjfXg2IOn@swUa(^yrvr;5`Mm$6a|G zk`MQ6qsEi>VRaVvrluxfy(wE-W}9-V`)lv(JbpiW`tZl2x#3bb(&EILPZz%2$G>oN zG@kFtSy@_=v$D#8mZBJqRGp6Gr{GzT3apKgB(~0;4vt6c0|yTsx=2DoBP%Nlb)uB~ z{D&eURixyzx4F5+&z<{(G=;!jJgD&H5Qm#fc%(b-hz&Nx02j|(zLi_MF}2Fue5{IP zob+sT^tY!HoJvY6X{oUqK!8VWoFF1X1{W3a^Ya5*mGmoBGB7yE{%S6nA1lQ~`7tVa zL&IX~nLPjD$D%c?5(=)a!oeo%8yj7lRJah3&_bocu-%KJFCzbO#08bH(VDcxLggcl z8zcxmh?BUNFHfE!QikjQi~g5lFWo?Y2*mU%A&jSs>n^o~b_Vv5Gq2KnlM56V(iUAd zohLWan1#|RD-V{GmC*6uRZGyL5m0`3m1zn)w7RzTF-qHmAN6(Oc@D@c;7(5v!0i;{ zywut4Fn2)JFuQGlXNlMQI5;>+!fu?;KPaFmuavUVh7@czxO|CFH50lfr1)AH9-GgFkUT0@w=|Fro&IH>vZ{&&c)+v6xVJ>=%5@ z_m|&u>k@aq4qP96eO+gy6#r7J0bQW&mJWBRv#C%E_FHwYY7dwKKFcFL<){3Iloel}JK$Ha_~0f^b#o3uVT$GpiM1n;XV@$Q!-#yzSzlC7Bt zPf$26A%fD)9>X5yGi}?k0SlIb-{%q)F>cg$xZs9>a|rm6?r@1%c3cHu}nF7&MJj$wIA! zXO>PnNk_3tnVT=Xe|IJA%NMYZ(9qC;P{xsb(u_j0+%QD+!^zgSzIXUv$E`@4* zg=UISmwWJ_io?k^nJg?!QC=C;9_@fo>pqzz<+~*#-w!@$^Dn8kIbew$etu9@%| zgM)t0bDoS(O%3Y-=OVBxbNgXL@GYv;c+LL6(A=zkXe03F-*1;|h~q9*1XT-Ic(rUT zk4-F6UE5#q2;xjIQ)nXu>e5mtG1&_@AF1~K4t8dOL4?h4TbtjRG2i)u{QTtYc_cWf z7W``9PiYM6g4AX)!Tdzo!C`)9`$gz29rB>^#`wexjS828l8Q=d?pF<%b_IM!wI74? z7i0*o2We^EyI=nt6v$k(4K|$BCc*igD@B8dMy39@gudfu-ad0gH5xe~wyX85!5`Z&Xt+DUDZ2H21 zd;k39w>B6)&RQTpU+sy1p+A{>0+R#muza9T9iF*WMuUI-8&wOv2}>`5`fd) z)ZecTu6ZG@{c~K1DG4CHK;@5I;DZ)HYkT_i=_w8bx7Fy6RZeB?fx*GR$Vi!eS)=9s zrzf8N`Mdq^O!xju4ELWYM*L5u>hFX9OBQ+RV_qEXpLe?FPRP$zHaAs3qH^iZlWSEh znEA1(sie`-XIH$ggR2yLRk1wJ>usv?#lr4t7d+sR@o(N7R=wlu?p^`+5WygV8mfgx zz?9l0n}c}?r5z+S5Get(Xgw4<2hgW(kts&Z&-+ z$CG2wjo!__^AhfJe0X@c+olPdQ5!V~8x27^2YfvwkK5EeJx$F)k7h;*Xag8(UOaMi z(6Z`usGw^pHJzYaEI~Rt1M*8CIp!X<(~`i9`Y=N!gGqw^_H8*my@}}NJ-3Q);+Cz7 z2wN*Vhqa4;2EXbl=o&(S2(VBxMJa*w@$sQ_o@W(U?|2M1S$jB-&055wi&{Yv>c}NVwL8Sb4p2(`Kq;UGO2Q;U-X9ncFuhz$)eX6REbwiN7Kcy- z=_Ye`N6rnM+NZh}1QAqdD1A!7!Kd!9`wok#U0PZ?(49XJ8F&g`xjTY;UWDv-cG z78Ui1d@*{0QKMK6cnvL@4uc7x>1<^h=%E5yWVf!rKw?{)0&1!9)Lo(~7a81`5KdUz zZ98GRk62Wlg%wRT7)`cJa{n>1gLq`GjaZc3J)GU zs0bpZWFqKKL0=D-6H~C0)j{U+NL*YFm;^8S~c%f2!_RM^5eOG@HVC2u$1pqz?L5z^ow$laBz`0g&imue1cq zBAjv}0F`uLM=r{`?>DzUV})ES5#|X*0U2OU&s)pxO-;+|F$b^xGf98HBB7$nYEP1d5){GYMMp=6 z0Mo8P%T<$(WO=omXP(q`Eb&mcqvPk-08y_#o>0B;(zy-7f3VdgsC46)CSJAW@IHfS z3&<~2uQMTmh!AvD!{Kn&*4Ay)t#Rw{e#FxQ6`0N}@NH)Bsg4E96iKApvX8bQW^KmW z!9hhqq3z>jWJCl|vGpa8Ko!dXnU9P3)c)l9`3%}9RN zm3R@Dgs_->2855OiaV=beD64#KBR{$h{?vN-1*lj8sQ}kykjl5Z9OsBz1Mj796WIE zpW#KYm=aZ8wq4)kUE#G?J2Lg-?~hA5>K&?;QsG zXqgSeR;QmQflQQ*8Zx-HK#PCer#Fnd@F6ulr>?txx?nL!*9ew@AZkxTzCg z-mLYy4PD$c-^5}!c5^EH{r$JO@7~R&%G zsVH~B_|?5@_1m!NKRI1-HvC=+(l)2fK?e?qD*(z9Ts@#$K&~H^Q0DgP)EwMi^W7x` z^*o60%UpqxtsM{&k^&KdV7mZ?(wXQiKMQ zLp=%{xCy;tsG*vq0oAbAf}3{TnzX>nfMHTl(XM)Ypb!WL&A37pCiou3$R}f!nH<$0Q zs0B?e5B4iA}VL ziWcpaU6cNfp7?d`47MWDJH?L<95{g5NXblX>&hy!@1^2ml38B-y}oYZO_8(GM71h+kyXHc*+Mr*6Z=I855O7~pdNj9_R!vWNukFoiU%A5w3d8DOCfHrz+iRKyBYuBj)pbUHj*2oMMX(bIcV~W; zsaHv7uQf9@R)8wpWK#q7;2w+-W_AMEF;;Tw z)T#AgQe1lMXso%vEb4jcLiwhfV{w@jQY~Fsl}H%wfly9YFA$0yMdA9=cwNRVgUc__ zf?1GB&?YwudV41%lDB}!hk(Y}xNEwiUWt8ZO9*ZX1R8|0`_}!UU18w|>w{&BVA%8- zDkFD|$;$@{H=nph~5fmoo-*SbT%J?`+k|$dm3N(R@EbKgP z$i!yxmWGhLwOy(mxvZ~iq!j$N+5I_OW&_ay9fy$AK05NSvl|_)F)Zo8XM)% z-;A5fS$J-sM_&;gt!-w|WV(B6`c$(}($}4h-)dG8?*uW^!h|j4OdEskOt@5mPL&EW zK9`_f?-Sy>a4Vnb1SIbRi;nh5xv7#Nsv-8+Hnz3`dvq{Zvf-6Lb3+DqZEc%hNUZ?s zt1TAo@QZ~A-BT`&e}P@J-`%{m*f}(gGB!1A`3jwoun`V3Kiqf9jOS)ceYF)8pL5~I zW@-zp+C?25on~u=wo59js_ceQn{z2b{6?!u+m(aE1+Ctoc?Z)H}341>Y3$ zj@RmjFkE#=`dw@)yvxeK%0#)~Nrn@a${n1vuC^5ae-51GEUDR%Z%q%XVre8M^s4Q# zyN6yi>XPR6mGTCv1k?{VYqPepYSJ%CDCmiJ7P<-CP3<~z^r$3wKFao^WyQbHN%WPY zP4eiq9YRCH3S4VBtAErOJ5@e1yYiHyJa@&Kzy@^17WQ-4beYoJT43>qE$r?X)a8OJ zTr`GDm*MV?PcF<x5QY`b#prMXWJ z7aM|f^9avLA9CHIESuvkLQex8l%;H_Xnb*ApnY+Myr)Q3Du}85CVodZLvz&=2`;9N z)h)qyDP=O5nAEa=-))SvNg;Rve@>F=qws%g>M8&`6AZtKxeSo9?%uVQv#I-Kep&*A zUo+O}*MzjMa;0~3bf>qhbGb?F>tdG)>dxppOtxQaut9Tz$J*PEY}pB zpp{xW2;?HVS%aB0owREAa?sylqp_zE%8EgCKOJTj2D8TO9Y!i%?c7mP42oFYUhj6@ z6iQC4Ni_F28_2(3SLfV_hT_~kt)Zb%wkZWz&NE7964e!<*OTvsE0RM+Dl@hIQQa0# zFqo}rl?tbU0ec4r0?Q)3>k=6I3FX^#%am!iPAMZcAYukDhk+31@j`BqCfuv?O_hEM2k;6x!hk?CwLwi+~c^OEt zfrFU{7UxC_1KW~ccpk^-=$t%#s=d-PIPGh!Mw-wIZR`e3lz)m8GCV@Fq1J3fm`jC= zu|nT-$7OeIB9ysd7s#l{cub#K!J1_w1qUZbN=%GaBxR(vogIZGB0DEV0;)MH8!Jc? zt^?m{5^tffP5qdWoA`841ToNXh|tj;JIem=-e>Q~iMm865CMG;JVc8+alCNklva?% zV8+~qQg&XwIH_11oDwiZ)U{ zutFW>uR!1tj?RuL)yB}iK)T4x58C8G-9bdG)^N9v;}GTkR_4z=e6)Ua`h@S{2|W?Q zSTDbTT6*j%cid{ybi)<1{*40MRxQ5E58XfhJjZYunQ$h|ABqWDZjs>4C~ItL+%`&6 zKR(;0Mw1O6C!*&`O?Tr)ZnF*WO$$?QGhgj!t7&b`2)tG=DdmhFE<9`l{h|E#J16}) zfTzXh5d3Lh(~JAh{ubBRaA460kC>PlxlTJ3=_8m44IrQvBHzk-muQT?DKiZ&#l&-i zy52g8k#pxJadFohNPkS!^ErQKL1Pu7DMo1`7de? z^ZqYt{_WI&gYsZTjaQAiKlBO&IyUZ>gt3u%mp9edB)$c;ghh9}PQ=fja?19J033q$ zD|PGLGGwg)6a^K!q1L}P40hLw3BA}lXVZV9uD@0ccsW1e451L`G`HwJ*S3guz+HD2 za{oZVB~!6oCU)P^QR!gauLeKu(iyPYN9-yTTe^zzaNq9^cJ`}?|@nlz5rV! z5O4u)v8{?@lynjpXnlOh%XC4&5i>5~Lx9vKCvO2#1Au)M3%LLX;Yhxn)td<5bvlWP zJ@{KBH6}+sNj3^9DPHLbC8|6nJiqE1t=1I(9P-}x-(PdN|Ds0wzk2%nFMP27jOBr6 zf9nuUAaOen26eym^LU)-r(Z(#y3+I1#C$`P+}^8iQsJHccs2j#mynk3Y)g=$5IDW2 z0|+nhArt=qR#AUH#xgQr30H>Ys^$$Ev~8+kr51Sc+JB*<4jcYq|K=xeh81rAU;tps z;R%LSIak7IqCM4ycYg)9YQb^k;Ijp-p3nnWk25&lbRa&`V~NU z1dBUwb}wK^fB`AN^;$P9Ir+A9$Xz}0vAqwmWc^zz`gS~TqxY=lcGbaNC!^JcMX|ZU z+9o0=U+AV<*WIlWtZA?6Z{|lKkP5tl2Yb+Wt!jyNf^wD?qpWN*Wk3IF1KU3s)#bx~ zA>pTQmN(d+e_rd>J|cx&P#w_~G{?Hj8`XcTfyTkzP^EA-yC7tQgn8n{-UQaH^Of#U zDI%Ek&iAEjlvs=F+O7fW@6Ze48LBh=+k4}5S>o@QGF|r4`GR*{bRNE1xTs60V6_rGmV+R*uUebY&6=cuIJ!eY5)Cn>?AO@_h z)H6feodNJb1xf?&eSE-y7cyji7yt$~1}QLaiZcfivY3_{sRW+%mW0y|rTeN?Ki<0@ zBrK^QCYHF17jnnBfD^a-lUk$4pu+RB$#emiDT1H{Kz-Pq^x5$4+h_ZY&;OmWEN8(N zxmB20ARdq>P(&al+- zsFVYg&2aawf|t%TIGePB8+7x`i@ht!eUju~qf*iUXwps(=+EQCM79gvwpMQ9CrQj#D=;5dputSFc{}k zop|%`!tqug2Ct{JmuZ=DWK-M2!+*SMmav{5mwJ}OJ<&5$n-lSaqxdE37cH9i_fEe# zdp_C0NU6wZ6RX=Q9;Zp7_~gLmVrg+th@-*OU~lVj<)X-14`^{lsQsONZT|AWfh}+V zYVGNn&gq_L+R*j{^2f4~`?3{&n2Y{%-J5D3QrX^Bi-F>E5EOgL9GD@)KNQ#c7TiW3 z^)A2N|HuE11o7^l$8X7aBcRMC?ba-|yq}Ich6rW~j7v>DU$Irq{DXC> zIZ8}S%)3}aUHw#AC;ftMf!g)smFrG)x}#_D_C!uDV`0BmU4~sZN5C8Qd@%SuyjIb2 z)cfTp_HggtxI{WaeE%Wgf3C04CvABdmd5MH?*Z8Q{1F(1Kj(pRN-lpyrTZZ2%y9&# zOW6U$Qdtq-kJ?@LV;JfAn{I&b1Ox^7aYMWJgGXQMJgAir7x(Bjy%fwr_Cd;L1bq8s zrZ2xfeFneo31 zbEkVsmH9@$SfE;XM>krZ>*?wA7n*TfkN?cp-Pzr>0(%abY3?$IMKEzd9Sv*boc|IZ zAAf@4_5PbqE8Eo{{?E9+HNU7Ib_n0s&M{Hj3%!N|sD#fR=7&1tV>j~s#`Cf2=hP7w z&i(sO)8IO8g-)pE^_*ztwLinfC8&&`{M z7dY_u6aRfwYEOhX|M!FbJR0=4{NDro^YYRItpB~_e?HRo&@;rxf9Kx652laCFRdN^ z_s6$yYbuQkzU${XIg#0(f^M90X`PXgNB2LnHTl0E7<=`VLW+k%oqxffDUHcF!t&?f z{(f&g{kDQ$V*EN7cs4+oRcoxK6Q6wEY7pF$7?6gF*360w88hCN6(p57joUY zn>MX5ikZjs+3zt0>q>N4|9pNIaZk$T!h4@n1AfwBVJ|%p6o_wK-QHtj#9*MPQB?9j zF6f}?Wkk3rBv@xDK6||V8S=4i9O02zqjnTA6I994(n!nAPE<6QbIyY;+n&M4U-n1n zx`R)BR{73(CnqPd!R8Umx7t@aFOeQ0dc90_u zIBuez$t{@Dehd$NnZ0Cq{1w~f*6!|OB^nDOA+3r~H>&{$ z8hR#&+z+&fr~Uo-Z=R>71O!fpK9tH051cD4E0eR_$oDoFQ6z z>?v{}MLexPM0}G|&`5HUOG}IxEn>Yw4kL8?qU3X?rkWuEDyf<~b!ykW@ED9Kx6|_q z+C)jNk9m%?a*69l5bT^?&M!Fkr}5{h`QE(aCr^gjSB#4tGUdFgNKXRFMgakm{n;NY z4~7b-f09_g5&MC#RNhHTzWv?z%JT6OA6Awc4C$3rx_?vQx4e^*?z1NVjq_7D|1pH+ z$`95jW}L*$ZxbKb*swK`Oz7IfuwT=4y9N2x+aWCjJK>Bds#dYd4DnK=-ntrK8Hphfdv+E57zm3vqaGhQI`k&w!9Ru^0oH%zVq@DRa8-liPPQs z;liN-=-_Vej zTx!H(SzHz|1qH?Ea;$#C8=`}=v#G5E^Ei`xF^ZLEFZzD`efG(nOYB@6u?Y!R?8{t# z*o>jko*!E*x3-VKofel=cGb*`(a_Kk!D2nv+0w#t`0#9WC#KT$ZcJIyDZ2uWXVE6< zcS)IFKf3k0*Hm;Ug}g{tQIh8CQIrq`T9ljI-mt^?p-AmFu{ochNl_Tcl8B;fKclG|O0WTGfL7uWY^IlkOnC@uec5eEbX)!<}oFZb)fNTj6Hp{=~g>I;sEXHijE zP}Om2;}N$r-OLVobefVqmij$2{c{8*9wI<`Hw2a|=vbjQ(()aJ@Tiswy3gb=WCAl7 zFcy~i)fdjrH>rO(?iLgjM#sdM_sq#;DBowB4kzpHYsC-Ik(_*i#k}w5<>P%yHA%@w zNuO{&X5?H8W~;Kl_Lu-lfQ78TwX2PN)Ok7u`@LXgdHGzHbXnuA6ot8ogqMy^d8qW7`Ir7Ny~VxTnaiINV4b-s_?xeyuY zCAI@XWKlV}vrf*=IY#ZbxXG*Bf3MHT4*NH|OtK+7@SAwISFeu|fA8-<1!NTVwsy83 z9s^JH^R7VfubRVSf~9UBLlAg61FoA#5%-joNXoYxEq+7Sl`D|h(~N1kEQ@@_vwEGdUx} zrp)X{ZHKYzQXJJTF%*>;GT~mV1`~N#7jOc7U~9{ccv|a+-U92rsg14nPmh>tbM?}) zpU+6Vbw-3AXk~VvQ2$sLK2i<~{8N1SAky{gSN5$Hm5Q5%Lrrx& zzOGU8hYi=It5J#T0}jDUji zNM|tqEhDkpnURrCNUNxM%voAla;kjMZ^(4hJK7~f31B>FaLnF(*ef?zq1)!>XPwTz zepU;u#1|iky88P8_;9^25zJI->f;;vvcGHi!^iC7!DeT?50L~jjeh9HFXT2-WGFKz zyYhtvpZZ)kZm*&7;5?_<5Iqwf$0bztK5&kO&n$8r#Yjh2Sy+Up>E+^NI^bYdOsbZV z^&HixUlntx>{FOc$3!`jlj~4#Z`wJQWRk_F>jj-XyLD$2RkWk7BM>rPC6&V^4%-eb7`L)lvZW!ZJ_qc`0x-71K5moy@!g0!@tbc1vw zB@)t|B1j|M-6h@K-Cbw%`hIhM-|v6soH;WLGr;gX_jBKS?{%$fU29!;FiSRflfxUE zn{gxhzycvXn+nT#6L?IZ5qzTNSx0_^ioniJ5V#B)um?vMNw`&VN7Xz!1Yvxvck=eN4GD*07##6x9{z$Q_b z{d8%(;iCBC{NbFBofp6BVvk&PlH7+yV%LkgX^RS9U&)0<$$C2G`&&yEya4O2nVFGZF5KHWz~@=X+N4(mzbL;Wc%FE@Q{Cn}ADD)$^% zZXRiAX<4j4AY`xwDR^WruppVjqHVappy+#6=PODv&d>Dp-7pZK6j+I7{H?DfBrr-} zGP5}BWepk?8NK^CeL%T@ZeliDji2JSQIgRw@k?nb&M?^;SPOU-7LN5%h)7A%fxYyM z1_ntqY_Yh5q9YFsofKSi)a+qH5N!lHH(TioEUV=Gl$(`j$jHcz!BPeC3$`iOxY5iS zySR<8iTj@vWa2AlMn`>zhK`qPY_>FG+;DLfpQgp9-w0H6oE;x`)SbJvug1&1P7ZeA zc5^cOwvzw_5@7J^bY3$qa*?1RQJ|6-Fqa^??|(81|x%dG~b#M)9OGgzwjJfQz# z7SR%F?CBw$6DkDrn`s>AjHY(q}Ai|jo5RIvMcT% znJiXLmYM5Fo$A%F8s$P;xOZ?6ILJp$_gm}EJ=#BMd|dek#;8KrBou*2`@K9(i~rQUqD%|LwXY( zm1`LTEYhgx=-^Gq<~G^6si{#&d4#FJ!w~_nC{L~4zI*LIImlns!}(qfCQJYb+F*kS z_!y{x+%R(oO&0mY&V#73Q+M976R z_S4Qci&!3!--K;evU$&eS^0-tn2;6qkSa%OT3lR2*x(ozo%a4DN@{j?R8XAYffpq@ z>Gh$Mvy2NWp`qr=C?;?7H3XR9iM*wVnHenTHKDm)N#XPT@naJ51kK$qUrJ>B%u$$0 zP87hN0!ma-eSM#4eSbg6W`h#y^$AfB{CjmOU!p70(DeCf7fQ;?_7vG-AtS#O5utj3 zobTUzjjhpMTwdz8_wsgq=6+_*Y|zFx|H8k;>+4tcM+7TPs@wh}e4EHXZv}xf6SHj{ zwe72kj4$lwF=9?WKK{z$$fl+p$@C&+w)ji6r)wMF23@{jrhFttJ zKY4UM5%M~KuNenB#wYR4Ve#=HvG1+1;bBlvo=Zu+ezoa)9Ig)>)H714u*ycGj7%-z zcI*Kh(H)I{k*Y+Wrts@~T$yGb?4+f@xVE%449Rv9Q#D2twbbj^_!X;b6kg`?xl2>= zIczCeo1GJ5em5Lht*8z`1S}Eot4D9i9W+FlTqa525w}`bLHd)OU+~hdm+|Sd0hk4J zE2b`WFSu*rxFuCKZdK-(<(n$l(sJ&Wi4R{y4MnbQUKda4dmywfPL07TdI%qU37qi( zVchEEK*-w3qFt;4W`3|YAkH_UO7cUQdKjB99_ZMFJTF=w0U#r-&S_Yv#^BCk$4l1v zBFd+{oB(VRcpqxDqgu?x_Ddn@zsvgH?-iJcP*+BG4@+QZM*3sG1^E+m7%YH82@Z;k zOzZ&VIv7!GY~szlFuT?6Pi#bk!?Qm37oi>R-ap6a0}ZfCOKl3k)9(I@SemDL{;Suo z(fgD8D6NG+kH7_3yi_QtCL<LE@8f~0L7v=J!tm;D~iMs|qej07Beb>~7eMj%Nm;&fT4<>DM! z)G540sH=n9{dB%R>04U08GhT%qV>|hnA}};I<^085~wTG)zx8hFsP7eC@s`q=`MVZIW{^mQX0;EsC0nTb&C-CyHHUbGo}! z{#7>9arsoWbyYFT=3u4b9!(|_6?}nhR_t&t33-Z$hy7rm?ZWGjS6xR>`D|~WUVVi6 zHjx*Tg{7>g*4taGwIeDj=AD89BM=DiWSlfR8I|ehPDQabZGGT$AZdacj z92UW_Tv79U&J9uuA?#WWwrmU&OG_;6%W2snZSw}rFb_m5p_9sqaz2+!5^3mQB~X8& z%(O*DEZ>b zAx*xrQ19}WuYs&X}z_C_>e%&I|ab~lbO6wEyf9V$s z1#~D}5-6zxLa!NaGP4HS!fE=Uw_rtsrcI15zP^F^@I5_9XKZnO*?D;YpFRTQZyHEe zh_Y>`?OEyQCO*x|1K#kMSsC_?0S7%ja}D|Y*cAP*SB{rQpV+=-4R6lual9M1=_Tes zRHsT7_RvNLQ3s6rz#xXuQ8B#~`2HZC{PB`|3d0Cl@$PgAC-8hsf`d;UX0Z~2w zg!ym>?Q6(U0)GLp`{8$ez0f1Vq&6#O=jwNwN>t3_V@etIvQ!rb1N`tVtR^MIY=R3V8o`b?pL_8 z*`EfNQVD{q)R@G}S3#jcXang37XCXXRPvC#x&k92gyE-)>`jH}pAb(1Mr4EZpVW(= zyi{E{yRMeX2f9rq=x}!*BA8sRJNpTz@4`Sriqz~lCNzzl@$BcYQR`%FgkIS1`OSzu zAD6{6oTYI}Xk|@G-20ggW)O^suUKGM7;9uq%$ug(j&_5x^r|WpL~(3AgLbjpQ(u*B zhVn3SP1do20gqTiV%Dg0IJwwPL8ISFDwsDf(u}3JRCOqsuEyapejTXVA9`O@*3^)4 zaVY~O+*o8^#6K&forRB&7 z{)f981o5fK>Y;5(%$0}JCnx7Beoe>uF#Y4?M-pT>i~>*2xOV5)RhrBw@C1Z}(q}dD zHch)oCc{Z@4Z|46m2`-Y>kW_P^f!Nxg7^rM?A}Ctf7wr&QZjK*0NOab322Hek2aXt zwePB4TYCjq9^UNbx0aRz*f^S;8Dk7ftIwa&yr>eImqmDAUUJ5TOE?o;-JK zCS+`kATp7mF|HPml|*a$1K~=_tE*axrEvw5Elt3a`GT7Wz>j=nivRI?kmebw$y@bm zM+%z|a+1$C@)>1K%Jh#8$RFjY7tx`i`58Y)g;0HA!R#u%3nPmwfjmvOnu%&B-un8X zZhgF}GXe9CGl#@($?ukZZmRnFUnw6VaPM4NJodJR#`f_T4=@;nA6%!SO5xTz|Xc-v50=;9RmX<7ln6d&E zqtsyG01+lKvyT1U&_14=fY(E#&67g?9JdcXEH*)Xj;;|bm`U7e9V?CLlO{I<^HTz# z(Chgs!|!dDPs?KC!}v46zc0*G**b#L@L+b|ozSF=gh3_mrKCR&C>OGl1V5Z_VL%q` zL;)}}B^V_Y5ELY-rNwl2-EdF(knKO1(Sp*-1x&KjS{&(~t^B_PUh&esV^_wG{fh$4 zDsSLR{PGpQxVyA;Kcoxtf1t__i;bm2fmAfjv*?gvlijZxSV1MN%hn#Oxr_`rH#au` ze;JF3fIVi0Iz=?ng>sEB!rJuyXpD?jj&I|J;jySoh4?D)5cNIN@c^`<$G zM+fIZdR7V9IJjY;Fm@N_t!bKv4vskwxK8L>d$+#1&SPU_ zl$~bo z2NMnwxIYr%2`jv>MyO)(Z!&<3c6WDHLUsiepFe|(i5XPL4=e1?#6$oX(yYeVKOh23 z*eQdSU%Ytn4mdS|*}paLP?QYK!+6^?fHNBaK?FhntS_MM*8{_s(eM9e&Vz4)@3(0} z0U<2u>MDSa2q zWEP67VMkW|libyISd~2JO8{8&3d)$TeCOyO}O?1 zmJHLFtHrj>myU@^R8tdHPahAP951M`(Mu*=TDpYo850~r3p@=To?>#!AsG_#Y*PqetIOm%?_T|iP2h`|LKCP0y2oU!_YqCGx7G`jvQ7KU0KjWiy z-kr5UoVE4Ev1s%ec<9pau@}XDs-rL7AmoQmK#6HFF7W=uIqB)m`0T8&N8On!C)cTt z2W+zQ6)~ir3%LmHAw@K?J+;bJqL(BS{_gVUl=EWd>cR+zh=}fv3L9!hDkFLJ&xy9V zembs0Ia~?a^|q~e$v_3laqCxB>nSi$1msy<&Zg7I0zsqB1nZy0#*g-m+?V&}WEH^4 zQ8Z0nBwqy%N_IPY@4CvM<5f|yy>9tne|O-^;tB&gz$}E_GwCmT_jltC(e~06>Ux5IN{adx5ZK9ya zSGRLZC$+pZAJ11FccdOkNP|F_)(EM#~{NmZxmd&_l4sinMB z_62|hiyPnJ^Z@Y$TPT$E0(BP7kuk9vAqffhkNC~T>jk2t(;S6gtzQ!t7bET$-L0fzKl1G>^`{ zKy)#oAG&Diah)*DmU6pem^NyXCQtWgb~d=XTL#%162(3^o3@0rx(go$g`&2B$CfG% zj7RO?OAJQ1&lZOnTo2Af2ksRz2EugUOQ&~@Oil4LIIw07xDyV6N<)9G_dWA8phQ8c z`%Z=Xz-a^|j6o0Yb8&ax5DJ=)+>dmif6o(6YqxNumrpjpZEBn<>t|K5w#EUCtRG4y zL5O-<4((aqqg9r_C7aT=ndLuMuC<^6O0K14;4xt~ck>)nzd#X4w<-mmBOt{JtV|4xMfdrT zD)vcsxHD>_z1fH}y~H+ELU!!8vW1VH4PZEk(Xa_q=nC-QVK@xitG@vqHm}=K?8hV% z`2?Lt;uF%VCI*OeWHkL|NW!|RA!kLNjjaTmVDUzs-14-cIH!OZ`MO`D$Z?`Pt3+?P z*yvq!(qcgBsPj8IpMVn0+cR?#uA$13JK>MK4g<3TCSMAu&n_)*5N%eGtG8JQ z_^Es?L%$S?jHWf07AB^(5snRL+O@oeg>7~5QO_51bR0?jK6K3gaDdof9?_^FDJyFJ zwxe;qy`@HGXVm_Ues?##zWwDN!2E*@)Bhq%_-6dR=Ob|8CeUcC2M)L3Oes>&2i3B$ z9$*7aRy4g^2?zlgh#+Y7C+a;$0nlK0+!f(nt`h7B4Eo$(>62>DjIl8_dw{tNi9OYn zVCqspNJu*vbc68Uhu?-2HDXb^S>p=r6eLkOvH5>Y*4P!}|nb@unS14of!Ff`e^ z;Q|l&?R9^9FyNck%lgd#1I46c%Pubi}SR7T3j~ja_nNw!NuSHb8%*{9&swpY{tT zxrB4cbiuh8Z zO(acz2~?>pQZg2LrHfIO8~mzCIJvpM8Dlc2&ifs7(g9ZPDHiIt$zA)EBtE`=Rqn<` zD_!79Ghw%{0yXBnKfG8{t@jPLMcCNc@vNx8g0*w*O(aI5q-3)9xbdniq>A{kZAdAp zs0jBp=xA_gCID0a1uWdDRKg3ZTkxWsSSSoXpANJ)_nHCFF7j#hQ}K|xni0H$;Q)RI z7x!3Al7q)-!`T=?qOhvK;xTKu&$T^Bt`R_zqMi@ra8Z_N*$e1X>Kat4fVbPk!Qp~K z6lVoQJA46RC<)0{>((bQLtL%y%sx>l3XUb1a4fG5FCGV0I>LIFcv_w2JilhI3TyM2 zFl~4vkId=U&Ev1A{gt!l2BWi+fq)|@J~274>`z3$Fu9dibVC3!nVQ}?6?MA!$@Sp0 zDQ=90y2jIW+u=G5>jFATZ6WoSk^_k+Roq--vLQSki@2p_WvK;en1Lu=YUQpM2kVY+ zR@_-}d>F90Kib@M5H@%nw;=?C#Bu4NEr4pnhzY($gMP$H6)d9i%D1myo7&%;2ldb@ zvVa=O;umdwIXSHUwWQYO-b~P!NKK@3JLT}9YbISycO?Q-aKOgOXq;7qIiDK9S?g(F&v1OdQ|;p z+!;IRCCZ>-YA_61pgFYG*T(~JC*+^3qq({H0C)<1ot{?L02N`e%yzBRlo| z&hwa4FaS7~I01q>yZF%k^;cB7@kZz7Lfl-0nyaU|MQ9^L^T(vaGag{jYoGq(Bt%pq59=W&}MUR)mz<^QD zPw9JZUS4A$UI)!KfAFiwC@m3JS6oPhSyi`xGz?7Z#t9Fntr)EuG-{0-u8OVDWrL`w zIj>-IIit;6;{C?e9Pj8}MJUqL}X3K9gfaL^>kO5_a^9173lc^$wV5(E)n8omu&6oIhG zc>2$!{{oH0?;0R`I zd>|cZ$Af^a$U#}5#~a+%DrFA~4`A-zAP6ra@N(C zNkUOU_t!o9@7{0bA@WD|8HhVgB0R!E9RVnGvCrdnHuEb0A8pCA)7I?godF$*-%R(H zL+3h@wWi;xD*A?CKH0H9U%yt-D^@!I6=f6vyk(|ffG)tKY0<~!U_kZWub%qc8M<&> zzs@eqCy3cS6MD3k@@lS&tgEsM)pB>T1h1+CtE$%WGncaC>b-V&X=Kvt7#MU!&cLerK)0Hl4DK1pA;bFg0b^Is4A=$IavzPU`I&K=4ODT289C=i8Y;qI4z$&2`NB zU_58qn324W23$~riF1T>#-K z(J&1nDk2XN`}IXT%OCt&$%LyKRcUFP(^fE>CQ8gy>PY?EBq|5 zf{Jhgurn;|hhp_Vv!lM{XWSLam@tM#{32OC%<`cHd(50%BcaZHl^n^YmI9He2#;h8 zm8;&QOwp?_OqU(IfdKMiv*Y-wXqaf>_!F>S%f}2r4Lih{5*wZvB$=+aH}4d+P)a5R zR*y%FIR6lPFJvByiM#E7#&{RH?#`+WXnyJ@>aZUC?1F;YpW80A=c$`ZcT8B+%+$o5 z95XjHgzjsL#Dje@zlI!7E;>SX&NsmDvCkBOLf~;}>40KB_yVj4YeL_~-d?+)+$r_> z{$g_S)aNqLoSUazN1}Y{cCjA=D4Zme!d6$e!JmA8`$+x%>2#i1{@L_Nib_j22F9FN!`!!a$XKnpqT+;5T`6byjR;L zlYj&OdR#xYUQ;ud`FbNKsxem3!Xak~pvbuy4(e&=^#?oSk?nZp84*r2Wb ziGfNjZ$Vk+q@vTIX-oS$s z>gP{dkVt_FmsERXWF#2rsvB!q$@es?_mv)tAoJ;ev;cba02_Vr^An}D6lze3imvq-YHS}ZQSdG@`iST+CF%B6GU1gp z;(sXH!9F9RUsK*jlQl}*1Hq8elZr4m5@wSIB~JJJ3AdOrBq z=$?|(d6I`%ntXMhrDaO3N`F&R+C!lG-EUCxVLim**)CB<4wxG!C%5=BCczdS;nInD z8#JcWUr`O_i{+0|@$!y*x&=ZEx*EqOIF5hfM|wikYg%!m?CpEue@hzy?LIIf=?OD6 z`}IMfP6WJmpHNX@&&|yNF_?s#n;=ld7nx6UpPV_Dn*dL_=}5{Ji;5QeGKAlK2H@{Z zn7i|W<=pX@0Wi`p1PCL4XsD{H5>{7N1NCfr!du`X4W>E!baonDAZ;zKt|EXZ5OT&1 zkk-=4uVui7o}6(0N2L1qg8bUR?RW!fVGk2)fLN)6T&NVwA8QvFP~Km4%+or7XU9nn z()7@4mw&Yvf6qspK|8AB{}Rmp=M!#B{r}V5w*F7?@V_sP1H`g_dENht#$Yc3b>@Fn zP5=JDLxuQ1h0g)BfmF!J$*_N4ZC312a`M0F>cekl`Qb&e?~O(p?{A99bzB+;hKC=M zRG7QCKx1s)quQ=UFqTueYe_+^D z$>3Vi{Jq#}ivQ>yAAU}M{tOvVQ%K<7f%s07*}q>Wu)(c@5Nv7g1dM+Uu9jg%8WLrX zPB}o_WGXcE^q|>Pk+H|UX7~GhPmOZ^xuc3QKvO$;G`e);8?HApI_hloN>RL!NB6C| zUu7a#k$}XcNF3~Y!p%(a4(LB0B#?>A{(=He{$5smz#WvT@axO01rkIT1>_>9fjuvI zyzgY9LBas`75HvbmDnWw?}sS(=R;Hg_2uF|B{Ebrc`dJ@#Z|EWy=S$vTbqU%jDCMB z4Y9I2BYw1Uubdhi^9CJb(!%XhcKmfKpOgE9-CE!wx7%AB$J4s<>1%nx{&VM?-dJM) zwxAdoh@byk#Y^bGx#1a5?>s~>nG7%V=F(cse?IZX+8|~8R^iFBm>xhY<=zhlf3(7H zyb}iZL;>Mn@%Fzr#iCC-!5@%EFc2Us4w_j!mKKSFcS^9_v~R3VBeW=&RsxqPk_UtJ zL86kUSw;crawi<*uBV(HeA{rYdj>N4BIn&CWK7JcJf4KUi_znO*IjH`>K{KoGH9cf z8Utwp|sjD5oAY|BM z^zf$Xq)iK+k6IM$N*2mq|J^vr53K-Nc)+EgS6UVc;F{#~12X~HOob2a-{Oo+jKy3` zbF;EI%qOp}tS+XwuhpQi|@x$4Be zp|v}=ODiZh=*|fTlUS$(9;3?m;^O0f8n+|+3#fRX0zd-W_a+$7wBBv(N7v6|dTs$N#p#j;%o-JMsF+GE` zvlyTRMmO63)gh!_$j;6#V3~^qV?_EiL`#7)rc1bA5S9ZPNa_lPa~KfCS{J zc<#aCNkX5+5;Z=EQq-TcdVHPs_7V4=mHR(6%}yhQrvHz+VwA=WroK{jCZOC%<$-U~ zW6P+^#~2-rV(vIaL&o-y2h1wc8dF4zFsnR!c||T7LGI@feYxnyMv>k(I-VSca!nIs z_Ol_f|1)OTF+6mDwD*E~BQY@=3EJy%eypwU3-9JY1?nzHYrS0% zbaQ*JO~O{o`Gg-)L-?8(qS{x&6q>vA>LE&c>+er-i|guIx>OB{e6AOJ8bz2W)_utl zA=7&k8)s^i=J!1P$$WxKGoNhuK+)NkMpjjf`zgFZnL5an5h-^aEnC;sD(;vW)goyS zKLUIP~HSXt9noP!gPX;dI8?Q|J$pv&+Si)PR=h>$ z5#)cieI7JU(4V29FT!;v-n<4)%`|HDHslbH$s-ls%**Q6&v_lDqy*MJTed#;b75m( z9{f}X(vakfEr(Xn@ApMV@IJ4na-!04#%&-=Yc2sKh(fOSOqx}ii)WP#Dg`l#*Qz>q zPs#-@_`di{%Cx)v-WE?3u)c}c8CL^d_UXmN+UR$eNLw@CaEqQYkOIu>4}5RUK*_JM ze|K75MP=)^>eLMSN5jHbjiabO;-lj#`sdGH$ZI*Z?b_$71WoTx1bq3S6k`s2+<0w_ zSdQMNV2`^k2F-`T-(MkYoP?j_LgjVGa-ecx?=sW%7^ov+BfUZS8V3&#O%&Uzpi);R z^uL8$=+F=+O+*(^9MC9-fmG_s%#BF)H1SX&SGh>d?1>5+2^tFvhO^6?jF1S1M^+QN z`Z>5`a@Ze13xju;83BXg<;7KcR<6s4lj(>FGW+Cc6(3bh4`@Y44SF5_>u9yarWtGA@yzhf-j_Z9MQstRHdYh6QEGf>M@KF(N;ARkt z+AWP9^tA(A+k4){Ze~%P1*guG`?K78vsxC@wwITe%S{7!NJ4iTf{9%( z_?C`4S5api?!}oGg`q!2wY28-d!UdYO;pygdY$44j(m*+pa686(iu1G5CMEkE33kJCPyK8_kNuI zQxH&zb1}i8`X2XWRnk!clUh%p6FvJ{77&t*qN5`W+Bfv}pHVIjh0%+GmI<}!I#ki7 zG*I^fco6Ur9Nj(43mc2K78(ht-kzYtiw!WeKrz|&)##P}i+Iv)u#<6shV`K7dcShV zlokHN=Fw1wvj`1H+P%68y(umTkq4&=}S_wSP zQ215!)Rb=tPZ8U$Oqmg~o(KMt>DddtMTJZNMMi%rd?hbM2Ld8c;Q{jLamh7l|K| z$q`a)(ga9H=N>2J2`w!F2n;}9);ROc7r9n_RTiubO)~*zO^y`fDzwQ{}u%9#nZ(B_h?LDMZ!6BB+tgEmoY_@_^QP*JlHXZrN- zHcPx;T7LKp6X$I42_%d8rxNn=$ZJ4S`XN^Syldu(-U6?I3TW+2mvl=4L=_qVBTmel zpV~muh#p5pW!uFLUzvZlCX+wbC@dd(>*CO?i~MRU(XROP^3S&0->Coc5k4UZ--w>a z+duAkRdNxY*@OfvU-^}Co*y5#d{wRpJXh6sAw7D#E*93s>d~Zkadic*GEdzWNrokn zlueBS8#@39njb*(@87WbeQyqc1pZr`wMFjJw?C^kj~7?D{v_XYugZq++77LKT@?O* zlPC{zWe0OY|6j^rvTLEq=aZJV=I2t)wt(i7S5b!rk!E2*zCszs77USKc+}qhjGB{E zGqDA5%HhRKfEKY!egzu0zK64u+Hw#)rl)`PyAR+SaLHhi4-ReJR7i-4u^Y70e!IK` z)uoUB-7;$QjR^W-OwGthmLPol{^A-*YAjdD_tSiB|Vxb?EirKRpcdG>zYiWg9Zx~%Za$-yapeR`tOfu`3j z(-!ldPG|(OAB?_~%i8SeJkQ+Q9*Gq@o<(joO#fK^Ep^7+97XL>MNI40ScFT%g9Y)> zpizR7n8NSy(5a91`enMSQsfH|Gn0~xvU4TgHN}0*Q3(;x8R*` zp%^y&#f1?Kbqzr40872rB!GtjB}`^!RZaRf(!z$v%qjd)KF=C%b>!)l!B?kdVsKpz zlJ+{#Q3G+VeGF;_2F59fX|1M4MyoCFiw^_h@SiaguBEh}VO2;shh3lVHuuI^hu;7W_&)#>zQa+;5DEOZjMKVA7&SLdj9zF zC{Nq=1z?cCN@_-x6g!1u3_3?1_2tY{=pdI6pOr|89Cupkz1i5!;s0#W8a3Bd9=Ye+S z&+jK|_EWi!T?fuB5wPETcJh%<6D@x$nf^6x;b5P&8JE1dDgF5447M0nM;GHl zyXmtQ$pr`BPApowl%r|={v8L5`d&LaB7Ci2gDQNn zNck(7v?#Vp-OV?r+lHV2#=irm{^Cd<77l|$D5j6wWCcyD}-u)7kFd$J;(VeLh%7Yv0 z``rrnETtLK>QSl9)gagNRmzCyWNARzF$9g-+$Cn=>l+y%Ulosm;la^gT0a6}5a?V+ z##DyoJ%YWPl}jtiE_(CX^wQs$fN2WF)`xbb6>O}mjq53HQtvk%FmhNbNyM*C&-QWlz=UY+yygAaPCFbZrP(=^6@Ly185$c~8ZH<~iPPRc zj!UVke-l|(7xTUw!kr;mY*+SoR7?^R{~PA zz|(CWJTkK8-`--G>=V@(2{5eZ=b)94ZS`{2f+tFOHD{fkK_&`HeVg@+mOG?>`p)Ma z*mE~~756{Yg^h|?jf&}dPy(f8MxU2dg^ucXoN?=sCQr=e3N9=xP_5kwef$0n+HtyI zv)>o=Y}5Oho9lBnW>7FbI<#o$3dq>*Z7C_4MgPJ(Hv5`jfGR91%Ki-51m%2X2b{)0 zJszjb^%zXhdlZHKk=bO*1NiDAo8$N8dNi-}AAxPcD=As5)(Z|JqcX3Y^3dgVGE4j| zyAYd`4eAuzWMK!?I_-h*Oa#s29Eyptq1PI+93a#v!Fs9|s?5Z|_!nTxLGoF{`rp1j ze%_^MoRgJ>7V$j#$I7FtUc8j5{^wKo{7Gmy`!yW&bP>Q#v{|Cm|{-&zTul8{6ae>KbiG`}K>8C}zy)O?c}>#Aivv-*N7b$w+Y6 zwz*3e(>};R2hEopV3NYSTH~4_Z(^#aPa^?|@J_8XI>TRh9sI3?zeA~Z-R2MfLdjgs z(UP5kbKQWU``T49qu+wA&(Iy=P3ZU<*BlsgP^!KgInTtMVA(cRvq^b(=Ap~p_S<&A zJ@d`pPo@{y`M(sD$-V^y#BO1`J5?0+cXsN{XUOFi*k%oPg?+|Om<4V5MG9_qHpqOv z+x3QJ%$gFtzH4XIg(jRN+-5VcL>IxK%8*?^pTgZsN=R6EA5^owQ0WFA?(SG$q=iHmAu4T8qZX5dFVg z?GL>(J* zl2A;YB9CvIMCGI$1D++y#Y4s>e&8xH(k^9vO<(AkWBmLh8#-2~ZpCyYK|uuEXhaGr z8CmR^%egkf*A5I!bz&l-h1+xObufIG11KK`O+K5=7yCQRxxbn0*JH~)V_>NZ=v!={ z;m?M%mdG9Z)$Fl8ki4)0Iy4=6z}lKP{G;8_L3~iX@8qAl&$GL0ezQGr|20a&^nI}n z2H2h8Haw4FadB~}R9AlcS(#5TLTI4Ie*X!_3(NL(Fh*v@$6;P=BZlgKMqm(-TY17k z7*6L%xQ<%zWP5Bgc71+&YJGd9d~}Q!AorSHiv>ZxCWmoNHepBONR~p#4VWfOo z{;ijh<_75x#{fO&+Fc;3X@zBlH5esTR%I=&lAH4w$C1AO_IThv{)VPUO8U(+ZlQ<8 z0X}$?c{DT2kAgcAW&BUtF4dPi!&sF{HX%ES0^t$E0l~qlWrpY|D64~T0|&<*H}mct zinWu9x4;BA_V@3g5~oQH?v%?(`C18-`$@AWt`~QtrRAI)?CfG-;Dzv2R|?LDle&W1 z0b&Y^ml=b-xkK?y+jX(OiUN?s+jHK5*i~`$<=y%=E`|Qv|7ZcqRa050sRJh_9R2+L zv-4`3=OmM<*q+Cgj|CF^sd$lvWjbeG7cu4i)6l@S%w!8S8LJxLtEqSs6H@_v+GV^5 z$Gyv#C~SEHgMM##hzSl4pXbSw3>0=EqQjhKf|#%k2jPwlIs)4U1+UV~)v-j_VwK#e zAuxrq&J`#4mH6Gzs=(z*5a2mW)yX%F_i26V)2{Or0LC(v zZn%SQMZ>6M~`L=!(ANmd0zoW&wl#OQN zsHlqeXTr-50&zhKkxblfI6B?HcdZ+ClnTy)YCtE&Fiwp3;H0H zlCgpUbZ`Co9uZn1P_fgK_)z~boKsXBmU`0%rJjWEU;mb0;}AC1X8O^?tdp8n|Moov zF>wjbj>{H)}x5<$BdhURrg)JB9FOSKs1m0wql=r z)_94Y1dfjn+{m~VT;t}cM$4w%5>ZmNjS(yS?~le!k@_Yk@v$uVDjhAM0{xQvb!k_( zdH`DR7^1|;^j{15Ik;?h8a>R~QglCOgpcWwFgNEaD;p&Wex*W?pJ}y9LSvN@87Zcq zfC_Lb&_Bv6Dsp`aa`G@J$^YMp%Dg=;^eAX=W)hE4OFN(m`wJWUSIYXUXNiI?-pO+o zxOm~6-Q6@yPZGeSFVI0p*q?IvYh-L@=B0}%M_|`48KdUKBHPPw%ha9}4AP44VX1UOhTUl*=7eC^cbXW3!gYZ2;B8Ga)dyBx_p2^q46#ew=r^5sW8H z{30iw5H4%vlkoC$ANTIizKK!2JZ8>nM8QR!bVR zK%HHWWPxa&go@!sXzz|@Cb_kx+_UxmWQEXaew@mQYPV2Bjr{0urLUK8!+{`ybIxqx zbllykqpC(D@$EA~!P(aKb_VlMjRew;JCC5!($}k(d;OU0g{PNNGBO6USAE^T9W-8h zrl)`Yk!8rxlb`=aCcDj`#Cogs!7U!Pd5R5Nvvn@Fj-#T$VPdkB*{ou(3se#!mP)qv1zR`nUQy z3IJ~g2Wi6vHSRlJ1%vtD@{`h9U+W)!H{ef+Fsj}qUehP=M>cUU}_}9pJc(U$gOXi zlyX`7ENHQJQ$J6w$}csQ3TP!*>TdK4RJ25MM}NCYd_Ur=P)FkP*c%}aDSrrW&ud(h z!4iZCi>dh5+WK^AdfKXHmh5tiBiVIL0{Z>i=5mwrmZnUVfrzLG8y8pRV`(55%mDPI z7h64{QOovrr3}j0Kq)#|b&bQU!!Ktg&k8WcGdeoQZniSc+4P@3!!u=7q2&EN%G;BH zDyIz0n%P%oW&*~OiD%+Xli|GhD7pTUR}Z(M;%_%{*fPB*{S|7@PT zjMH;GDK@;ZaM?_^ys(^ULo;+-+6*)?0r-WDlhd{1xMtRZlLTXv`27#VkH0|Pvc?Pg zy}NCVH;Dy)-%F3)IlFn{K8CZ(pKhJM8}(4V+Ys98{J*&S>c6Vm?c0ro7+`=P2pBX7 z2m;b70@8?dN_Tf-AV?}Ht_<3vJrNXLQJ>#j=0`jNGiI+#`<>Nz_KiA1V7>NYA3fa;L(#+rv5v+j-V!&)&*$ z(ZHQ%U~HwMQ@{Gu$?3xly7jp+O-Hteq^JT{oO;J&JG-KrWMsKarH@^k`bYbJHFYem z+lD%V)HoWE8e2;+GKHa+(HUu8L+ zDNk_Q+jiVzizeZf2qE3we|3$yRgR)`JN5J6Ztzq|q9mu&dR#ztR z{3-VjADC%o2Vg|eEV0@h6;kut@dotvQYbq41AHDX&yE48TVzqaFpr!zLv=J9GzR zSDxvi=NOlAwJKc(&v;FbT5w(69yCs?kychFVZ5ZIUHI_0TJ?WbYdnw{9XywkB3dCg zUmmJXSRSR$$an-NtXipsRr$=FL6cl**MPBsXRzC>%41_|CPx^4Cp3|5hec?e zh|$U8U558*n_Tn(h9{v)#x&yW?CsO)<;T^TiDB5&8kw|BP|!x@#4#BZ5C!@p%*iH{ zPS0;@ke33om^}06wo8?22mV!pX&deyqoRO-D}Y73d&DMg%zX-T49Pb4bF2m8{IU1Q!Hb}`w`K{9c3r1V)mGEm`gkM6NNp!|8s28kpoER{H zxNoM8jmzg9DxEe1Ckjlqc}fI}B0qnYMeV=ExvU?_!qhu|O9UFt*&U?-daSEOtqx?9 z#XfQI1p`Du*Dfg)V?5ZEaDBSERQPR?yIW^}=;~D08z7(c1FqH$n`PWRI5ax?yE^-{ z2qb1EX5T7)NN&5ik8!}G(b4(iwqso$3m%bH%k%eQHCN=&Fy1G0;&?wnrLg4d%#3`u ziLt5ipWfNa@Vd2zEc9kNan_@vmk!&}{3=(%iDvB_?KkG9aox{EudHOd?W|V{pzdHq zA>=dUsw%lO-{Iopdm%K&5nc5z6By`K+xwQk zD>2rnQRrh!-{Ji*vSQHnGgyk7rf{e|_jm;}l)tI%rkVh)~HiDvakpyNj6gD=IYPyOZ&vd$5VjU05Be@SXn=RzsG1`D+mz02bP`W z48-5><;i$)B0_d%cYwP;>7bjx)i*fk)3>lyiAltb*O|?*57R)_0tQ@kH`kfdfL#y) z_R%k*buMzA>**W(`K^%+ZCk-X3NSt^c6-`E#&i6WyO6IhYwzITbZK0HAVhE(G3o81 zECKsJtf|rzaob;OuEL-o{_k>EAp-#3+xWVRlkEK2GpxcfU~NU+{pL+K&-|Wb*VKL- zeVjBp9kJ-pH$K3luYjV*4lX?sjyW|2Tg}rYzmt?(6a30Yx78g6oIWB=yoh&IC>6!V z`sRC0P2|*+D|RdkWwHm5G|M?$AB3!iyLa%or)gamd*oge#l${dK<@`3(RYf>G*C|gJ6_@Td2fK-Bj1{}?Tv{~@>Um}HxSwT*6`3z5#~!9Q z2xWSMLE*y<-w(S6zP0Qx;!(&H(~$!C{@5_FC}DuxsOz475G+&{fufilyby?yo&xn9WH zGwc%`a1|701rA_K*uWW2MMX8Oh^hb8eJweXWwhhoBN^>_Lzbev(S11Ho4jCr4T*LC|LvzSFaX zJgBBjM4901?swCMsq>ZodT`^ft)w$0hL9a4hMk)4eqaHO8i6I~wx!}DEQUp1zMK!} ze5In`F>wy+e8$P1=J?mqG8rR=?NCYV`t+|0!?&w9{*`>1NoGxeLFPo>XnjOBLB4r&d?Q5@ zf1gt#zE8&mFZbn>=k5JzeJ$xXeZpsVMppcvL{~njeRG#*IEl&h@v!inz+D~rv>&yRoU~FLwhvQd=Q9Qi( zO_+hAOLn`C=kZHdwWTmL%!v55ovkxxQ%=Gflgdy06nvG%#L}-^RV%m8ypEoqC&%7S zCAfGO8jZVUPJmlMJpt6WX`AwtQCcdhuZZ`Conz9pxBSn0`TAZ2l&R;(_v&iz)z#J8 z!MZ8XIS1M3SDopLSMj#bIarix$Jg=UoV#%DbHo?#dvv~F3bgOyk}|58*mEu6>xV~t z@4EA>Vmn{KTiJJUP2tmmVyPnkT3gy!5XvMD#r;f3UHy(&OS&?X0U$89?Vnuq_mvg6 zj2{#D{rf$Ag7i+NLygaGuv{cpmdCJVy#qaJ&I`iG{YCZ! z!7^GJ>dg(TX9m;BT;xf^st*BJh2`)KqEK~}mPehI3O~Y%>?p=v!B12#!5-41n5*_x zdrg*Z14ol6L7K;p+tJScjqQTRV<%e&`?WX6T^G~QEgA)q&YcEiQ-OmX+_M5VADfL9 zd7Ja@WIT^R073zE70fEmJs7h+2&z7%FnGnsGkai{Jg4?BRe-+wnN+sC?buUAR(-BM zprC!COzsPi)M%ATS1M&SyZO>D{Wit5-=SR$C^l%3(+0UW4zbg^m5dcT3WD+3eLcC~ zW^Ogn(c(cAdpFvW#G``w_wE3z0Ri-jS85vE)3z7RpI>h;oS^1^AmQ9;QMw6z`9D2p zWf<=z!z8fXKbyf}=9d%+*VmA=hse1uLHFQ|f;NxAY>m=a#<~1_d<~YK+qOvT`-JqI z#^GTGfxSudI|5J-@M8I%Tdymks!r1)0Bca&>$!p_WHso7KzH1D8ZNF0Oa)-X%^9<8 z)aWN$v$PrLIUB)i6Znm~s1wNc!Xm?&HjHj5nVB6nOqcDdDB|?9LMx+t5@C%e<~XXF ziQ1T9XJMGC$?%h7j);B0de`gEpX}4-&fUA8X%qJFPc~#cIYuH2-cSrz%amIl&M65d za1zGFN7VUGxD$ExN}%^P{Da*~dX~1U4qIgmw<>jVushbUB(v2hb*AUY1@1}s{CsAw ze>=f*XR4_AcOmxGK+ePmkwly~dU_uSCOqE*+S|8E`}blzYA<~ed2IqQ{;V=3C1y)f z?fddLIM2;*-;5f`@aw&eA-i#-oxt-j)#IlCLO649vo+K6L)~Nz`9>KzFXgMFFBE(@ zpEN452WDjYZ0n<&6Iin2voajzMz7niXw|jf;oA*iIK&0+=lb&H3EI&o8ne__S*mu~ z2v&yCH;>O=BnX}?C-$uU_@~41&U@)p^rY>?CYU%wJv3o`66Lb{r5W%(Vz+wF$*7U6 zEcNI0^+(GK*YyK*Cf=sXXBU8cf!9Gm(#`E%*A8HBhaXRxuxce)pHt&Kw1*#ct;Uif zH+u;brUcjI(Qe1yn1idn%v9NmZLei&=56B-56>vrcUy;orM|Oy*r{|#y z^5x5Ap7Eji#jTk5SIwzG`kpc4+8+A+y@s=Xwv@DQhc)V z$R?6WckE+__$~q8v+c9NlrKta2S5LvNMl0|izVEq8yXuKaV}0G)4d3_c zO>o#$Mj6=YPno=HQoTL`UEZB_*HPq{pJp!YFkxHotTz?)E&*(bg^enYkMIVEN65ti|^$82_ z>4Uw+JZ9;%Ad97z2%l85u^}xlmq^R3w($~{7ka6y;s-mWH@}`3y zm&vImua#&zReODJ`5dm!0%fE=BaLfm|zqhk6 z&nP=1L>CTM(?RJf$_EdA0uk;~w#d(qfoh+&_Lm=q0l>^-S&DP*CUI8?bz8VSF>|az zzd+BW!t7#|V$Aa~0t1&tJ=&W{)sSOHHk0dyzT~DD6@^#g zwh}ihv3%lgZufyJcRWr3Sl=9Q90bDg*$WGXs`P2=bhAZVT`Qe2E8x9%uE4&T0=g2= zN71#i@(Q_Z_{4E1$>gMa&8oz5L>SI^=(9lE9AF~o1jX_kbATqf*ab-&lN78U=83!qgxBBi8+%QEDKp(85b^@GS0ajH0|MoT>O)wk#U6Cs z9wWUGAy+Xev1XFn-XhcKosQWlesAk=O3WuZ%GsN_tq=3iW~5i)wozCSr?M|)WuN@K z;Py+5Rhv3F`HTw#>4HT?K3en8sxA$ia{`NwCypYrEqUKV)#WO2F3M*LJff?}Ib|=2SYlcx7D1njIepMMKK%jf2_PW|PG3re$A>vM+ z^w=;;4GOBvK?~Uk77e~OB_DzFlN-sGe^V9~78qScEcus0Rtp+26eb_&OuPGxGB1~Q zRya>ns!2SF4`hk*o@rQ%xZf}s&wQnU59Sx!9;sf{);`WGi{od%PSSJ!Tss}2YNg-IH3!ZN-TXh8Cd|q@V=NC9RgiWId?!su(JX}IOHuasBoXuhw&QmY!gmWPL199f~ zX;Hx=cKwYrzHAJE85|B+egKift-kgZwSlUnQ;M*s1T)QC!f-TB<3W8y1cJ6bD%xfv26aNYMR z0T)2Kjdf@(#j!!y@IxiK1mQ%<;+ZQzX5}luSSNcQmaV_B@;J7^cVGV^li3?PO3in0 z*e3q9#{zo}2@Q;2w=dJ;o`o^fm3PIOk0E2SM;sa3m?QlMJx(sGLdzg7b!c&AB{?xMZg=+uq-TEq zT(4DKuERMFCr{X=0;y69>AmsM%W>o@t<&pX2_lJ8>F-&73@(Bzo!f4m8sbH;0>Z9x z%uePyA}c*dRyC}&w0NVx4nx-*d-$(RYI5=or{&OhCP%xX&3%k#-P+oVd01RRggH#W zE4}3(RXTq75PoAn#>l-;!ILg=j=IY0Tetq&Xn!;TMcEa>>t3R#i#76B(NGDpwX?e} z`nc{INs?;3@%e8_AM}!KZr6Hmrphm|#0w^$^Vr%)P`gdbyzY~lwH{2WRdF&R8SlD+ zk53nDYrE?$$>%qQRK{-3C=mR9@Hzre2dU|?E z8THD}L)2ZATg~sDSVa2o@0(_{8aZyPi(+;^q==B?Cwv}PH+rmkBZMY{BwPbIi7n$I zJ*@GW1_)g~JDZo+k}J2e zj7&Ecea5~Ya+>K$mA_ZKxX5T%RD44_fQp}8jYyHq5>HLR-5YpY8CPQ-_bRZ)@oymuz_r1`2aVgOi&-Mv{myd4v^ zHj)283jjA`sNuleo3F@}@^;h^5NpfSZz@b7ZiK!Lb1qhHKir=}laNKDdHpY05k)SC>v$svps5@9O?c6xk-`=tw+hnwg$kBO>ESED=eRcT&ra$kJ46 zpZcjqH^DNQex(xAlN!Ee=xIp+lC``M^9EX)(8yB4>T%oZKuBx!MzZ_lw&y|Jk=^UOEeV9)GJCpcweIlPK3X6DFb`3>?rcl3;YWyp_R z+1#wA|GVCJ|L6GSP~U;(lJ;C=y6XLVur)sDEkb{aFFMlu`BMlWk_qE7+gn6L z>6fgEi`ujI<$VTS@fM$^TgXWO*&RD2dU_Fsh0cV$JYV|3j;&Zob!2l{g(YkgO=<=P zZlO3_xj;5wQAs;4+MI+4m(JAYBfVo0dy&7SxFqe&%g&xx!^5gCr4*EqYD|}%1;3_e zEvr*My}VXenVZS*Zqbeh%ze*qZ15{w5f$aHYlSApxF_Z+lI)gaTB3Hls}8 zY+LLHZCBt2o`Mn1OVZ=(q`{8fgGR6KG^Nq)yShRHdK!p6V&fsnMo;a{abAc>E)$cG zynL?12AylY{;A2s^4IbTTH40PHYPcW(gzf`6Muw#n?+?@`u94Q=|C~$XytC>%|u3O z7;Fy*LeBwuC7=8PLJ9puN4rS#kY_gh@j+)OQ z(a+$-f)xEsylGas^B<3q!4V*=ExPu(!Ss#w@k-B06y*{9h4;^hRLMy4*5C)q-IIsv z_73AT?Cd^JMnSIy=<2Bb{|F^6e{ghGxEgE5S;IJIvVnD2x>Lh7GNLBmHa?+E+EE{% z@HhC`co%vpfd##pfo5tFeedMW)aZ`pJWw|Cge$hRn>iMSWE4Av-Z5XkXu}!mR+7-p z;cwy#sHNLhUCb#rMInvtZ|3`V`Ti&ZjGxp`57mjFfL+&>Yu6ubFKruUlr&D8agJmK zaj8vBEnaec&u(^}Kk6s70(*uY)?tWS3&Bxk*Jj?B*wN(&L^d zQt>W}&hLbTjLnS|vst)3ql+HPv<($6ah@J1XYwqLPLVn|5;xH)Im)=QDz8#hbE+M} zMa?*`T*I6fbsYq#q&}|h8QLjKIRzzhFq=aDubE{$O-@(!zy+@Zlr|s zU;%@fg=}}Mr*DrwS9uL9FxTx?R_3R!H3qbnwi1a}?;td?m2?Gt6 z&Bcz{fVQq$&U~=%0!R#4OkAU&sACk|zbSCEOO6_4{`gN>1U=CyItCXG33)xwj-?-w z$yr95pDwS~1A#dkZUu91!=K#rUW|XoNG@;ah;V&uArw+|Nhwfwpj0?HOY)Tv(calP zZL+qq_X^`O>u9_rAsqs}I9Y z%hZSoS2RZsYJhc|&A#deiC4^?4>#0b)=!qjw=cQfEqk$!%ct3 zRKaaUb(=iXf>SDEclHi>G62&70cMk(E4(o=DY;v>$j#*#Y%iQUSD^iK>tTi{?fIS{ zisRVdUzOo-4M)T7x_EV4UXY1-T-*?CK7RN!S6&+l?+^0X>y=mvS=HYVW#K)*p9mJM z7NJUtsofqS^(UT97-h(G!ppOAYdBLU560pX;wmXpoU(-1pTu;Cy!h}co$c}@x!{ff z?bAWRK~47~`^6>qpW)bO>D1}kY1~I7?*QGbS|4UHHmiColKB1G8|qWUa%$@OvgelZ zF=$F^gvm_}(JzE+NctM=UH?n=P^i0zn5>?3pXmFS>OrSimDu{lUkT;&QLWR;?UA2i zwgSb7SqX26Z1wa2~dIdm!L&hfkN_a;mn$2~_^ zSK^F(fMKi67A61i#?2cy6i@>$uEZtoD``KUnM-jLbHrz8twYL!g=}9qzP&y6JRSmH zl?m_%oX?-X|T4pSLpFVImD3d#LiY&&f{-tUjh$N z0ToJ0MpmZis!%MYH}fLx_0O4|I$K>%EF;FyCWGf`WQ5DfxkUui(arFj`vG5|6Lck@ zSe8RX_~A>UYUA?$?-DDI6-bDuJ>KkGVu6D@D~=wjcd-_g9lk>nNX|eSVO=>U{&eeb zh*v4At+RDjeDB3J=li;Emkc_S;`Z&BB0Q2^;>Ik{p#&2;c7CjR9Tr&Q*8;#U%k|vu z($hzOj*l01(_vd*|0GT=;ssL562UFj1ow@2lZk@f8!)P(MXewJ6d?bC^d)4+MdPHq zfMcFs?LcI!MH!l{R)bePev^XFb8fe4PMZNlYGBWxu#17Vk5zUFsej`;>0IV*mg)XGs$5L%z|MekwS}jJ>-l{U;J~XjbaL_qugGQh8N3^zA;zZW(Z7+li??dA z^)r|~p#0=0DlqjL{S`+(l$}V%v0eK^(TjTy&=-aiXQgw!3-+M{dzvKx9KWkawc1E+ z6D{vV;qI2K{BAof5szaee(BQy2{45Z|Ki0N-id?jaOBT&>&g=XYU>{1;(bqbM3sa* zE-j_Vcu9IT9|(+_5k6u10LKK4m|tca*lnPCek4z_WMnxlA{19}hmf%7E_!J``XUuo za?+P*o>!mDfxIsM#)1tPO|@RaD&s}l_iAt$;xuJ?GKyzrm{mTncZQFwq%<;qQ&uke z7|@<2re>^M>_Xnt)6*XLb4s?@sAL57FbMelzCk;bIkCa}OB}7!fJ_cp{szFCnvJbD z^~P@<;BP5B#0*yl{|jwBJ5=mCp&?kK-~B^XS|-7bUs5^Xpl)U7(>FO0Mf~+p)tYy- zMP)!dqZq>3zvS1aHvyJfo{TV=p+$e*7qI<*!?D z=o=X3L*=mR6b^;w>4B199Z&3W|KQ%?;J~n?&hwBiLxa8u^25pSghzaj8z7@zpQH5X zm^j)#X=6E_wJdio)Er`F7I;>yrTpSt?(vMwDc!8MjoNK%YUJ>M<@ig@-o!~@u%HWW zWZQYC@sYCpr`cTZ?|lZcKMweLC6$-A7{++BChV=_AC{DIf{5YHEq`>hV^C1Ws#p$v zCtjX*A7_oO|EEvd6UVf_I$JhX&|@1M+Hz_-@9Szeh!_>jKcXKrEFJXn?&1OC2ye%P zgW}J&Q$bPD6%^)+yr6;@I`d!J26nEtONu{GCdS6b_1rw-YHFwQT>yB`@=e@6sz%oJ zxuzEuzMq=<LEI2Z~w*+`no8}Q3*`pPR%qRPeT>v#5AF)$p*mA^*p3K!3EX{qym8K zdZh+VpOWfNMKhbq-G1)v{bB5=t8cY&0uW1cnME? zsGy#{8K{=r8z@7*y>@?up8o7cpWwcPNvl;Y6!a%YB-7C;?t)n6-yR1cSb$tABQ=vDdxwe|fEh7KX=)mpAkULV!S(}n(Cgc3v3${e8yg!-ouyhG z1dIr(2I{q6i837rcaGJotUeZNhPQw;w6=uY74J$c@{*FA9NW@>rD6oF54XSH08G-( zW-2Y=v`(KntZEvT^^6+g_G4ETph>muav%)QXniq$zYkN-^H1g0JQ7C}N< z?yX)!0srO!e00RTo-3}I;QCN(f^vD+RIi8bYByuXY#;tMyNOd%_JJybnekh4@oinF zb0B-w+w;4x@7~kOp^VG4g~cAkvJ2LD5o@}515|v4;OZC9j~h5Jx3m~T;oap#Q+%dG zm6icLizcp}W`-6yaK%702b9fP=vad5{)Dwt^>|W}9vho2%=-{`wSwuPW?MYu4l#jX z(4(;3F&9BIYkP+>;TI4)UMYIuRV%hZ5W=H8@Ng`TEh--4-g4pMj*|uq^%F?!7>Y|c zxq^;PZW$X#wQk0n1Z`Sg6-;og>@b+_|MU~i4C~sP3@1~;CjlQTRNLnSen_6ao^OM= zFth!ObMXJFYj6Wk)6eHU8TPHyog?P2O9s@;AkTN4*e91EcM~IG02*Yp0SkclRFGCFbf>wqT>b3N~b577@01^{`@$?Doanhoyswo8?dV0!ui2CXpN}zHG98O9h zu^TcMFJEqcb5WrGL;|g%Ri%J;%Hr>n)j~Utv_LU?su7|yR(C(* z0HLb53V!#JGi(5Xx{j8?u%S`RO{(1N^tr>m*C1^ZPVFnynI#2l&uK@dVvfa3Q5etr#rx9D^o%GJZdHRV^({GC;YvokZZeFrCnjuSoRagG%jN(5Ei zxPJq)UlId-263B7i9WBjj9K$KmBXK~sCLOtNdxJ*(U{7)_)z=KsFtj#mX;@6@lUM( z+-MGxFe@ikDak<5fBMmI{|lijErRp&-M0t0$x_b|VnpJ1!!d^0S(9T2W3DH8`8XyI z1(&c64r#fiN`(fg3{(vaVj1ZInI)VU{h*Fp{)#yic=E7vGYfio59eg=u67Nv&ytdm zd-T;3l?+}l}7K@sc#Cm<+-NZbwkTYNQ8!j$OTv*?X7+RQ%qIYP;6DYRdLOVC_bgU z#VX%yECF=f!6DfSB@Q@iHiEfA9cKD5U_a) z1M37108MbOSiFjlzc^&*nSONO;PUWM>-XpB3Tny{J2 zF-JVNYD*190q&1^QjZVsWB?_6ndsuuqS2tKr<3M;-Q%Cg5t+L>BQd%2+e(_UN|7fn z`v(Vh8!z%rx)fwos+Dvn;=8u~T&|H*Q}gcXz)0y#5|Y5NRqbp?b})( z7)PeMJ!+ZI8?TX&wr}R0k=bPg<4auD9lM;|ahaKPc~JsRmN6xsyFp+oIAirYaF+WB zuL1K+Nz}(<&);+K_^9%TId^U1S?|;n0tU20eX)j#n>z!DU^D$6@OmOj!`t81;TAXo>7mSgl1@y6qg? z^gYlm9ocRk^q^HU^cjTNjFCYU0gPGC(9*NDBbKbUL5fp=kU5E9w zd30h&M@KGGLnrdnd#i55cD&0OX-|?@D3OW8T24*qvW$#Y>ysU^2NQL}(F_SIl@6=j zxR`2VCJ7k%6S$VpF_2t3;U+AKe{g}QS^VXlm3Dyk6kI#8Jg>iJ>u*im258gd$wYYG z_qqd3jYG_rr|V9mE_=!7t>a3|-NT2WBFFLMqcyyUaGd|FV8mNP@ivAk&TQe7+kv!ml8m}ACLa)N?d2+DSMyJZ_`sTdg8#H){hMYN!(6e&f~ zwfjBt>7}bz6`so#)C>L8!#MmJ7@FeJvoC)4{v9EJNb~a~_I5>5#!j0yN$t|8n-lwt zx`%bHmiy;2QZ5$`Wu0uiKT*@xo(f6o?VTRpX%;+Jmho!v06Y0E?JEg&1GP~%2c2l? zbchE*`z?PYR>?CLK5@uQ!(|bD!a3!*p*C@Z1m84cBcqooKC2b-dGgKaozl_0 z%zoHGYFFMAM@Dor@oSn9YH*PLzK-6|dR{jx?Bidnd2Qpfm2SCIQIa(JdIsr<)l%;6 zM=-=g?!}8Frd$3MmE;9O6;)?~bcqNF7gi4_PPbva^L`7Sko#c$>?o!2j7nf|u#&u8 z(H(~oq9YouG6N&!uP~QTzi{O7;}&R`lMyF;8y~0G-rD_$Ne!W52q|(!JFJWsPe%{%yoLeifp)Bq#qcYoz)WoLh?h0|ozU~M zE=MqxvRZX7xTtfE#g*Iku!S~!D`@50F#Sj+%^bF zY|8t4ZQOYg+_)FyHS8TWK24Kj>@xDddt73yC;_A%rt;AyIEAYV2|ewfe>kM7G!Q}W)U=90X>iTsC?pImI$6uH|LENiaVHSS#uh61WW6a?|pS;k?`umSA$1L75Pi)cE8BNxCoAmO%-UvZ*S3yAOP$Nqt-`gpJ zn-hm^Ihx9fi-ki@R$Ynr#x08e!v$cZ=Vq?_nUd2Psew!@V-pjp?{RlD{WmNwj*X2iA_F{m|7Wvsv7PZkc$osv zM`DR<^nU3`_Ns*soJ&NM36mVD>EER}INoYSaPx3V$8cJr9+tYl0^t<&Fkk8D6to)@ zJ~FhjdMX+u-6ieahuV+fGHvM%zl4vk_|g~k+oP{TEiB^8Y-!A&CaKblZ&p$F6Ms;P zfq~I}OwGX;h%bJ@6#Yp41dY=DR4&ZgT?6D+fLT<>EwKk}Ji&uU*Z=cQ5s0Syh>M7_ z6u6*{j*fc?cFS(*J+@RVT7a=9Mv_MO#S4b}_j^qby1PFM9IugY_gXI&5Z+?mJQxyv z@xo-P{<-^Mo!a8k5>~*V#YQ*|L+JDjREhb)h`Sc@u&OLAU4=vBJt`j8qWtp@**00asx0x*|L5T%HK7jZ~)9@gB>?537h@y>+4PqgqtJ)C#&X?V{1bUh#cIWr{11>j2w@EPrwSLJX z3k!>Wa4q7f)O`8U7err#6cqPDTii5q@cwbHUV>8R5O3+_W%J}=SAKg zq4Z&9hVW=ecj8e~%^oTgj_&ABWP2k_d$pd<_WKmLIfS;`ks(1a(J}R| zIF6@&{(MbWEhA}%1wK!FU2J{$c{rFYrk%Ul5=dY5f>D}Co*Ly(u~U0y@F`9XuYN7*mvUp zSZB3%!iZ~qL9R~9m5wVH?QU}=1qI=+u5ettd2@+le7yxXBRd;UmSeDU>it1Kke^JA zzJk@cf}%qZRf`$t(tz4(Kje;VwM3ngLPE^2Y8W0okhs-0;~8-|GKaO^6Y9R<;~rk9 z1`@e#H;cD-Dv560%K3aP^U~!Alfh1z9Q(b0z7nsC2pv`MV7qjc09)BLG?@AJZJk)x z^_#@0Nez0!qRmE5PRbBnO-#)rIvmU^av`qKaXb{Ndsdf`BanF9HlJe178MSF_Dq<{ zrAwFOT-7q+*nIrt$=*RMhiQq<^dF+zx07*FUst>Ho0yo9VE5rDx@?`}m_8<`3<&=m(HE{_KUr|{v=~1(GVcYa=ZW+khv$VAz@Qzx5fg>aX$;ru# z_a3RhGBYttOW1N3X>6dQc8-9Zfg0+`+1XLt-r13Ml7!7-&?Ws^(k!+UrPwx(;#jcH zk%zIBOM8Z#0s=jz3Dm!Sd@bwgwBW}-Jzd;80m={m`ZaAvrI5N*6g);2=jT~hlLe>8 z4rDVGfOg>L8z3j@nz^{R_*k2)oKaTASrw&VNG*1-v)r%cep17*@3#Bsk@G-Vv&O<^ zJUo-K-52n@T6OY&X_vNGl%@moE^-4@!m)c?!ztutCpsHRXFsk=7dE=T5sH8 z67#zlyf#csbaQF@$olG&R5P(jzg9MdczUJRLe+4e+ohf-Cv;3^8-i{0Vu{%OhWwvA z3aahY|wQldG``ImYS`sF678+nc8LITl?9w z#3vIq(q%8^>%Grc93XM4D?;J~G=BJPysp3^eFDu-*85Jffhs1}>lbcX45eg9(($nX zKQ=~d-Zc26{Qi9rAya*Q+U*^(++X${pGNZ`SAFLzgmHQ zmV0nt3PF~kNoH^N}H6OK$xkbzzI>c9@Zmu#UcC?O~&>C>9 z;G<9oOJJ)v0NLXdbdZ;pHlyvSyIiM2l2vOw{B@d{8hI6Mb*lyTcQsIh@tc(sX8H4T zke94T#Z;|+qJpX>Jc4kk+HvA>$(Zxt+19og3|4)@?GH4p8f0GIyJOvIGqz z8DzOD#1C1_OC9&(aR0H9EhOh!QW1TTki!xPY;knNl>V~Zl?j1ejY6uBrSbi{UgMO6O79EB{J?hHaLJw~~D*wugu#KY#O~@Mu5%2uYgI zKR0h2tyaqI?QPm)&T6fzgxJ-+J7Yd-wL~5F6JpXaF2y=tc}GHxvT&Q?etQDDVGeR{ zrDg{rW70e7w(SN-WG*ncb5|CkR9x1knyczPLr%{rGR_GHv0_b`OvT(jAuZ=oH1egK zom~KO-*BQ=P7vFi(4l6bq}_8V;hUO~(eJQ+o-aU`oh}~X&pP(NyqOCZz$`4NOn*F~ zGKTk$-1s#O16$UH4Dl}Yav|5z6$^6@1+XtdfCb3m8T)iu(t1a-eBH&mPELgh(m9O# ztGeDEXG6vuSMz^7$I1O4XYZzXr=(n18LJiw(aTpZG8k);;9+KDA7Lac)je?KaZP!C zHs=|26RnA~bdFy{c6XMc)2i`W7d3+=xsOF`~rWYRioMmhkN1=L{#rz~*-YF%UY#gwxLS5u`;iDkuuhP=cAZJi55eJ84 zO+YWisEdY1k;}477>rVLte2yUxm>-gJ7Z6yP~6-@<*fF0?nwEi zS(CI}_V^)a_&rpwYWS_>HsiIwFTyLmv$I2z3x15n)|)F$)x{$fc3Z!2qS_4}YUPW7 z@eE808g^@o%b*kFFh;jFdbd4(JR>(&ZUVn^tI1Ub6PG#p+~cJO+}y(4+~rMWJL-Xh zy^TtnRT6SqTDj7(Pck58+7DGwm8wBlKK-PB=l7sxHt!A!p1|^0Y)5Zv*5El*N+nY_ z7L1s~6YC!>-}CeHTjxp1+WMdxLq;w3sf9k8%koP;%=qLdB`uV<))g8HAI+h+pOcKr z$Y2N$4NV2~^=NzIkP9`S$jHk(xEuFGO(i8dgB>S_@E?mt-SjlPKIZJt%>S+#LU`kb zO$$zKLsHLORT!BZbZ6L-iE$}!NM6BS#MRN0VQ_6Nte@L*{7i0+d4h$f7B2pBI8}I@ zKzeh+Zksjlb&Js=)O)pRv>U93cDTp>$T+G41 z$jH&Ova$jXGW*xd2@9JLyNse2a-XQ^SuDq?&m;QS*f>lTGad=7?J=+H&IpOgEwoJU zw_#3XpFOJ!jTa3OIGS-MO3?b~Xk{e}13SX08k?G2I~Y|fo&%2Cv|FsC$r}Hupg?YH z6s3KxH6m9%vDy_-$6PJQ6kFTW-rP}A@et2NZv3DM#wQ<5wRA@x_yv8cPEutNH8&45 z0lRZCZd=>xGhROUtFK*MVKCq)%24p3V$dZH^mANV)^fH-j~ zC>jy;u&n2S403C+tt&l0zs}UvB;(}iJgRKdpTG#}JMHh8d_8~$A;n-L>LJ1J6^2!gv0_xuCFl^@gH*;Rs@ z_xvBP-l{t99IHW5e7wc9J-`waN5iG^WqMK1vlAuicyKScy?dd=AmCvar2)+JKYxUp z%F@$c*`v>DA15UnlIBWC1R4Kci5SxP0)HBHUNwG|)q>5c^x10ppuH_7*Ok&q8JMd2 z0+e~AQS8I|t0vSM{Zkmp+4+z};P0E11uz@g7o(b%KtniPj51M>T{H4!<##V~)d8qA zI)+pq5G_~vS01guEjiT)9R--aUW=Tx&&4MnPQAQ>0a!u$j-X9Tu_i&fZv6X#*R%m^ z2~_s>c4;>42a*zPU$@*U1rB~gLD+&R$s{5pOP!ff@$(D%(xTVf{aNB*$1UTuc7R>$ z+)*8kuFlR@*l;R(Q>T+%Y5cxq+#_-oiFr2WIw7QqrQ#Xp{T&q+t7G>$Ok}mAvF(N{ zp9Q&~!`7lj!(&#j`M<&Zz&IXfb--OsyJw?AmV`xvnaNEG?Mxm&nOE!JR$2St)jvm8V@joEbP6e-}XI61z)8qu5|1L9>rXWpYV<56CB7!F2cE>}h=$gEzA%whh@d31- zC3-=G$H>9|I>CK$%zV`(0ZT31R%F~pt~the^vTa}gEaW+yttguQMrT*C3{D7@lx^Z z0Lx2Kyz+<$!puc8Z?Ks*n)*ZS7ZA`Z6wH@HFfozxz=z;mnd(2+?86?MYwXdsZ=Rm! zXTbZaE{W+dNKV#YEE&NJ=*qZt(bCx^L&}{vxQfAMH!oC5h1~y<*sMY7#P>?KUIrZJ zhj*IV1keP4s%Vb8jh)QqF22RBaTyvU2}Y5cR5|d(36K*uJ5a^`T3btY)C{M`I&PjwVhNtmjtYhY9*o`J zX7NnvOQsDl9~!bPHro@=b%s;G&=5V}$s#aGbW8?D6{SBO&z66aiyA-i>BMy9n##N^*`Nre7yH8LX$Lo zgeZcW)6y3uy@z>Jk29d($XPIiFq(#m>QpUh)@ zxERT0|3oA*IndWvUR^yF#zh90>qh3sF@Vl|KJPcc_W)Mop}9B$?WmW@Hltq3IXQiG zY4(twcB6UQJ%IsS!0Y*Qk%%;Wg5b3%b_X>XnbOmu3T-FTvoR1^zp$)iYU*F|f2e!! zs3x~9UKDhzTM^l)s31k9cMH94MZr*|cTkZQdJQeXj#4$!doKwP>Affd(xrq>=p{f1 zJrD@omGj=&$9vCvW8A;qxQ{UyIARFjx4u>8{FOPK{PlqpNfi<&456|!QLKsrL;EI$ z3%;Tz)qR57m4TC*gwZl3rNtVbLJ;)>0Aa`fLQs=Utwe$_HK_8t;{1o3+r~M1wzEqY z=;`xT)4Nl$cq1G-3M@a3I8xVSdPc^atJDc?f#2p?<%K_KW=>CQ6RKFS$>`5w#bQh5 zB!ygQ4|i^e$3kZk5-nA&@l`(G?`l0{5z$ zE#(h)`E9ToJ8#z^=^L$sKYj!_W_r)=+M07zBA-Od;IG>$(uV1EWg|XpmoH~p3l6c& zf>evMaX|~NRIuSU5-biba$8o^);Zarz+|yZ*xDO)>sCNbbD5a9-#c#+&(k#~;^MaR z?({6PWs*+ReNUaI1ay=)2DWrv_oO10*7215RaR@;#l57M$jE$C=enkAz^u_hV3%k? z8&1A>n+#ehl~%frL=O3hcPF7GEP718g8pZ1Ej|X&crddiTfD3mG$ldKgna_*zJ@Wb z(7taKEm_~U2=`GRcJc8UUJ~Gg0Q46`j&jZ#K&J~@-`#5g&N6++d{POt?7dx6i)o8| z5TJ5QEexWM7hMJZICZ82N`L2Qk!g*t*sRoLuEz_s%HF62;Ht2xjQ76vmuO*2r%>Rp zcv0bh=0z*H?@eH~sN$g)e196VvgXf`I4b#jhEzx=Lvw3NN4LM!9jno@Hxq99=#gMl zl=$d3Oj?=&XsjB;#m&WopH`_)TVB2=1LC~yZf{VTO%Px}D}zpA;mp^^Ygj;^2lrv8 zU8G*Xd^?CaPwY<`+fvTwTB3;>_5dAX5J3)w+yEmncQ2-e_*+ z+COrY6QZKXfZoZhXN$ro=A-~=OGqXxP50A}I zx4C`IS69cqSFQp`g=Je7arhOALJtfL<$w-N_Vdf1d${l1F%H}rQXBvWGN7wtJUT>1 zie{Qj%Abb;<^^>B!V5+qbmw!lP*qjhO-f3D-gu(3DFg@=bVGwyisSL$Nb1Ldv%hTp z5FUF^(lP=;F@-wj4}r`?8TJGJoS3Yo|Mf)`&>>nE{ekbr1e${K5iuiNjExWZ{JRxkgaf7VIw_eF%}^uOdi#D8$`DOc-!njI;bcOxSf1+S;YV zLz~T(wTm4BCiSWli*Gz_(E?uX>Xm!Y074PbZg*9z;Xq>2J%{>z2eHG@gDy^2Uz>i0 z)l1UXTzmY)lUfurq2dYFRxm21;qRi2vn_Y@Z3VJ3L4o6czHY-AX&yE{YW<;kEm=*Y zM-Sv8OQ%cP{-jamH2(@T@samff#SIpSP9p z1T^m}1*u{+VYdcEVAf^tq5H8HUVi~mN8ikM>sjwo51Awx#Ol|f^3s9rvqUFc?K=x< z|0t}UAp}V!tN}aP6({R%sloFFIBCGMPn~TJ3Uf{6ij%{2WLumCoCr9|lo$f%?|@ns z9gY$X-_jol8|g{miw+bgvub_mLS3KREU;SJbbsbbl5_Jk@uFQ_S?O=(sLv7|-{A%+ z@Vg)tyXHr196|5R$m?}Z7HTz`Dz*Y0*uK8Z$jHxGn4$c!Tuzk>(4X_wGmG#^Tu-U% z#>LqZv$AEL0+vgEm5)?kmi>0O@!!n-T=y5TKBlc1;>&(KD`}6qdqrQq-V@sV{7!P# zXRCu8AsU}7od2-~{6O~j5r9gNpzCxxXu^V#23j-nQd7lAZT5ej0u4=NIFv3r(c#f2ZQ5~$nkbHM_ojkQZV!(!u0 z3j|&ozWvQqKvqAUO!kloa7{rRf5%{PIB4gVj~q+vjVE5xEGsM99hQeRs^J{H>+7F- z5P%!YelJ6qtmt>}_we{)aX4`ggsKwd^z`)jt-6%Fy`}q@DqTi{S`%*GaQyzH!hC;` zHWC!?*j~NY0P4Tl(+JcAq!1~cK5UGPc}!N(sddQ3Iy71>aF0@=Kx&zHw?9xJF8zA- zv8fi!IS{oa;sQzZpn@2AmAK};G76Xq*1(FMLOyP0CS%vOA=O zsvSSR=U%=2HhF)i2ixE8ktBHXw~-!7;1@>UUbl~3X%v?dr{z}H0;&+eLjbr_&&a4U zu^S;>%~tH?O{QnpI0aI)$dNoGxZ#%f9rfV=ZURAWa9CJ>s>72ydHLmHFZ-YKETq`~ z7v`EURwV?EZt?jA(NA1EfHG4=khOFX^Z*Ent&{>>x9VnYO^(WhcLGpa@XDw{Ak-6B z#~e<0OLDIU${$_TcE>7t=dyA!t>GkRo|^H+i5GYIB@`?++|DlJ3EHM=B_RH>wv-eQ zfM&`jL%?PYNbxmrKJUjX+80L5xEL@4H?;N_~K)lmlac=e!a8^oJ`gN>}}`v z-b)LPe~-=6yJb7NL!VYmZqWSMh>46eHYxS_7#zW707MpC{8D_60l@A_JQ=~qXZPaN z#;6CDJh9bq?nNH>{d-qvK_QZVKFBX&jkYoM@2fOV{mz{|+Z*q7z077p8BjFVpcNzN zUH~lk7+*xibwx$eSTrl3mQO4g1J#f{b zO{`15N5F)0nvbAN!fM;$)bOHlY09}`pul(=dk)VNa|62<{eQkX2Pa4fj zpuDzfa#UgNlF_?&k3bX9JPby~+cYPhrMqo*8>X^6qXLeM!oM-`LeCfRRF|;+>(R^%}rrq8TqNODXtOI3YXm#Lzzpb>c)uuH8FloDW)#Jwh{uY@FKh`w9&_ z0q*qVvuB_0CUg~hm7xm?AaHq*A<^>#b;5|pg5a%Ns;3?~cus9;iOsp6sy0)9H9Twt z2rLK^=-f`2b(M+RI@beIbtl16J}*2x{O_21+)$JN5bJ&7qE9{!JhZ=;&_%_Tx$=rP z#X6*a+qhq@yr!8FoBHat^u!}+)f_jSTUhArA1v{X?7FD%)nhyASd=`%rgD@ml~tVs$_Ba>zrs>D{$YgawBqfx9F9P}UnQbj6E zRtWyCKL8sN(;qZBuRvE5HoiI$GP>qR}1MC{zhR3rVs=&x`o@ z`FpR8RXe(ehOwckYr1v7YCsb{%Iz4@u z!jL-n^KCDXTCX;vyWbUV;-g zTm(5eO_7n&(fn;(_S;)@|2O&QJ-oWg;4tF|n3&_sjE{=V6~qFj^-OYc4>jD7UDX@#+Wxbi`Jc>gu7My>};&bKW(r zRoNALdp=p&Ho2Gv!^Li_-QHap#nY$G2;Sj0=5OO?VP(|=3@Xsufil0X@;rBCOs<4H zLe8;Vdji^haq$B{JkOq)#Z^Y%)U*JH!>JXXoV{aDsHR6|f||=I^Mx)Avmk2(_;}0v zzc2ru{Ww4UgT|HyNEDGTBur13wGEWKf4j85X!(h&Zg&(tT54Z%@si4GU(m_s6~Nci zIF8nXS`I-A;wQ&s%<+QP1#m!%2JUx|TO{k#Qg0Ad$a8I9$Zc9j#=^q54mTbi9+sh~ z%;TfUV@tvqsp<}U4KXhVktT`r>A!Z|qE5b-gtF1HWM8stW={?6JWUO$}RSxbx zPLnDb(Vd)k`@~DI&w!*k8m?|6^8ZNJ`Kk{W=C5WR?JW~q6UQ>e9fllc7YdYr5?+Id z+sS{6N!n2YV^U9Ex)dA|62ryBA)QK^99!@*Gkfs*XvRO#Hq zLk5~zFVrB8N>W1oufBf$#_O2EAn1a7U^UkGQdg9+7Uvehe4sE?Xo{gv2$-~mRVWb~ zwp5a&b*D)`F$!c2Zl3VB4j~b&zlvs*{MH2{`0w6rkDc{qSgD$n%gW}NYy|DYEso^4 zxx?Q2kPh%i6)*6r!j@GAfRd)NOT22~zVFn2--QYzU1SB-W$!G?f=(|-H6s&zYc)g! zC(!Z0#@&Jt>u)%Gx<;yZyqjD7VGj;l0}oZ;2V;}FXOAI$GtD781G>j~wYB38Iv%R+ zLX@t_!vdfa$ET3&IuXuXgVY0W1PsgS9P|eoJUTDJChTNkQ6w{v52Rr@#R@yfX?KghFe(fm=q} zc`eonNOZdmG`cP}SRQR=SWGKIicOSurVQD2_0&86P>J7;QmHTOs@Mxm0lbml(&yGP zzb=h0gMWci?Lq9m<3N-g_BQxU53J-z6etg#!IcL{Hd}#K%WQcdohiq;MbsZx9LKCx zkviHtJL@gDe+z3~UcbynlT$S}H*&7%J*aJwn^D03Yu-#3gulltffTI*i#n4EoL@rb zXKwG~dEnmmU#n69rPLz1KvD`_>`p>v?yR`Ekf`F@9;$^EUX_PE+dEtQ3Z$~kIUd=e5Cf(8Xq zBaYfYTtP+ZEqr$Ett_mK^Zs?VxcK9ie%D+AoZ zV}AY;Zpd|siR?aI?v}oeqs}gk0@tel)Y!6Z3IX2Y%F!s&w4$2 zRCP2Rq!{S{#6X_Aj!{Jc>tLyr*>ph(lYvj$SB^F!j)Rt0u5T|SxGcvs9A+(a#&JU8 zf#hYV_NpbT`F9BkiNQZ67DHLo!2kQBQzpfpSz5VW^DKJ4`}|SSth(5d zdte*9lhWc;Z)_|B6ou9VH9alHfG;m}C;>pcwa(7@ zLqtm-<))@4&e>?52@m2Mq_PYxKoLp5bx~HYLUYLl4`E zjtTRot9?3&>vfIcmfAy}c-awMC}!a=$6j~XR|1u87JG2Cag!HzqUbgFBj%WVf zClsnX_yx~z&$03{h&lMd0rV~;Mv#k3Z(>41KZ&2t6Eb8*JrsStzE!VRV_ZBCX}kU&Lfy;q0RT;MCF!4VNLT*5|QpSFWet4T>H3b;OhnyXC?_g8@DJm@71OOv;{pb`bc+4HsRKAI$zM;!U;`cLz=K+mte0xg6LkOfqd}?**;|%(9>0vd;(fIHqWfV4$H9#`vSg=SVL%H-DQ&Hc4}~ zY{W5nbH$vFr+=xh#GH-bH`}F{JEHX`5tJJTI+-XafD^5W%kiEFtEL}n9IdUqK4GS& z@uJnqri21vWt!Uvbs8;Xd+TYMlErpMi4KCdATMuEtgfzZ))68n`+?rJ-3LrvS+m3B z)Kn_)W=AH;Q8(_wOP%#rMcc!bBqkY3yf&Gav zRs(p;wZ1-ULEvr?Wl>X)plJSfCeWzA1wnP>mzuws<2(RlzP!{c53p(mPe_08h}^|+ z$m8`3Z$N~5(8*TgxY;~ilsDyW?gy*ILmki5Rla=)pG}z51-KL70t$=!xnr2#j{$EC z`G7po-!H5Zp=55Jw7j!b6`B+HbjIOPI6jycm=)j(9^}M~v0LfswY%5>y*9k3fS8z` zfkSRzU!T6AA$k=^Mb9aA99!hkJ;QE5y<{kX6+m1;apur^@nY`n!5N+^Ol3fCQISch z-A69`&$J%#Id}6x0EwIxFfs${227%a76k8qJ@2-k@#w@VI&nF z))q_aj~}@O1(bBBqS^YLCBX2#y~>g|@f1_YTUg z4UV+CC&~G$gJN7P>?J>n6;;C7^?LMy_91!h&^u_tft8(ox+K&I$ecGu-FgE^>t6xV zYp;F(Gnc)lW-!E+v%yt6Q9$Wv(zE|KGc!|~Y4`42w2+~m zUa3&@jrktSOdufud5gZbw~k5#yPlO2{BLNPm(LkF+nj7P@EKn-6}p1q_Hs(9pG@1_ z)ZwIw1?m&PYg)Bo-@hO2ST>T1V-HdS`~fo4xJ0LJ_nk>WaLCqVRPk0i$+vhe79>yE z`GpR`qJi~{d2B4~2G|k68(Mw>D#W*Mxva)VM}-o)yfrYs+@MQC83-sLeH$}M%PR?$ zY7Y1Bf4*|{GBw-p>6_{b+Yt~^$kff^6}x@gwF`Rsx1Cs$=funYhpMWmDl)V@uURvj62vm#jJ!5ugrQbxDaDfG>Ia zA7A5DRJ2S9C{{v(0UB75x%&N?ZeE6!SZs83barOu!<4mmuRxFGtR4l5k*wmuLto#0 z0h4MS>8h<45(!K!EU544Ow=%u?9jmQ7~cJgwoF1&U_T(%d44&e_O&jE(KeQ8eAdjO zdZba^dUkd{vriQ~wrsEfZ#8t)Lkiu$4{R$s;9Tw2i`KFy7|yCO9K|tut^f+8=ZF$$ z+2=-g(HUL5lSh#8qcwo~D6bilA0=XsO_lb_l#mQA7n$!4}y zbI?FvUqILL@93PQ0vPDO1E{jCLXgq+OU# zVXQ){#HOncKpLUGXBgNAimWnd8v(>EE-o%8?#1=k8{{W^oSaI+!Uff{;j)Fk6IL~h z@#;MClx>XX<{V^ad;2jG7qCSi6=P_&CDSsyQK_%3ogEx}_mQ#+`m1YPaIgWNgowgZ zar5=IUDD3a6#1JFRdw}2tI0z;aK`C)IwoEb5fWPf$FiYDnG22UuX$h{Q=RWJoam2kq@z`*jNo!lq1Y^3{o+?W?`c2w*It>ON~1T#o19JKnIB;m>bO0KLHZkPPB~ zLwiWkgQliBXkBdUES1GYAJlJu$o#DNZjypy(DPn?3k*O&ob$vn;5Aht4b(RZ}i1BE@fy5uYk|K{e_?cFh#6_8Rzi(Ld2uG=@``v(WJLAs&{4~GLw{Z0}w zVCWjg=#Kj&X?3Ik28!J))4 zDG9OI)0IFhD_u7NO=DV+->-tkIZAcQ2EcVgO%A>{t8qa9-mUDDUstCOkPuZ34U#`j zH%B!xrlC;^W@c79h%0R)nwcp+QZwWe5;9|tP&uP8=>=(J9d9t@<_*U7GVY0_{I>R| zTAl;HM&)_khKmIH={DY!0mb7j#SWViUndTBc97J_?kol#nPaio16I;tdBt|G3Wu+g zps47ORv=jyc`tNDc=m zmHgX{4!s3*i0g8{M*k;=U()+rojwrA$M){-=q{W7s(26JSmTigHByb^;^F`xWZ>`L z>Xmy@mtTNKxedZkr62%+^F9aPhe|U*+vH?**i_`9XE#$yfU@m>ap(=H{~3;xIu|2^ zH7CjOLHv#?wDRifMH+$l$@!0OH`8eAj(`*C^foyT|B4_&|L<$O9XINC9F~wx7fsVb zpH)x*{1!1o_UNoEePQ94!8W>nt%`|4=Nft7uV|OPow|%FF+|k%=e3-k)QqmQP&cXb ze#4blULFtn8~o=h_6pVea{FvZb3T<=q#7VJ?q2`T|I=&CBcqb74Mz5elKzU#$PvrpAfr{`OnqDg*u{5&7QY9 zv5oNqnUZ9JPav2!4UWZmHEo4o99N}kAP5L+YtgJxx!DV~;^2^ck()RFdT`?*@pj|w z(tXOErMo9jo}fLENm@xv>@4WR?0&?{4SOIL-caLr zvU}pByY(od==2#u51oKUCk^L{b7+V613?;e3wFxSUvt?Xv?WqMr`_xMoDt_O74bvZ zD{iregC8CX(Ec-%pAIn6u%3A!e5Fe@K3}@+OBDO!C(c`DHeVoFUi9t4m|tV9TBw2& zkNldm+eL0TR{3I^EUvtwGJVp~+|@TSYa1&=cJrm7FUOA7NTQ)NFDKqtmFz5yI&jky zWN0De?mC!&T&BzLkBQ#2G0^PV>KEtJ0CMk1($5#0%CpJ1B2x^jj9;%6lI;$;_YLXv zxcAr8C&z~~(Ts%I$9p6#T)~YJW90T0p{8_xz39$bFP4)}%4aT{!uFQ>@YW2x$}23( z|C15B?%br2x{#kFZLZ~v8@8p?M!s-LR8%1qm}L{|$UIT$%5A}&=i$5WS3>6-4k&c) z)h4Z9RcPMNd@dV;PUJHK$8_~+I3>%lrBWsK@u~zGaX7^rI&bT}I(Ss_&T5#GCWD(x z%ynnF*SQ}U!v1;686Rk-q_lMmG4TCUGP)LdP}?v0H@}%A$E7*sXkjydKBjaeCG6}^ z9^Uur61JMa3WkewJ#4$wRo6tR7 zGyWz;=9=LJP`l*ty=+Z&OQj@SzQig*XaZXwt)YQk#`lAZUALBqqu^+tefwrLeEqz> zeul1=)0n-`WR+)H-^_E-{QwtM*);eBG3R^x@-q^{YzX(?;)8-k8vopZnfaeI;U{Y} z=b;B}y70lkNXt~kfc4MG@WW@)-u*YeyUfScWG!MK@eG#zJ+pe`7RLj)z~5!1Wf~v& zUjYRb6XO*D$nvI-9(F0xSV#Fm?OonxbSlckRuDCS-`JLx5V`x{{sdFI$+)w$=|qc! zicjThVVt5x&Dfa!R%b;=;`UAPa7VS`d{3&*U`%?8XulPqU+4Blo;RRy?UXDj%B%us|a zu30|&c11WAnZEw@b`oel3o(bM%X)IK18I$xo|Q0>Lmy`>1<$S^ln)sq3l#9JK!Wx^}f}58ZUkN==r>`7Pi)8c0 zN+swSnP;>s+cv_3w$4`%NQeTGF+Tb)%-)B`BTY`rOUrtX-sooS?4ZuMI{Mgsxb?kO z_th@q%)_9u!<+bk)&`pc+;V#NX*|2UDVNqXzDmVtkjH(%F8cI>v0?W z^z@Oj|C+tNQijNQ*prY)yRHdE1uY|DQ+3EpJG6dCzb#*MmbO3gbjA46cl2qSkbc|c{EvO zxH)`Xe<6*Ktl)&Q>59wS#_Q@^nxgMX+j`DCjy5q3x_u#N_&?a^Z6NgErBVANIoH=K zeUx3!%5MXSD6mBPV~n5Y13418xyC`NUP_e@L(u(r|haF{?dp2jW;BLo9)+q_B+0D`q?b9Ta77B)I;d9 zGeH8`Bb(tunGe<2`}%J!zz*WzuS?GT5$u(%m@aTUkz-=YL+zxNb0Wqu*AfbP$O1XK z4Du8-ZNx^Z@jEpng}&=5C1gj__|MtAk}j)T6ME7~~qTrKQ~NC&m{WQ7!DMOI*q=^{(_y(OKo$jqK`*CdI~q%1ph zSr0I3XUJFCZY$R8lHsBWS33J`2Qh?_1}^xsCK>xC8LO()YLk=$tOw%2tlfX{wHifJ zqymF0hlJ?lfJY{qgo$Bb9fYmb=?;EMZY1EwKc|*YA^vf|& zl()B`p}t_!O4z1^-LyhE;c7R@pU3jo@FcJ{_q@;~W&Blctb<=OGlw~+Wr zwt5+(zxEia4PWD?728aE@g*xmP5`RA{kS z-*+mmiyR{>d2q^wi(h;&jXLKa2y>=T=q1kJ$4KM7IbC@hZseXIg*yUH7qDLUa#qw5 zB>p&m48aAfe$?(gnaug~MW5m%BE%AK4TIf32fFAMcSZuWmoHORd(WJpniFRarTxgd z41988+vyZbX(v>D<;Hu3`(J+EXO%V5WxeCKyAecvW7{*jq2kbOg%!nm$D(?V9yZ!H zaT|a`oTk9+`(M|SS`D9jW*#B>TY*Vu4t_z-dqO}X>9XVxLFQVpr@^-h$H;G=axv@A zi0qMDB}oUhaWTlu9L1f~Y;JXyvib|HPcip+#4VnVTWdl4%PME2VIn1uUzHLx_gmDlF>66x3r>&XLY5K$6E`BCOWR10RyF@XB2DM-1N6W*Uy307~$QT z?hn77zyWEA=y`x&X7#t4uf9ISJl)`AiW?x+AF)w3d3#Xl`494#^T0fA^-qtJsO6bdB4%}Q37F`$@&(mhgytH0*tIp$=iW}p!i6Sif?(8f#BqHBD zZz9J%%$^mtm}r2|kK*E&?@q(^=P)lGZhhl~I=M(jd#H7&>;`aJ%ykj3R->s{Eb zr?+h7VaxAE=!n*>5BjbbBi=f0>W|;3Z4Ix!O+hv-`QA9E4lt2-N9J~dVQq4 zNyErNTDBCciKKt^9r$L;zQ=ZZT1HDfIN>daD>V&5DllcjU4DxX!`;=|%YaYHpr<_& zdollQE}wj@-#g3s=D(d|@982V&2><2(_uu6etErZW zHazKauE^F5?q8<))>!%TPwGa-_%zSXabS?s_}twDuQBAQV0wlafKTQOVS0mn_bHlr z((=!c=THvYgZ>Al?k3q+ac*PWKp}9v$VDr85qj&G@=R?&wjTB_8eC?}^pQH$q89*o6Ju z-lP{6u@ZXR*G0F`&d84Fodwy{#LOi!V(|yRlf0i{P&P#Td>Qp zN%?CUH*;6}elyc3_diZ(Wn7~-4Rqz1940}*+WH2fzB_DouD7G-*chqjll}K% z_vIzi<9#-6Ey&$uCajWj5jTde}!28qHQd#G@9Ki)Xnjl z8~26iIO&#vrAW;^iqGUe9U2pb)#XS=Bz@u%uc!*6aY&zN@SAEm~Gl@>l=Elo2 zNltdR4@OLmu3arBPnr`QAehGKH)z9aOkd5M2;`te3$g3~+!qg%9);acfHnyJlO78f zjKPnTLT6_}H3E^$~7sWbJ*yNt&r--Kx{2WxVAu9}Lzd!TWFf3e#)ISO>hpL5j0)-dL%hr`l9J4~|CbmW(voaiM` zE=G*AU^34+DE-^~ac3nDr_&SK#>*<9j7QO#!a)%Nm~q()4hivI#hH4h7uceN9jDF} z=xgR2&G(qjZTOTD_8{`dl3G8<**w*^nNJ#S4cCm@04dn;o)i&QJg;%=v}M!AI!D17 zPJDe&bK{?*qvh0zm$RMzzy)4x!sJvUAdgD}dm^Qkm)I-ny@oB%|IFYRb|$Y#9(1Zv z2@3ZLD(1qwKKnc>BYU9!h8J?S_cKDbs@`|?t&l=sC~?!r^Tu&vVFI3>l+`LtPMlTU zU7k)>^#pq+PCgFpAMKBRmL>I^EbC}wp)kA^w0=59jhNht1xFw|Rw5|9JkOYMqJLhY z)-UThC+D`acR1tdr%ZBm^w9;$L@CSX0V3;X7vBfHJedZJ%$D}4Y8feL}kfeV21`GP;LGGAGiOd>=pseqz+Ty+Ua8LdMF60em? zkh~1CG_f;ZSHM~K-m??D0lVtF0y}6f^f2gqkbe}69?IXUX{`?aN+Zo7uvJ^&Faps@+`9$qmaooT$3q9 z(7;M5qe$Vdj1ElE69asjfQS@#nU;I^_HAx~({oGFf2J7^;O=HSMPWO7EuhQ+*qG(u zZnJ)rrmpJ)qqxEe>6|lCe$V4CPi&nbj2F9md3rH-I3*>?m>Z<|@mDpG7?G23s-sY3?tEF5Qa!l+VD0gPd2Jh zM#9=>YGQ;3LF9$T&G*&UmiW!?eGJjuUxhjh?T>=!Sn|~SoTg|T-mjilx&8& z9Ax!#a#5C7bLVp$Lp|)Rla`Hc+t#n^ByA4Uy_0 zwQOoqs@U*%$Gv-8zUYez2ntjld`Asn9kiU2EfnLkP;0lJ25$Q4W47Trf5iFWc&X2u z%q*t;woMF5Sr*@?4Rx0M(ZSN7)NdG(`D-p7oSFOWng$@4IF< zmcp!zN8R^gxtOEA7mC$0#V^MnoDPR3oHTq9!uDJ|C-%NN9+qWCSY5g_Xy@#8Agp54 zq+F_Ds8VD3NDKm9*59|w9AiaMv$3s%3%O`Rec2i;3Lvn{d1n;UY6^|-PDzi}$ebBp zbI4_C6_Fsk_%bFxwL2XgvYIEMKiNYplr%NUy+gsw(c`xlYPy}v_CY{{9hBblmqnVK zcC(!IgG+V~)`LE1`(a@ZhaEHNmt}&kp_YkNGLg2wTt{mIvF;O9o}VrEda#3qo9|CE zVFysnId@}5#w(DkPr|nSZEsUo-9gQlT75Rr4=nF&{Zl32X#Au1VT6N+$fMaX*!D9E zM9L08BjN7z;?$f6`Yke&wx<_&r*aX8mDz215Gk*U9GKCack6y#Wm0eRE}UHsRi~gU zsG_W5zI*f^s-aGs*7byx&u${f3?K7{Uo%#EJrBKJa}Ju3R^6MIw}G=)u;nEsv3qL1 z^g`;*Z(~qfEgP3k;u3JrA_e2H7gr^j3b-Eap0g9%)t%^?)pdJ}eDLPYnF*W6Pd-_G zaJcQ{y+gL>tQ+NkB(X;zN)}JnxvzgP=!(s5w$C$(j84y8yYUgkwN^uzK^5C>RA%AP zE!&z(lyc5Y4O*W`Z)nLC1AS0u9@}1_c$F^L)7#5lYb}nJgfIAR>(|uYlAPynb%wbe z3iU!~6=;ZH) z>mTbkjV>(Q3`}t%uu+_^gQcQim@w|_)X~oFdYryI`f?>`^E``YLWPLMR0Y8_a0JD$ zwdpl25=goPgWCIaY`SHcvbL9T`P7DrkD-W!t(j%9Bt7rc#_9YCTLBGg3o21nC|@cQ#~~B*SfhBi6nv)SkRJ<^q%zI$uZf_jQpf zTr@^zW2w?@I6QhK!Q5{!2l~s-73R4lYiiLjHw(x3x`Nx!A<`x!6DP4xWM&!d5y zQ|uOroi1_aT61uzPm`HkoPR7pz!I51o^8i0#qAc6T(U?)xVobl7fsT z;>fgn#Xdoi*S8pHwMy9~zCLY;mI*+m2|r#rX1lFJOe)$mbTHVj(-qOu{0EaX_muGBXQr zPfp=w?*(xzR!oAw-9{g*RDc`swb=9rHk1fX`L?sLfUF@jwcXIUN;}~ykVn5EF%W|2 zdH}7d%jsPg(-GY1Nm+bDT6WYAGtlfamIN>8RvX zAP2N2aW@TXDpavKg_Z?-ACi9syD*`C-bNp}ZSgd09rqO0p`3P4>#)}#qL8fKPCf0t zaqR+8gINAiD7G(DOrxBncTO<>JgX2hs-i@5xtyC$Ok6<|5J`%a$0CF_>4L*{ASd+X z<8LVp-81Uaf*2?{pb=FL#1EzZd79CYP^~p)b4ibQF8le?^YUB6N-}0fnKrP5yFjXV zL)@5}wJ(3RYH3;>K9~a5rx&~aEu4WaJf7x&0(+CA}-Dg-jOj`vC)v+ zm37@s3};GW@CmQoJSRQj{K)&5T@lvgRc+Pw08rCvNP(m}XOHnehB(t!am_*isjpv(>R27fqxA@!K z?&SGWA2@05Cn;-qXL`ED1M)92=Er{H%`v4@i`!GE`4(ved7aWO!mn=(%UyZ$EDhv8 zpXUlR_bMb2oy5I|DX?#~k!=WK-~FGG3C0Nl&u`eKiG zIDXTIoFw4SSGZ6Fs}h%x5TJUbKm1ZkK^Re&M&QCR^D8S;AFZsJmiq?3N!^q$(Kfn0 z)%FXP=uF@SfoJb*nvIRLs)=Pf?TGC3$Y(0oU5!8@I!h)y$qebx*qB$Lcp0z1Y+n#`Q3!mpCyG`(4 zdjfE2@Zbi!lJmSug0AG(CMLsS5rE5Oj_T)8QE}M%zJHRve+i21sUY?#I*#5@d-4h7 zrPLUCQh`cQd5+Zpy~WC+P|Vt!+5nJST!&v^pvRs|LA?Q+81rYEsowN0Kf;n5XKpmh z$~yWr4+NkX$s<)YlOCm|W%#U!3wYh3g1dtnF{dJcOg`y$0dqXYpNjn2_pDIpZ(e?jf$RT~l<`&9PdnMeyOAuDc80Qi^-;;*&n zKnU%;Usff{t2LyVf|8BiGh_v)qTd>Yvh0Ff`of(hqvxZk*54oM<$?Snmg6raUS%3a zlgiDP+aucqh>6lkvA(jdE@hha*8q=enDlVLut__s!{p5jXNRxTb^8%LyE+U+4S{FE z!hb_QYF}?VZ1e0#nU%Bu5koy)4aePY0E&|_tvNn)1`JoP-~|JHAZ&GoqL^A8K-+Z?tI>&?aAH}-z>H*p%`qvfW44!6QJ*)v7(&UO zmqXMWX`Qy~H#Bhjc(eu!8~|f2KrH+z#iGzII#9J7|8miVxZJnzHXXV!)&}B z+oT=}#P+26PCzvP0}lxtI|y8yHr~VEHYYjYh?}zC_-x)#KM#k!3$q z3_~W#K=(lCZtJ%^CQCC74buCBE3V0=66?v?#ldQNLw$Fr>aEi9umz%r3%(R6=>Y0Z zf-k7**u(3N+}9tc;4MV2EmMie@h=HE#{mvCU@vZfJH#gdiufp9H>>_z&r!<#v6AAQ zf(A$I^!Hm)SjpTn_!NooxE98PgxZ$WAI%7&+-1VNsQBvEt0wYDc@lj07%wXuWs374 zj)Cz9c!mW*T-=%Xqye*v)S(QSj!{~a9Q=b2d*m@clHS@&3Z+F2vs^(W^y4?riAOwG zGTKzAf!Qpg+HFlNEHx`kdx)~Bwy-tkUT;i!k>r)&9$%t4n0%@sYCD6`l85CziL>-i zfk{h;_CMmA+1LEiPT!U?xmx0MEsv`wH#HOkprL+!iZxv*pdx7=c3fWG)PxxI{*rp? zx~yt@Ct>ICs)Ca`_rY3TKl#YPWw$2K$1Ycg)w}t}M1L_Jqa?5==-@<^_;+}$qEgD5Z z5yP$mkpZ`|N}F>TKi|*%_-r09s(+l14F@jG%(h-_)$otnF>)vuXKib%jKqxbwJZQV zsTQjUHZx{ifh7pAT-P62s$FvX{4A~gLxf>WYsPC7RGf5aDSm0@7H1^m)tu_+D@^)B zp?3eHy)%!7vj6+|w5r=3b+@Qglu8j2lD(A%QQ5MNNSLujV;hE2a$C!qb&@SJ#>5!Q z*b|DF&{&(Hs4=!ljL8Vkcj``lzw=W->vmi9*1ZSd zb7JNWAtOo2fTtNVnH<0S$b0=JQVTzDBo5VgD;$-$dVxfe!13>i+`Y+U1jXRv^k-ej zH8==mrM7mJz8-5D%C>E4A)yVj1+rW^1$_kk>99r4 zBD|k2IA6RtSW=CB!|a%DMf6R#d&mf2X~9iRt4f4Omfva0N$TD#S{O?{^s2!gq5h>f z5bHm;Z|{mk3ax*+t!D6|Kd2f~LHt@4j-8aWqo~qLefl?quO9)=9vIh(ycn&kif(pz zpq`f5ZI2GtpfTc}_V&nIyEOp20Gn}v@ql*I(j!dZBu03~M>DL0Dv^U@7nY2IRLExi zPukHEiV=#SaRaGUA{Qspeyi1(6LKj-HEq+U5`{-V7Z8+ug*wV{eCGT^U^T+ug={~f z)kmG7E14^mqTVwnhb@p`5Ef)<+*48GQGAwujj{kjGNg*WXcHTU3!@TrEH9-N5(^c) zYAtBKlyPO>fed z0cdBjJA@^PuWyWXw0CBAMcs(FE(4?)x2(Ai0;Vfrfn~A{vzfs9J~pR(>y*x9%%B3& zEc+mnq~UzU5z5@j`JIvB%ZVs3I>W$3QT8Nnt_hrCFmkF@+ET!NPCLMDm_&Xpbf0fj z1e%>a<*2Hvg(RWeII$xqx2()mW?@3Vm-`iAOS|y;csJ&WtEf7|z#`Z=Q36=^KeM}%FRFr!z?0!fMTkX~_j*fH)qOFO{$KGQ;f6-0 zSuFH;Uty1vc5-|^8EY1o5Eq3kS-MD|y6$U7{`}DD(KIf%Yd+qU`@z8W-B#Z51oP=k zsBOE;IlE7RePO)~Ga_YvVEbd+UNk(^R<~~{;=c6p(~rFc6E6ZEuignhRue}Um2muV zh96fk*}giE_n&-kK%4$M$i@oprY??!&U{yEX^ zmQCyovyIR3^;w^TxmQ#)ejSGlG@t0)%lj#?8GP0dFtYp8uNU6C_sU6tJRPu`dI*U` zVl(iU08g1czwXz^YV3Xzjx|O(#7ax)7rws^KpqeLET5$}Ab}f0{s@EwUP%C0Q{(5> z6Y(&0w`-uK?3`J?n}YR6kc`G69f%1{DceNc%wziSFGiA@--}tafCaJdK<}r9uPUZJ z|4N_-{|ym!yRYr}a#%}{F6`DQJ|p4~;V3z>_Q=R|ABVH6xwSKlZ#HlLespz#XpEyF z_hb_2z<(&=RK;OHCpC~&mS5}-&>NJVRVcOa9lRD_PyzQnyy|p#;>TWJHO_*TEiGb8 z*Qd$h8_-;JWrHWgI4T&#KZR@n%!)jXwa4F?NnA{1GXyb!fc!o*7GF0JmBo@*vTFMKI)h! zgE9sX0hUy0nWNoo*#GgX%3)Rc^INW8kFGF)%!LY+%%&1Ehz1ImTKsz>A~x_6phpkE z5eBxL*lgylf~2_EXP=Erz|@9YvRG<9ilV|nUEVp3;rR!@pSH%Upsodx{@4%D5E+af}^@xW4{_3(D%u4jd9 zO4hIkDl@@NE<}kUOw(iVK633dUx$*OZM&UhBRShewllq|;){#XIco(-*J5`wE^GRw z07F{Y#4@9u%vERLu$wcVQ(CvR$pWCH`gP8@T`S#$bOx#tMfQhrr#ap z1#4vY@YZ)2XOxM!w)T8y@*!HKU+z9j6n={fdEor5T=a7`KCt!~EPzYccH^W@G`h+^ z;c#CDlF@!a^Azs&cqga0A~)zhBi#0+)Z-jV9!&T-3)cNyulIQ?p_&J?`OnNP_64G-pWD*0SX%k+QgUmic1w99D0XSCm>iu6%y^@ydh@yLIflkQ37@D9y zBTZ!}=5?`&*?jM3a_s{$+PPKfZ)BW%pTu>XSiNs*InpUzja;K9h)qtKerK*ywCI#x zAl+>vJ24l=CxDnA+Z7rX0usN(#o_aw+NhQJWE3m{hLYQs%-Y#pb-jkJJu(_WscaNn z);H8#JPwBPKz`nG8Kde4s{xj;-OGAM?oib#JR!i32>i!v{cf#jfI~5v`fAS{H^!`Y zLQ%tY{VP!9R{jHL&#^zXC`ufx@zK(@F^sM9r|dZYf(L^kZ? zMrQ(qjtLM^mXNowzOi01R>q~GRtA{VkAR5Y48X-<`zZCz$3w)SKn`i^!1$j2P#HM| zDu24`dr}#t@|ubVIjsU|fSH#ewLBlNmZH4buyY}%V*9Xq+1K4_&wcHx{r6%YyCtVB zybGF-3{rx|u)(F@rVPCnQtPsAq@TBmpT?sm#yCEkg|?)-_Io^-Am4=646*>F$g`HS z0dkdfNo1WkLrho0epqf2BZnMHcy!n;m>bk4}uA(1mUUn_})~oq@X@6I@+NA z4}#V?@x>IZeCSG#GTukKp)E+TO1Jl%*x23q=H=Ql73Jv{3+Ld@ zh>pEFLQO6tC=a3h$xCs!Af~Rh`HU;a*a9#{iz5EPcLcHX9*mU6WLUM z9#EE2{1YfM5C%Y*TGA)4i765Z-5h0AVz%)Loe8Ib{V9_@G)0C|+s0xK(vI6_+tk%< zhZhV3){W^JFxR*W*RjcSY*XW04&_;Ct9iunLx;2b;el12zwy5hoVkT%?B9IkPlj-$ zk{1SD#|WKn{d-USg?k8~4>yH#^y=nb^~Ux3OO#Ny(QZQfd%gx6-_WB5`_La|;WExG zPBx8_onNm8lug1xV727|C}3`S-add0y^?wYxsJU(_599B^1_PSunhyNB6->n!cr&Tcs1Kz7+PB=Xk4`n>y># zlw=M;CFSIbWU582=Zr30;(mr%#ekrQ$e5hz@BMyepC{mff6J=XmXAfB0M8csHF%Bx znm`nY;{bTkL&AK-p!hV=S%u2nN)8PRzih(!n)&P^?V|y7Ebg2ZdpeR9o!J$&F9FdJ zL3XU&18ui#-Z2^%q!s?W$GfeEnzh(lOr&@zcjP=B{CE5c3eb~q?NO8AM+$VfZwYw1 z4E6UiIXDGt6o@@Z2V%!TC`hhRJK#UJ(vcw zo;VY$+$;l;(fn-tD`plcBVnyN(FpZr(4Vtl*SlmUv`7??T(6`hOaDo zUk(V$8ks;;&3sCw0#aQoS{@*bV7>;L*d1J}rPJ7^u8EY6Xb$3S=$r5}>mWd6*oo*`_08?aCp0Z@%WfQF21+thF@CRLu_yoHC{Ct2iyT;@>CqfvmA+mJuGB$h;M)&T#Mq4wMvakyV}Fat%15y9_a7 z#>wdEfl8jHj&bVSpPRjI$8JCJZu`Y(ifnYrM-1T~h(%NaBqiop z_-v0uH&=CpuSY(}*F5LqSRdF?q79@IW1K z9WNptSNV=!GD}Lkxps=XRao{rt;ak zfkKGnvgHkAr|ML_*DB2f)2mM2`bTj2Wpu2|fK>QNh|2Pq) zccvw}Hx2#ZL9j&qb&~=L*>U3}+Bsp`BNeIsA#WJ6UkTQypVB_FHAkA%oRC>sdHJ!sVD^IjxCP zCSC>ilMuc6veB_&=-!p#@hlZ1vzvZau}OLB3|9A3icURHuXJ&)W)$4NH#~DFEc_E9 z=aLaTukM;OHh-6A@`UGNlY4&g$?8uLQ;eBD4VZ%Z^_K_BEpM&SwM{lRcDZMB?(W^& zu)zM1gTI{pr{W8@iD3DPZswnxMT0b-Ke!0lg_@C1g=;tb8N7BKi2f)uQ&;fsp63VI zXh47ub^0aLzZe7uj!d!Qu1Qp`T*E@A&pAQxpe+*Gx0ru`n&#+7EH~a|nAqxlS)nBohF6 zbuPpwWKG__921^%?e`_{u5S}VwJlZD3 zrLSV~%XNMV!f3TR^WJ@&KB|1x+X}>@9=@P;RG}gN&@RV6NY{!KInz(L$IZa<5`T#4 z*x+uF+2T64b(CO$qin0}E7Y5rjfhu}|3+gF-n(a^Grg*(S00sSf_M*?nE#s{%2A6DOo;n#HYV0PR@(;BEIlMV4<-z_DH)Eh)FyeXM zmqJSm*1^Frf(Qlu+2_OJvqqnfVRMaoHkj;RQr$o$5QT)?ss#blm) z&qq2Yc1dn)rO_PFWgKo1LW4m3L9hF;Lp9@+=~e8x`;4M@;;{-q2Js+I1znox1g@s% ze_^}Y3ouoI*#+j4Z$b1i*9j##nu+z7*lz_-Hj2=zK2Be>XD!&^Dn?I51_*CZh+UO+ zL*Tkxt3zSwE*agMAG2hwe26$2Dx<;sy3O?6$GSop<#PKcZC;-*w5z>izC*t6{EoxP z9_K2otrceyjyueDq!p*cU+o=SXKtCE^?g)N;}e_wQI(;j+Mna^n@^veKbdC=A`-vQ zm>fRMWGd+?Q8@uND>)M<#(MW4D5AH!vKT9!zuRk3XtDYPO(Uv8Z7;;w$l0G6NA~Jq zWMc~EPCDn!sc#9CJ`AIO>EU*od|psOPw9YN+vgh!1ZDUke61%DoOC*Orjlc5MEz>l zEKO%=MWLs@f4dF2X2fn!)*2ChKu@Wf2qqy$YUiraaxV5(YL=GN4ywW^YEVe}9RV|s zkQxha`KN2F!N1y3b8Poq|KgLX#qL2iw_N1iJ1z56bRHGnQWn}DFJzV1KjvGt+crZk zQeW>9NM$d^4$@G)(zt%T(2dVDKEW;-4Bd#2u3;v=`yA5cMe79*NlAQZ-Y-3n}f=o}br|hsA-J~Bi9mRf8 zTSuhp;HX&oR)6-p>KV#xK*~PH&d)h%xdvil9gT-`vf+$TK6vvK%B5F9gf2XpblASh;6LIZRALQJAJ*etz<6em74n_9Pa_{&u-sQr>BlKLSRFa8|hEXkZOkU$m zm4$tyJ&ZZ&opD8PYyFp+XENYu{|M2m39?i~4uN+dP&a zM#ZGOe;6Os=;EjI<#leZ@5I1|5s`gq?D~9AJ)e_Q`U_rz)ttU(QA%a5)GgaG%r~2cq7| zV1)as1*^{fVyv$*lG+<5iGX8`=IiQ^?%v+DPpu*Gkr@oF&l--aDhpZl#a4^?mqtHp z{L}!SL`3crcHnF%H7z$c$tN^u2k@sWsav_G4HK{nK9tHU zB`>^w$x+Y0b^kC`em6lzCcUB$m#NnOdd~mr15&OW2qqr24_!(V`*pLBnoG9pPA~nm;UHwm845hT zdgTBFvZ1KLetz$G+R_t+lxi9;FQsNm$^?S*J3(xXLg8vr$gkJhzkYKlr$twZ{(2v> za)4J9|NSCCh+HN?AiEl&=g$}}C5`#-pLXR`{{zovr4UyN@n?s((%b#d^mZ#P>i5kUz+eoKHsj<n-cG=(=m3@qL$f&sJOpRK6PY1Qv}#+|i+Ki>u4H(vxf6o0)|4)981 zrAU6%hn32(QW<_!1m3rm%CJ%yRw~0vGx$*l{x1f|MFb<#QFQGS(LWYe^A$a;TeV;} z5V(5(#U~XNH#BSi@HXABTpn32mEBz%xKvX&FIS~RSBWkiSi4-KTRsIkv-4GKI9eol_o}Q_Og+5_&=JeEwPMyZ-^Z6Re8> literal 0 HcmV?d00001 diff --git a/cypress/support/commands.js b/cypress/support/commands.js new file mode 100644 index 000000000..794c77363 --- /dev/null +++ b/cypress/support/commands.js @@ -0,0 +1,31 @@ +/** + * Internal dependencies + */ +import { hexStringToByte } from '../helpers'; + +// Custom uploadFile command +Cypress.Commands.add('uploadFile', (fileName, fileType, selector) => { + cy.get(selector).then((subject) => { + cy.fixture(fileName, 'hex').then((fileHex) => { + const fileBytes = hexStringToByte(fileHex); + const testFile = new File([fileBytes], fileName, { + type: fileType, + }); + const dataTransfer = new DataTransfer(); + const el = subject[0]; + + dataTransfer.items.add(testFile); + el.files = dataTransfer.files; + }); + }); +}); + +/** + * Starting in Cypress 13.3.0 Unhandled Exceptions now cause tests to fail. + * Sometimes unhandled exceptions occur in Core that do not affect the UX created by publisher-core. + * We discard unhandled exceptions and pass the test as long as assertions continue expectedly. + */ +Cypress.on('uncaught:exception', () => { + // returning false here prevents Cypress from failing the test. + return false; +}); diff --git a/cypress/support/component-index.html b/cypress/support/component-index.html new file mode 100644 index 000000000..256926a92 --- /dev/null +++ b/cypress/support/component-index.html @@ -0,0 +1,14 @@ + + + + + + + Components App + + + + +

+ + \ No newline at end of file diff --git a/cypress/support/component.js b/cypress/support/component.js new file mode 100644 index 000000000..e0fbe7eea --- /dev/null +++ b/cypress/support/component.js @@ -0,0 +1,58 @@ +/** + * External dependencies + */ +import { nanoid } from 'nanoid'; +import { mount } from 'cypress/react'; +import '@cypress/code-coverage/support'; +import { PanelBody, Popover, SlotFillProvider } from '@wordpress/components'; + +/** + * Publisher dependencies + */ +import { ControlContextProvider } from '@publisher/controls'; + +/** + * Internal dependencies + */ +import './commands'; + +/** + * Style dependencies + */ +import '../../packages/controls/src/style.scss'; +import '../../.storybook/styles/style.lazy.scss'; +import '../../packages/components/src/style.scss'; + +Cypress.Commands.add('mount', mount); + +Cypress.Commands.add('withInspector', ({ component, store, value }) => { + mount( + +
+
+
+
+ + + {component} + + +
+
+
+
+ +
+ ); +}); diff --git a/cypress/support/e2e.js b/cypress/support/e2e.js new file mode 100644 index 000000000..9b88d0135 --- /dev/null +++ b/cypress/support/e2e.js @@ -0,0 +1,43 @@ +/** + * Internal dependencies + */ +import './commands'; +import { disableGutenbergFeatures, goTo, loginToSite } from '../helpers'; + +/** + * External dependencies + */ +import '@cypress/code-coverage/support'; + +before(function () { + loginToSite().then(() => { + // FIXME: Decide whether to activate this mod manually or not + // goTo('/wp-admin/plugins.php', true).then(() => { + // // eslint-disable-next-line + // cy.wait(2000); + // + // cy.get('#activate-publisher-core').click(); + // }); + + goTo('/wp-admin/post-new.php?post_type=post').then(() => { + // eslint-disable-next-line + cy.wait(2000); + disableGutenbergFeatures(); + }); + }); +}); + +Cypress.Commands.add('getIframeBody', () => { + // get the iframe > document > body + // and retry until the body element is not empty + return ( + cy + .get('iframe[name="editor-canvas"]') + .its('0.contentDocument.body') + .should('not.be.empty') + // wraps "body" DOM element to allow + // chaining more Cypress commands, like ".find(...)" + // https://on.cypress.io/wrap + .then(cy.wrap) + ); +}); diff --git a/package-lock.json b/package-lock.json index 237fb127e..10aec3126 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,6 +23,10 @@ "@babel/plugin-proposal-export-default-from": "^7.18.10", "@babel/preset-flow": "^7.21.4", "@babel/preset-react": "^7.22.5", + "@cypress/browserify-preprocessor": "^3.0.2", + "@cypress/code-coverage": "^3.12.1", + "@cypress/webpack-dev-server": "^3.6.1", + "@cypress/webpack-preprocessor": "^6.0.0", "@emotion/styled": "^11.11.0", "@fortawesome/fontawesome-svg-core": "^6.4.0", "@fortawesome/free-regular-svg-icons": "^6.4.0", @@ -77,13 +81,14 @@ "autoprefixer": "^10.4.14", "babel-jest": "^29.6.1", "babel-plugin-macros": "^3.1.0", + "babel-preset-es2015": "^6.24.1", "chalk": "^4.1.2", "classnames": "^2.2.5", "commander": "^8.3.0", "concurrently": "^8.2.0", "copy-webpack-plugin": "^10.2.0", "css-minimizer-webpack-plugin": "^5.0.0", - "cypress": "^12.11.0", + "cypress": "^13.3.0", "cypress-log-to-output": "^1.1.2", "eslint-plugin-cypress": "^2.13.3", "eslint-plugin-storybook": "^0.6.12", @@ -101,6 +106,7 @@ "grunt-shell": "^3.0.1", "grunt-text-replace": "^0.4.0", "history": "^5.3.0", + "html-webpack-plugin": "^5.5.3", "husky": "^8.0.0", "inquirer": "^8.2.0", "jest-environment-puppeteer": "^6.0.2", @@ -141,7 +147,7 @@ "ts-jest": "^29.1.0", "use-immer": "^0.9.0", "uuid": "^8.3.2", - "webpack": "^5.78.0" + "webpack": "^5.88.2" }, "engines": { "node": ">=14.0.0", @@ -917,6 +923,26 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-proposal-optional-chaining": { "version": "7.21.0", "dev": true, @@ -2558,10 +2584,174 @@ "postcss-selector-parser": "^6.0.10" } }, + "node_modules/@cypress/browserify-preprocessor": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@cypress/browserify-preprocessor/-/browserify-preprocessor-3.0.2.tgz", + "integrity": "sha512-y6mlFR+IR2cqcm3HabSp7AEcX9QfF1EUL4eOaw/7xexdhmdQU8ez6piyRopZQob4BK8oKTsc9PkupsU2rzjqMA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-object-rest-spread": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.0", + "@babel/preset-env": "^7.16.0", + "@babel/preset-react": "^7.16.0", + "@babel/runtime": "^7.16.0", + "babel-plugin-add-module-exports": "^1.0.4", + "babelify": "^10.0.0", + "bluebird": "^3.7.2", + "browserify": "^16.2.3", + "coffeeify": "^3.0.1", + "coffeescript": "^1.12.7", + "debug": "^4.3.2", + "fs-extra": "^9.0.0", + "lodash.clonedeep": "^4.5.0", + "through2": "^2.0.0", + "watchify": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@cypress/code-coverage": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@cypress/code-coverage/-/code-coverage-3.12.1.tgz", + "integrity": "sha512-4gSVkgcTo8NSWrOwLO0NxyvD2apIZFM/2k9sxdmP3eR3ko8tZVYrWfTdfxSXLDSkNnzVh+oXv7utaOLn+yemUg==", + "dev": true, + "dependencies": { + "@cypress/webpack-preprocessor": "^5.11.0", + "chalk": "4.1.2", + "dayjs": "1.11.9", + "debug": "4.3.4", + "execa": "4.1.0", + "globby": "11.0.4", + "istanbul-lib-coverage": "3.0.0", + "js-yaml": "4.1.0", + "nyc": "15.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.1", + "@babel/preset-env": "^7.0.0", + "babel-loader": "^8.3 || ^9", + "cypress": "*", + "webpack": "^4 || ^5" + } + }, + "node_modules/@cypress/code-coverage/node_modules/@cypress/webpack-preprocessor": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.17.1.tgz", + "integrity": "sha512-FE/e8ikPc8z4EVopJCaior3RGy0jd2q9Xcp5NtiwNG4XnLfEnUFTZlAGwXe75sEh4fNMPrBJW1KIz77PX5vGAw==", + "dev": true, + "dependencies": { + "bluebird": "3.7.1", + "debug": "^4.3.4", + "lodash": "^4.17.20" + }, + "peerDependencies": { + "@babel/core": "^7.0.1", + "@babel/preset-env": "^7.0.0", + "babel-loader": "^8.0.2 || ^9", + "webpack": "^4 || ^5" + } + }, + "node_modules/@cypress/code-coverage/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@cypress/code-coverage/node_modules/bluebird": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", + "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", + "dev": true + }, + "node_modules/@cypress/code-coverage/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@cypress/code-coverage/node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@cypress/code-coverage/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/@cypress/code-coverage/node_modules/istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@cypress/code-coverage/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@cypress/code-coverage/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/@cypress/request": { - "version": "2.88.11", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", - "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", + "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", "dev": true, "dependencies": { "aws-sign2": "~0.7.0", @@ -2577,9 +2767,9 @@ "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", - "qs": "~6.10.3", + "qs": "6.10.4", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", + "tough-cookie": "^4.1.3", "tunnel-agent": "^0.6.0", "uuid": "^8.3.2" }, @@ -2587,6 +2777,162 @@ "node": ">= 6" } }, + "node_modules/@cypress/webpack-dev-server": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@cypress/webpack-dev-server/-/webpack-dev-server-3.6.1.tgz", + "integrity": "sha512-v9tn8SW5ot9jxlei0LqnU1hmR8Cy/A4mOKJOmrcU8KI0qWH6cadwmtiifRMgn8obQCJxiBSAeSWP3l2P4XoSAA==", + "dev": true, + "dependencies": { + "find-up": "6.3.0", + "fs-extra": "9.1.0", + "html-webpack-plugin-4": "npm:html-webpack-plugin@^4", + "html-webpack-plugin-5": "npm:html-webpack-plugin@^5", + "local-pkg": "0.4.1", + "semver": "^7.5.3", + "speed-measure-webpack-plugin": "1.4.2", + "tslib": "^2.3.1", + "webpack-dev-server": "^4.7.4", + "webpack-merge": "^5.4.0" + } + }, + "node_modules/@cypress/webpack-dev-server/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@cypress/webpack-dev-server/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@cypress/webpack-dev-server/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@cypress/webpack-dev-server/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@cypress/webpack-dev-server/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@cypress/webpack-dev-server/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/@cypress/webpack-dev-server/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@cypress/webpack-dev-server/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@cypress/webpack-dev-server/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@cypress/webpack-preprocessor": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-6.0.0.tgz", + "integrity": "sha512-1AS1Et5CNPJii0+DdBZBS8e0hlM2BkBNmYRdZO4/16A3KS3em1sjPZtFw7jJF00m6DYAdB9iy6QW/lLZ2bN0gg==", + "dev": true, + "dependencies": { + "bluebird": "3.7.1", + "debug": "^4.3.4", + "lodash": "^4.17.20" + }, + "peerDependencies": { + "@babel/core": "^7.0.1", + "@babel/preset-env": "^7.0.0", + "babel-loader": "^8.3 || ^9", + "webpack": "^4 || ^5" + } + }, + "node_modules/@cypress/webpack-preprocessor/node_modules/bluebird": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", + "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", + "dev": true + }, "node_modules/@cypress/xvfb": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", @@ -12934,9 +13280,10 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.15.11", - "dev": true, - "license": "MIT" + "version": "18.18.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.4.tgz", + "integrity": "sha512-t3rNFBgJRugIhackit2mVcLfF6IRc0JE4oeizPQL8Zrm8n2WY/0wOdpOPhdtG0V9Q2TlW/axbF1MJ6z+Yj/kKQ==", + "dev": true }, "node_modules/@types/node-fetch": { "version": "2.6.6", @@ -15955,6 +16302,29 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/acorn-walk": { "version": "7.2.0", "dev": true, @@ -16492,6 +16862,25 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array.prototype.tosorted": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", @@ -16505,6 +16894,27 @@ "get-intrinsic": "^1.1.3" } }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/arrify": { "version": "1.0.1", "dev": true, @@ -16522,6 +16932,24 @@ "safer-buffer": "~2.1.0" } }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, "node_modules/assert": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", @@ -16720,6 +17148,87 @@ "dequal": "^2.0.3" } }, + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/babel-code-frame/node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", + "dev": true + }, + "node_modules/babel-code-frame/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/babel-core": { "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", @@ -16729,6 +17238,146 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==", + "dev": true, + "dependencies": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==", + "dev": true, + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-helper-define-map/node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-helper-define-map/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true + }, + "node_modules/babel-helper-define-map/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==", + "dev": true, + "dependencies": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-helper-regex/node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-helper-regex/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true + }, + "node_modules/babel-helper-regex/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==", + "dev": true, + "dependencies": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, "node_modules/babel-jest": { "version": "29.6.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.1.tgz", @@ -17068,12 +17717,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-add-module-exports": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz", + "integrity": "sha512-g+8yxHUZ60RcyaUpfNzy56OtWW+x9cyEe9j+CranqLiqbju2yf/Cy6ZtYK40EZxtrdHllzlVZgLmcOUCTlJ7Jg==", + "dev": true + }, "node_modules/babel-plugin-add-react-displayname": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz", "integrity": "sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw==", "dev": true }, + "node_modules/babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", "dev": true, @@ -17175,6 +17848,350 @@ "react-docgen": "^5.0.0" } }, + "node_modules/babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-plugin-transform-es2015-block-scoping/node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-plugin-transform-es2015-block-scoping/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true + }, + "node_modules/babel-plugin-transform-es2015-block-scoping/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==", + "dev": true, + "dependencies": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==", + "dev": true, + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==", + "dev": true, + "dependencies": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "dependencies": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-commonjs/node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-commonjs/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true + }, + "node_modules/babel-plugin-transform-es2015-modules-commonjs/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==", + "dev": true, + "dependencies": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==", + "dev": true, + "dependencies": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==", + "dev": true, + "dependencies": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==", + "dev": true, + "dependencies": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==", + "dev": true, + "dependencies": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==", + "dev": true, + "dependencies": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==", + "dev": true, + "dependencies": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.10.0" + } + }, + "node_modules/babel-plugin-transform-regenerator/node_modules/regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "node_modules/babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", "dev": true, @@ -17197,6 +18214,39 @@ "@babel/core": "^7.0.0" } }, + "node_modules/babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha512-XfwUqG1Ry6R43m4Wfob+vHbIVBIqTg/TJY4Snku1iIzeH7mUnwHA8Vagmv+ZQbPwhS8HgsdQvy28Py3k5zpoFQ==", + "deprecated": "🙌 Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!", + "dev": true, + "dependencies": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.24.1", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-umd": "^6.24.1", + "babel-plugin-transform-es2015-object-super": "^6.24.1", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", + "babel-plugin-transform-regenerator": "^6.24.1" + } + }, "node_modules/babel-preset-jest": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", @@ -17237,6 +18287,174 @@ "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==", "dev": true }, + "node_modules/babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-template/node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-template/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true + }, + "node_modules/babel-template/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse/node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-traverse/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true + }, + "node_modules/babel-traverse/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/babel-traverse/node_modules/globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-traverse/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/babel-traverse/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babel-types/node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-types/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true + }, + "node_modules/babel-types/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/babel-types/node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babelify": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz", + "integrity": "sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true, + "bin": { + "babylon": "bin/babylon.js" + } + }, "node_modules/bail": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", @@ -17397,6 +18615,12 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, "node_modules/body-parser": { "version": "1.20.1", "dev": true, @@ -17521,17 +18745,175 @@ "node": ">=8" } }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, "node_modules/browser-assert": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", "dev": true }, + "node_modules/browser-pack": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "dev": true, + "dependencies": { + "combine-source-map": "~0.8.0", + "defined": "^1.0.0", + "JSONStream": "^1.0.3", + "safe-buffer": "^5.1.1", + "through2": "^2.0.0", + "umd": "^3.0.0" + }, + "bin": { + "browser-pack": "bin/cmd.js" + } + }, "node_modules/browser-process-hrtime": { "version": "1.0.0", "dev": true, "license": "BSD-2-Clause" }, + "node_modules/browser-resolve": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "dev": true, + "dependencies": { + "resolve": "^1.17.0" + } + }, + "node_modules/browserify": { + "version": "16.5.2", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", + "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", + "dev": true, + "dependencies": { + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^2.0.0", + "browserify-zlib": "~0.2.0", + "buffer": "~5.2.1", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.0", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^2.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.0.0", + "JSONStream": "^1.0.3", + "labeled-stream-splicer": "^2.0.0", + "mkdirp-classic": "^0.5.2", + "module-deps": "^6.2.3", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "~0.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^2.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.1", + "url": "~0.11.0", + "util": "~0.10.1", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" + }, + "bin": { + "browserify": "bin/cmd.js" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, "node_modules/browserify-zlib": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", @@ -17541,6 +18923,98 @@ "pako": "~0.2.0" } }, + "node_modules/browserify/node_modules/assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.4", + "util": "^0.10.4" + } + }, + "node_modules/browserify/node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserify/node_modules/buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "node_modules/browserify/node_modules/events": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/browserify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/browserify/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/browserify/node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/browserify/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/browserify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/browserify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/browserify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/browserslist": { "version": "4.22.1", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", @@ -17629,6 +19103,18 @@ "dev": true, "license": "MIT" }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, "node_modules/builtins": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", @@ -17949,6 +19435,12 @@ "node": ">=8" } }, + "node_modules/cached-path-relative": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", + "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", + "dev": true + }, "node_modules/cachedir": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", @@ -18320,6 +19812,16 @@ "node": ">=8" } }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, "node_modules/cjs-module-lexer": { "version": "1.2.2", "dev": true, @@ -18653,6 +20155,32 @@ "node": ">= 0.12.0" } }, + "node_modules/coffeeify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/coffeeify/-/coffeeify-3.0.1.tgz", + "integrity": "sha512-Qjnr7UX6ldK1PHV7wCnv7AuCd4q19KTUtwJnu/6JRJB4rfm12zvcXtKdacUoePOKr1I4ka/ydKiwWpNAdsQb0g==", + "dev": true, + "dependencies": { + "convert-source-map": "^1.3.0", + "through2": "^2.0.0" + }, + "peerDependencies": { + "coffeescript": ">1.9.2 <3" + } + }, + "node_modules/coffeescript": { + "version": "1.12.7", + "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.12.7.tgz", + "integrity": "sha512-pLXHFxQMPklVoEekowk8b3erNynC+DVJzChxS/LCBBgR6/8AJkHivkm//zbowcfc7BTCAjryuhx6gPqPRfsFoA==", + "dev": true, + "bin": { + "cake": "bin/cake", + "coffee": "bin/coffee" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/collect-v8-coverage": { "version": "1.0.1", "dev": true, @@ -18728,6 +20256,39 @@ "node": ">=8.0.0" } }, + "node_modules/combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", + "dev": true, + "dependencies": { + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" + } + }, + "node_modules/combine-source-map/node_modules/convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", + "dev": true + }, + "node_modules/combine-source-map/node_modules/lodash.memoize": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", + "dev": true + }, + "node_modules/combine-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "dev": true, @@ -19006,6 +20567,12 @@ "node": ">=0.8" } }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -19954,6 +21521,49 @@ "node": ">= 10" } }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, "node_modules/cross-fetch": { "version": "3.1.5", "dev": true, @@ -20012,6 +21622,28 @@ "node": ">= 8" } }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, "node_modules/crypto-random-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", @@ -21122,15 +22754,15 @@ } }, "node_modules/cypress": { - "version": "12.11.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.11.0.tgz", - "integrity": "sha512-TJE+CCWI26Hwr5Msb9GpQhFLubdYooW0fmlPwTsfiyxmngqc7+SZGLPeIkj2dTSSZSEtpQVzOzvcnzH0o8G7Vw==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.3.0.tgz", + "integrity": "sha512-mpI8qcTwLGiA4zEQvTC/U1xGUezVV4V8HQCOYjlEOrVmU1etVvxOjkCXHGwrlYdZU/EPmUiWfsO3yt1o+Q2bgw==", "dev": true, "hasInstallScript": true, "dependencies": { - "@cypress/request": "^2.88.10", + "@cypress/request": "^3.0.0", "@cypress/xvfb": "^1.2.4", - "@types/node": "^14.14.31", + "@types/node": "^18.17.5", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", "arch": "^2.2.0", @@ -21163,9 +22795,10 @@ "minimist": "^1.2.8", "ospath": "^1.2.2", "pretty-bytes": "^5.6.0", + "process": "^0.11.10", "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", - "semver": "^7.3.2", + "semver": "^7.5.3", "supports-color": "^8.1.1", "tmp": "~0.2.1", "untildify": "^4.0.0", @@ -21175,7 +22808,7 @@ "cypress": "bin/cypress" }, "engines": { - "node": "^14.0.0 || ^16.0.0 || >=18.0.0" + "node": "^16.0.0 || ^18.0.0 || >=20.0.0" } }, "node_modules/cypress-log-to-output": { @@ -21259,12 +22892,6 @@ "node": ">=4" } }, - "node_modules/cypress/node_modules/@types/node": { - "version": "14.18.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.45.tgz", - "integrity": "sha512-Nd+FPp60jEaJpm4LAxuLT3wIhB4k0Jdj9DAP4ydqGyMg8DhE+7oM1we+QkwOkpMySTjcqcNfPOWY5kBuAOhkeg==", - "dev": true - }, "node_modules/cypress/node_modules/cli-truncate": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", @@ -21392,9 +23019,9 @@ } }, "node_modules/cypress/node_modules/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -21468,6 +23095,12 @@ "node": ">=8" } }, + "node_modules/dash-ast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", + "dev": true + }, "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -21519,9 +23152,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.7", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", - "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "version": "1.11.9", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", + "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==", "dev": true }, "node_modules/debug": { @@ -21759,6 +23392,20 @@ "node": ">=10" } }, + "node_modules/define-data-property": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz", + "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/define-lazy-prop": { "version": "2.0.0", "dev": true, @@ -21795,6 +23442,15 @@ "node": ">=0.10.0" } }, + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/defu": { "version": "6.1.2", "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.2.tgz", @@ -21911,6 +23567,21 @@ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", "dev": true }, + "node_modules/deps-sort": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", + "dev": true, + "dependencies": { + "JSONStream": "^1.0.3", + "shasum-object": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" + }, + "bin": { + "deps-sort": "bin/cmd.js" + } + }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -21920,6 +23591,16 @@ "node": ">=6" } }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, "node_modules/destroy": { "version": "1.2.0", "dev": true, @@ -21993,6 +23674,23 @@ "detect-port": "bin/detect-port.js" } }, + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "dependencies": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/devtools-protocol": { "version": "0.0.981744", "dev": true, @@ -22025,6 +23723,23 @@ "htmlparser2": "^3.9.2" } }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, "node_modules/dir-glob": { "version": "3.0.1", "dev": true, @@ -22120,6 +23835,16 @@ "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", "dev": true }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, "node_modules/domelementtype": { "version": "2.3.0", "dev": true, @@ -22251,6 +23976,51 @@ "dev": true, "license": "MIT" }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/duplexer2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/duplexer2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexer2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/duplexer2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", @@ -22341,6 +24111,27 @@ "integrity": "sha512-54z7squS1FyFRSUqq/knOFSptjjogLZXbKcYk3B0qkE1KZzvqASwRZnY2KzZQJqIYLVD38XZeoiMRflYSwyO4w==", "dev": true }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, "node_modules/emittery": { "version": "0.8.1", "dev": true, @@ -22487,17 +24278,19 @@ } }, "node_modules/es-abstract": { - "version": "1.21.2", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", + "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", "dev": true, - "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.1", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", @@ -22512,19 +24305,23 @@ "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", "object-inspect": "^1.12.3", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -22533,6 +24330,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, "node_modules/es-get-iterator": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", @@ -23363,6 +25166,16 @@ "node": ">=0.8.x" } }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, "node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", @@ -23911,6 +25724,12 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", @@ -24741,14 +26560,15 @@ "license": "MIT" }, "node_modules/function.prototype.name": { - "version": "1.1.5", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -24782,6 +26602,12 @@ "node": ">=6.9.0" } }, + "node_modules/get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", + "dev": true + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -26269,6 +28095,30 @@ "node": ">=0.10.0" } }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, "node_modules/hasha": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", @@ -26328,6 +28178,17 @@ "@babel/runtime": "^7.7.6" } }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", @@ -26528,6 +28389,284 @@ "webpack": "^5.20.0" } }, + "node_modules/html-webpack-plugin-4": { + "name": "html-webpack-plugin", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz", + "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==", + "dev": true, + "dependencies": { + "@types/html-minifier-terser": "^5.0.0", + "@types/tapable": "^1.0.5", + "@types/webpack": "^4.41.8", + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.20", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", + "util.promisify": "1.0.0" + }, + "engines": { + "node": ">=6.9" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/@types/html-minifier-terser": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", + "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==", + "dev": true + }, + "node_modules/html-webpack-plugin-4/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "dev": true, + "dependencies": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "dev": true, + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/html-webpack-plugin-4/node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/html-webpack-plugin-5": { + "name": "html-webpack-plugin", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "dev": true, + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, "node_modules/htmlparser2": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", @@ -26689,6 +28828,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, "node_modules/https-proxy-agent": { "version": "5.0.1", "dev": true, @@ -26985,6 +29130,24 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/inline-source-map": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", + "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", + "dev": true, + "dependencies": { + "source-map": "~0.5.3" + } + }, + "node_modules/inline-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/inquirer": { "version": "8.2.5", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", @@ -27011,6 +29174,27 @@ "node": ">=12.0.0" } }, + "node_modules/insert-module-globals": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", + "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", + "dev": true, + "dependencies": { + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "JSONStream": "^1.0.3", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" + }, + "bin": { + "insert-module-globals": "bin/cmd.js" + } + }, "node_modules/internal-slot": { "version": "1.0.5", "dev": true, @@ -27657,15 +29841,12 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.10", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, - "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -29543,21 +31724,6 @@ "node": ">=8" } }, - "node_modules/jest-environment-jsdom/node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/jest-environment-jsdom/node_modules/tr46": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", @@ -29570,15 +31736,6 @@ "node": ">=12" } }, - "node_modules/jest-environment-jsdom/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/jest-environment-jsdom/node_modules/w3c-xmlserializer": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", @@ -32295,28 +34452,6 @@ "dev": true, "license": "MIT" }, - "node_modules/jsdom/node_modules/tough-cookie": { - "version": "4.1.2", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsdom/node_modules/universalify": { - "version": "0.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/jsdom/node_modules/ws": { "version": "7.5.9", "dev": true, @@ -32376,6 +34511,15 @@ "dev": true, "license": "MIT" }, + "node_modules/json-stable-stringify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", + "integrity": "sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw==", + "dev": true, + "dependencies": { + "jsonify": "~0.0.0" + } + }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "dev": true, @@ -32422,6 +34566,15 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -32521,6 +34674,16 @@ "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==", "dev": true }, + "node_modules/labeled-stream-splicer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "stream-splicer": "^2.0.0" + } + }, "node_modules/language-subtag-registry": { "version": "0.3.22", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", @@ -33876,6 +36039,18 @@ "node": ">=8.9.0" } }, + "node_modules/local-pkg": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.1.tgz", + "integrity": "sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/locate-path": { "version": "6.0.0", "dev": true, @@ -33895,6 +36070,12 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "dev": true + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -34627,6 +36808,17 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, "node_modules/mdast-util-definitions": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", @@ -35564,6 +37756,25 @@ "node": ">=10" } }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, "node_modules/mime": { "version": "1.6.0", "dev": true, @@ -35702,6 +37913,12 @@ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, "node_modules/minimatch": { "version": "3.1.2", "dev": true, @@ -36044,6 +38261,71 @@ "node": ">=0.10.0" } }, + "node_modules/module-deps": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", + "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", + "dev": true, + "dependencies": { + "browser-resolve": "^2.0.0", + "cached-path-relative": "^1.0.2", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.2.0", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "JSONStream": "^1.0.3", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + }, + "bin": { + "module-deps": "bin/cmd.js" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/module-deps/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/module-deps/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/module-deps/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/module-deps/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/moment": { "version": "2.29.4", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", @@ -37891,6 +40173,25 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "dev": true, + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object.groupby": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", @@ -38087,6 +40388,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, "node_modules/os-homedir": { "version": "1.0.2", "dev": true, @@ -38120,6 +40427,15 @@ "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", "dev": true }, + "node_modules/outpipe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz", + "integrity": "sha512-BnNY/RwnDrkmQdUa9U+OfN/Y7AWmKuUPCCd+hbRclZnnANvYpO72zp/a6Q4n829hPbdqEac31XCcsvlEvb+rtA==", + "dev": true, + "dependencies": { + "shell-quote": "^1.4.2" + } + }, "node_modules/p-cancelable": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", @@ -38630,6 +40946,28 @@ "node": ">=6" } }, + "node_modules/parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", + "dev": true, + "dependencies": { + "path-platform": "~0.11.15" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, "node_modules/parse-filepath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", @@ -38787,6 +41125,15 @@ "dev": true, "license": "MIT" }, + "node_modules/path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/path-root": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", @@ -38852,6 +41199,22 @@ "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", "dev": true }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, "node_modules/peek-stream": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz", @@ -39852,6 +42215,15 @@ "node": ">= 0.8" } }, + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/proc-log": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", @@ -40025,6 +42397,26 @@ "dev": true, "license": "MIT" }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, "node_modules/pump": { "version": "3.0.0", "dev": true, @@ -40317,6 +42709,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, "node_modules/querystringify": { "version": "2.2.0", "dev": true, @@ -40367,6 +42768,16 @@ "safe-buffer": "^5.1.0" } }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, "node_modules/range-parser": { "version": "1.2.1", "dev": true, @@ -40785,6 +43196,51 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/read-only-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/read-only-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/read-only-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/read-only-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/read-package-json": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz", @@ -41281,14 +43737,14 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "set-function-name": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -41313,6 +43769,12 @@ "node": ">=4" } }, + "node_modules/regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==", + "dev": true + }, "node_modules/regjsparser": { "version": "0.9.1", "dev": true, @@ -41735,6 +44197,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, "node_modules/rtlcss": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", @@ -41842,6 +44314,24 @@ "node": ">=6" } }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "dev": true, @@ -42170,6 +44660,20 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -42214,6 +44718,19 @@ "dev": true, "license": "ISC" }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, "node_modules/shallow-clone": { "version": "0.1.2", "dev": true, @@ -42247,6 +44764,25 @@ "node": ">=0.10.0" } }, + "node_modules/shasum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", + "integrity": "sha512-UTzHm/+AzKfO9RgPgRpDIuMSNie1ubXRaljjlhFMNGYoG7z+rm9AHLPMf70R7887xboDH9Q+5YQbWKObFHEAtw==", + "dev": true, + "dependencies": { + "json-stable-stringify": "~0.0.0", + "sha.js": "~2.4.4" + } + }, + "node_modules/shasum-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", + "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", + "dev": true, + "dependencies": { + "fast-safe-stringify": "^2.0.7" + } + }, "node_modules/shebang-command": { "version": "1.2.0", "dev": true, @@ -42529,6 +45065,26 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/simple-git": { "version": "3.18.0", "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.18.0.tgz", @@ -43055,6 +45611,21 @@ "wbuf": "^1.7.3" } }, + "node_modules/speed-measure-webpack-plugin": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.4.2.tgz", + "integrity": "sha512-AtVzD0bnIy2/B0fWqJpJgmhcrfWFhBlduzSo0uwplr/QvB33ZNZj2NEth3NONgdnZJqicK0W0mSxnLSbsVCDbw==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "webpack": "^1 || ^2 || ^3 || ^4 || ^5" + } + }, "node_modules/split": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", @@ -43327,6 +45898,52 @@ } } }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-browserify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-browserify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/stream-browserify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/stream-buffers": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.2.tgz", @@ -43336,12 +45953,116 @@ "node": ">= 0.10.0" } }, + "node_modules/stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", + "dev": true, + "dependencies": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-combiner2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/stream-combiner2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-combiner2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/stream-combiner2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-http": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + } + }, "node_modules/stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, + "node_modules/stream-splicer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-splicer/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/stream-splicer/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-splicer/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/stream-splicer/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "dev": true, @@ -43464,13 +46185,14 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.7", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -43480,26 +46202,28 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.6", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.6", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -43904,6 +46628,15 @@ "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", "dev": true }, + "node_modules/subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", + "dev": true, + "dependencies": { + "minimist": "^1.1.0" + } + }, "node_modules/supports-color": { "version": "7.2.0", "dev": true, @@ -44001,6 +46734,15 @@ "integrity": "sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==", "dev": true }, + "node_modules/syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "dev": true, + "dependencies": { + "acorn-node": "^1.2.0" + } + }, "node_modules/table": { "version": "6.8.1", "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", @@ -44425,6 +47167,18 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, + "node_modules/timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", + "dev": true, + "dependencies": { + "process": "~0.11.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/tiny-emitter": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", @@ -44546,16 +47300,27 @@ } }, "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "engines": { - "node": ">=0.8" + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" } }, "node_modules/tr46": { @@ -44799,6 +47564,12 @@ "dev": true, "license": "0BSD" }, + "node_modules/tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "dev": true + }, "node_modules/tuf-js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz", @@ -44879,6 +47650,57 @@ "node": ">= 0.6" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/typed-array-length": { "version": "1.0.4", "dev": true, @@ -44937,6 +47759,15 @@ "node": ">=0.8.0" } }, + "node_modules/umd": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", + "dev": true, + "bin": { + "umd": "bin/cli.js" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "dev": true, @@ -44969,6 +47800,22 @@ "node": ">=0.10.0" } }, + "node_modules/undeclared-identifiers": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", + "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", + "dev": true, + "dependencies": { + "acorn-node": "^1.3.0", + "dash-ast": "^1.0.0", + "get-assigned-identifiers": "^1.2.0", + "simple-concat": "^1.0.0", + "xtend": "^4.0.1" + }, + "bin": { + "undeclared-identifiers": "bin.js" + } + }, "node_modules/underscore.string": { "version": "3.3.6", "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", @@ -45568,6 +48415,16 @@ "dev": true, "license": "MIT" }, + "node_modules/util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, "node_modules/util/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -45789,6 +48646,12 @@ "node": ">=4" } }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "dev": true, @@ -45928,6 +48791,208 @@ "makeerror": "1.0.12" } }, + "node_modules/watchify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/watchify/-/watchify-4.0.0.tgz", + "integrity": "sha512-2Z04dxwoOeNxa11qzWumBTgSAohTC0+ScuY7XMenPnH+W2lhTcpEOJP4g2EIG/SWeLadPk47x++Yh+8BqPM/lA==", + "dev": true, + "dependencies": { + "anymatch": "^3.1.0", + "browserify": "^17.0.0", + "chokidar": "^3.4.0", + "defined": "^1.0.0", + "outpipe": "^1.1.0", + "through2": "^4.0.2", + "xtend": "^4.0.2" + }, + "bin": { + "watchify": "bin/cmd.js" + }, + "engines": { + "node": ">= 8.10.0" + } + }, + "node_modules/watchify/node_modules/assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.4", + "util": "^0.10.4" + } + }, + "node_modules/watchify/node_modules/browserify": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", + "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==", + "dev": true, + "dependencies": { + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^2.0.0", + "browserify-zlib": "~0.2.0", + "buffer": "~5.2.1", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.1", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^3.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.2.1", + "JSONStream": "^1.0.3", + "labeled-stream-splicer": "^2.0.0", + "mkdirp-classic": "^0.5.2", + "module-deps": "^6.2.3", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "^1.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum-object": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^3.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.1", + "url": "~0.11.0", + "util": "~0.12.0", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" + }, + "bin": { + "browserify": "bin/cmd.js" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/watchify/node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/watchify/node_modules/browserify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/watchify/node_modules/browserify/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/watchify/node_modules/browserify/node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "node_modules/watchify/node_modules/buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "node_modules/watchify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/watchify/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/watchify/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/watchify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/watchify/node_modules/stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "dev": true, + "dependencies": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, + "node_modules/watchify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/watchify/node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "dependencies": { + "readable-stream": "3" + } + }, "node_modules/watchpack": { "version": "2.4.0", "dev": true, @@ -45967,9 +49032,9 @@ } }, "node_modules/webpack": { - "version": "5.88.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.0.tgz", - "integrity": "sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw==", + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -46577,16 +49642,16 @@ "dev": true }, "node_modules/which-typed-array": { - "version": "1.1.9", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", "dev": true, - "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -47514,6 +50579,19 @@ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + } + }, "@babel/plugin-proposal-optional-chaining": { "version": "7.21.0", "dev": true, @@ -48595,10 +51673,136 @@ "dev": true, "requires": {} }, + "@cypress/browserify-preprocessor": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@cypress/browserify-preprocessor/-/browserify-preprocessor-3.0.2.tgz", + "integrity": "sha512-y6mlFR+IR2cqcm3HabSp7AEcX9QfF1EUL4eOaw/7xexdhmdQU8ez6piyRopZQob4BK8oKTsc9PkupsU2rzjqMA==", + "dev": true, + "requires": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-object-rest-spread": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.0", + "@babel/preset-env": "^7.16.0", + "@babel/preset-react": "^7.16.0", + "@babel/runtime": "^7.16.0", + "babel-plugin-add-module-exports": "^1.0.4", + "babelify": "^10.0.0", + "bluebird": "^3.7.2", + "browserify": "^16.2.3", + "coffeeify": "^3.0.1", + "coffeescript": "^1.12.7", + "debug": "^4.3.2", + "fs-extra": "^9.0.0", + "lodash.clonedeep": "^4.5.0", + "through2": "^2.0.0", + "watchify": "^4.0.0" + } + }, + "@cypress/code-coverage": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@cypress/code-coverage/-/code-coverage-3.12.1.tgz", + "integrity": "sha512-4gSVkgcTo8NSWrOwLO0NxyvD2apIZFM/2k9sxdmP3eR3ko8tZVYrWfTdfxSXLDSkNnzVh+oXv7utaOLn+yemUg==", + "dev": true, + "requires": { + "@cypress/webpack-preprocessor": "^5.11.0", + "chalk": "4.1.2", + "dayjs": "1.11.9", + "debug": "4.3.4", + "execa": "4.1.0", + "globby": "11.0.4", + "istanbul-lib-coverage": "3.0.0", + "js-yaml": "4.1.0", + "nyc": "15.1.0" + }, + "dependencies": { + "@cypress/webpack-preprocessor": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.17.1.tgz", + "integrity": "sha512-FE/e8ikPc8z4EVopJCaior3RGy0jd2q9Xcp5NtiwNG4XnLfEnUFTZlAGwXe75sEh4fNMPrBJW1KIz77PX5vGAw==", + "dev": true, + "requires": { + "bluebird": "3.7.1", + "debug": "^4.3.4", + "lodash": "^4.17.20" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "bluebird": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", + "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", + "dev": true + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, "@cypress/request": { - "version": "2.88.11", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", - "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", + "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", "dev": true, "requires": { "aws-sign2": "~0.7.0", @@ -48614,13 +51818,125 @@ "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", - "qs": "~6.10.3", + "qs": "6.10.4", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", + "tough-cookie": "^4.1.3", "tunnel-agent": "^0.6.0", "uuid": "^8.3.2" } }, + "@cypress/webpack-dev-server": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@cypress/webpack-dev-server/-/webpack-dev-server-3.6.1.tgz", + "integrity": "sha512-v9tn8SW5ot9jxlei0LqnU1hmR8Cy/A4mOKJOmrcU8KI0qWH6cadwmtiifRMgn8obQCJxiBSAeSWP3l2P4XoSAA==", + "dev": true, + "requires": { + "find-up": "6.3.0", + "fs-extra": "9.1.0", + "html-webpack-plugin-4": "npm:html-webpack-plugin@^4", + "html-webpack-plugin-5": "npm:html-webpack-plugin@^5", + "local-pkg": "0.4.1", + "semver": "^7.5.3", + "speed-measure-webpack-plugin": "1.4.2", + "tslib": "^2.3.1", + "webpack-dev-server": "^4.7.4", + "webpack-merge": "^5.4.0" + }, + "dependencies": { + "find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "requires": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + } + }, + "locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "requires": { + "p-locate": "^6.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "requires": { + "yocto-queue": "^1.0.0" + } + }, + "p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "requires": { + "p-limit": "^4.0.0" + } + }, + "path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true + } + } + }, + "@cypress/webpack-preprocessor": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-6.0.0.tgz", + "integrity": "sha512-1AS1Et5CNPJii0+DdBZBS8e0hlM2BkBNmYRdZO4/16A3KS3em1sjPZtFw7jJF00m6DYAdB9iy6QW/lLZ2bN0gg==", + "dev": true, + "requires": { + "bluebird": "3.7.1", + "debug": "^4.3.4", + "lodash": "^4.17.20" + }, + "dependencies": { + "bluebird": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", + "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", + "dev": true + } + } + }, "@cypress/xvfb": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", @@ -56034,7 +59350,9 @@ "dev": true }, "@types/node": { - "version": "18.15.11", + "version": "18.18.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.4.tgz", + "integrity": "sha512-t3rNFBgJRugIhackit2mVcLfF6IRc0JE4oeizPQL8Zrm8n2WY/0wOdpOPhdtG0V9Q2TlW/axbF1MJ6z+Yj/kKQ==", "dev": true }, "@types/node-fetch": { @@ -58414,6 +61732,25 @@ "dev": true, "requires": {} }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, "acorn-walk": { "version": "7.2.0", "dev": true @@ -58794,6 +62131,19 @@ "es-shim-unscopables": "^1.0.0" } }, + "array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, "array.prototype.tosorted": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", @@ -58807,6 +62157,21 @@ "get-intrinsic": "^1.1.3" } }, + "arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + } + }, "arrify": { "version": "1.0.1", "dev": true @@ -58820,6 +62185,26 @@ "safer-buffer": "~2.1.0" } }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, "assert": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", @@ -58964,6 +62349,71 @@ "dequal": "^2.0.3" } }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + } + } + }, "babel-core": { "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", @@ -58971,6 +62421,146 @@ "dev": true, "requires": {} }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + }, + "dependencies": { + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + }, + "dependencies": { + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, "babel-jest": { "version": "29.6.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.1.tgz", @@ -59213,12 +62803,36 @@ } } }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-add-module-exports": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz", + "integrity": "sha512-g+8yxHUZ60RcyaUpfNzy56OtWW+x9cyEe9j+CranqLiqbju2yf/Cy6ZtYK40EZxtrdHllzlVZgLmcOUCTlJ7Jg==", + "dev": true + }, "babel-plugin-add-react-displayname": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz", "integrity": "sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw==", "dev": true }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, "babel-plugin-istanbul": { "version": "6.1.1", "dev": true, @@ -59300,6 +62914,348 @@ "react-docgen": "^5.0.0" } }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + }, + "dependencies": { + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==", + "dev": true, + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + }, + "dependencies": { + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==", + "dev": true, + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==", + "dev": true, + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==", + "dev": true, + "requires": { + "regenerator-transform": "^0.10.0" + }, + "dependencies": { + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + } + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, "babel-preset-current-node-syntax": { "version": "1.0.1", "dev": true, @@ -59318,6 +63274,38 @@ "@babel/plugin-syntax-top-level-await": "^7.8.3" } }, + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha512-XfwUqG1Ry6R43m4Wfob+vHbIVBIqTg/TJY4Snku1iIzeH7mUnwHA8Vagmv+ZQbPwhS8HgsdQvy28Py3k5zpoFQ==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.24.1", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-umd": "^6.24.1", + "babel-plugin-transform-es2015-object-super": "^6.24.1", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", + "babel-plugin-transform-regenerator": "^6.24.1" + } + }, "babel-preset-jest": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", @@ -59352,6 +63340,160 @@ } } }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + }, + "dependencies": { + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "dev": true + } + } + }, + "babelify": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz", + "integrity": "sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg==", + "dev": true, + "requires": {} + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, "bail": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", @@ -59471,6 +63613,12 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, "body-parser": { "version": "1.20.1", "dev": true, @@ -59566,16 +63714,256 @@ "fill-range": "^7.0.1" } }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, "browser-assert": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", "dev": true }, + "browser-pack": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "dev": true, + "requires": { + "combine-source-map": "~0.8.0", + "defined": "^1.0.0", + "JSONStream": "^1.0.3", + "safe-buffer": "^5.1.1", + "through2": "^2.0.0", + "umd": "^3.0.0" + } + }, "browser-process-hrtime": { "version": "1.0.0", "dev": true }, + "browser-resolve": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "dev": true, + "requires": { + "resolve": "^1.17.0" + } + }, + "browserify": { + "version": "16.5.2", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", + "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", + "dev": true, + "requires": { + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^2.0.0", + "browserify-zlib": "~0.2.0", + "buffer": "~5.2.1", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.0", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^2.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.0.0", + "JSONStream": "^1.0.3", + "labeled-stream-splicer": "^2.0.0", + "mkdirp-classic": "^0.5.2", + "module-deps": "^6.2.3", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "~0.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^2.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.1", + "url": "~0.11.0", + "util": "~0.10.1", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "dev": true, + "requires": { + "object.assign": "^4.1.4", + "util": "^0.10.4" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "events": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, "browserify-zlib": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", @@ -59629,6 +64017,18 @@ "version": "1.1.2", "dev": true }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, "builtins": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", @@ -59879,6 +64279,12 @@ "responselike": "^2.0.0" } }, + "cached-path-relative": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", + "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", + "dev": true + }, "cachedir": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", @@ -60135,6 +64541,16 @@ "version": "3.8.0", "dev": true }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, "cjs-module-lexer": { "version": "1.2.2", "dev": true @@ -60374,6 +64790,22 @@ "version": "4.6.0", "dev": true }, + "coffeeify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/coffeeify/-/coffeeify-3.0.1.tgz", + "integrity": "sha512-Qjnr7UX6ldK1PHV7wCnv7AuCd4q19KTUtwJnu/6JRJB4rfm12zvcXtKdacUoePOKr1I4ka/ydKiwWpNAdsQb0g==", + "dev": true, + "requires": { + "convert-source-map": "^1.3.0", + "through2": "^2.0.0" + } + }, + "coffeescript": { + "version": "1.12.7", + "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.12.7.tgz", + "integrity": "sha512-pLXHFxQMPklVoEekowk8b3erNynC+DVJzChxS/LCBBgR6/8AJkHivkm//zbowcfc7BTCAjryuhx6gPqPRfsFoA==", + "dev": true + }, "collect-v8-coverage": { "version": "1.0.1", "dev": true @@ -60429,6 +64861,38 @@ "wcwidth": "^1.0.0" } }, + "combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", + "dev": true, + "requires": { + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" + }, + "dependencies": { + "convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", + "dev": true + }, + "lodash.memoize": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, "combined-stream": { "version": "1.0.8", "dev": true, @@ -60656,6 +65120,12 @@ "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", "dev": true }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -61340,6 +65810,51 @@ "readable-stream": "^3.4.0" } }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, "cross-fetch": { "version": "3.1.5", "dev": true, @@ -61384,6 +65899,25 @@ } } }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, "crypto-random-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", @@ -62124,14 +66658,14 @@ } }, "cypress": { - "version": "12.11.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.11.0.tgz", - "integrity": "sha512-TJE+CCWI26Hwr5Msb9GpQhFLubdYooW0fmlPwTsfiyxmngqc7+SZGLPeIkj2dTSSZSEtpQVzOzvcnzH0o8G7Vw==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.3.0.tgz", + "integrity": "sha512-mpI8qcTwLGiA4zEQvTC/U1xGUezVV4V8HQCOYjlEOrVmU1etVvxOjkCXHGwrlYdZU/EPmUiWfsO3yt1o+Q2bgw==", "dev": true, "requires": { - "@cypress/request": "^2.88.10", + "@cypress/request": "^3.0.0", "@cypress/xvfb": "^1.2.4", - "@types/node": "^14.14.31", + "@types/node": "^18.17.5", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", "arch": "^2.2.0", @@ -62164,21 +66698,16 @@ "minimist": "^1.2.8", "ospath": "^1.2.2", "pretty-bytes": "^5.6.0", + "process": "^0.11.10", "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", - "semver": "^7.3.2", + "semver": "^7.5.3", "supports-color": "^8.1.1", "tmp": "~0.2.1", "untildify": "^4.0.0", "yauzl": "^2.10.0" }, "dependencies": { - "@types/node": { - "version": "14.18.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.45.tgz", - "integrity": "sha512-Nd+FPp60jEaJpm4LAxuLT3wIhB4k0Jdj9DAP4ydqGyMg8DhE+7oM1we+QkwOkpMySTjcqcNfPOWY5kBuAOhkeg==", - "dev": true - }, "cli-truncate": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", @@ -62265,9 +66794,9 @@ } }, "semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -62390,6 +66919,12 @@ "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", "dev": true }, + "dash-ast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", + "dev": true + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -62424,9 +66959,9 @@ "dev": true }, "dayjs": { - "version": "1.11.7", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", - "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "version": "1.11.9", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", + "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==", "dev": true }, "debug": { @@ -62588,6 +67123,17 @@ "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", "dev": true }, + "define-data-property": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz", + "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, "define-lazy-prop": { "version": "2.0.0", "dev": true @@ -62610,6 +67156,12 @@ "isobject": "^3.0.1" } }, + "defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true + }, "defu": { "version": "6.1.2", "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.2.tgz", @@ -62704,12 +67256,34 @@ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", "dev": true }, + "deps-sort": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", + "dev": true, + "requires": { + "JSONStream": "^1.0.3", + "shasum-object": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" + } + }, "dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "dev": true }, + "des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, "destroy": { "version": "1.2.0", "dev": true @@ -62761,6 +67335,17 @@ "debug": "4" } }, + "detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "requires": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + } + }, "devtools-protocol": { "version": "0.0.981744", "dev": true @@ -62786,6 +67371,25 @@ "htmlparser2": "^3.9.2" } }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, "dir-glob": { "version": "3.0.1", "dev": true, @@ -62866,6 +67470,12 @@ "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", "dev": true }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, "domelementtype": { "version": "2.3.0", "dev": true @@ -62972,6 +67582,53 @@ "version": "0.1.2", "dev": true }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", @@ -63057,6 +67714,29 @@ "integrity": "sha512-54z7squS1FyFRSUqq/knOFSptjjogLZXbKcYk3B0qkE1KZzvqASwRZnY2KzZQJqIYLVD38XZeoiMRflYSwyO4w==", "dev": true }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, "emittery": { "version": "0.8.1", "dev": true @@ -63162,16 +67842,19 @@ } }, "es-abstract": { - "version": "1.21.2", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", + "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", "dev": true, "requires": { "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.1", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", @@ -63186,21 +67869,31 @@ "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", "object-inspect": "^1.12.3", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "which-typed-array": "^1.1.11" } }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, "es-get-iterator": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", @@ -63790,6 +68483,16 @@ "version": "3.3.0", "dev": true }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, "execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", @@ -64223,6 +68926,12 @@ "version": "2.0.6", "dev": true }, + "fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, "fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", @@ -64823,13 +69532,15 @@ "dev": true }, "function.prototype.name": { - "version": "1.1.5", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" } }, "functions-have-names": { @@ -64846,6 +69557,12 @@ "version": "1.0.0-beta.2", "dev": true }, + "get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", + "dev": true + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -65951,6 +70668,27 @@ } } }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, "hasha": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", @@ -66000,6 +70738,17 @@ "@babel/runtime": "^7.7.6" } }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, "hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", @@ -66153,6 +70902,212 @@ "tapable": "^2.0.0" } }, + "html-webpack-plugin-4": { + "version": "npm:html-webpack-plugin@4.5.2", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz", + "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==", + "dev": true, + "requires": { + "@types/html-minifier-terser": "^5.0.0", + "@types/tapable": "^1.0.5", + "@types/webpack": "^4.41.8", + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.20", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", + "util.promisify": "1.0.0" + }, + "dependencies": { + "@types/html-minifier-terser": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", + "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "dev": true, + "requires": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "dev": true, + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + } + } + }, + "html-webpack-plugin-5": { + "version": "npm:html-webpack-plugin@5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "dev": true, + "requires": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + } + }, + "htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", + "dev": true + }, "htmlparser2": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", @@ -66280,6 +71235,12 @@ } } }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, "https-proxy-agent": { "version": "5.0.1", "dev": true, @@ -66475,6 +71436,23 @@ } } }, + "inline-source-map": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", + "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", + "dev": true, + "requires": { + "source-map": "~0.5.3" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, "inquirer": { "version": "8.2.5", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", @@ -66498,6 +71476,24 @@ "wrap-ansi": "^7.0.0" } }, + "insert-module-globals": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", + "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", + "dev": true, + "requires": { + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "JSONStream": "^1.0.3", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" + } + }, "internal-slot": { "version": "1.0.5", "dev": true, @@ -66921,14 +71917,12 @@ } }, "is-typed-array": { - "version": "1.1.10", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "which-typed-array": "^1.1.11" } }, "is-typedarray": { @@ -68999,18 +73993,6 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, - "tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - } - }, "tr46": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", @@ -69020,12 +74002,6 @@ "punycode": "^2.1.1" } }, - "universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true - }, "w3c-xmlserializer": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", @@ -70527,20 +75503,6 @@ "version": "6.0.1", "dev": true }, - "tough-cookie": { - "version": "4.1.2", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - } - }, - "universalify": { - "version": "0.2.0", - "dev": true - }, "ws": { "version": "7.5.9", "dev": true, @@ -70578,6 +75540,15 @@ "version": "0.4.1", "dev": true }, + "json-stable-stringify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", + "integrity": "sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw==", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", "dev": true @@ -70614,6 +75585,12 @@ "universalify": "^2.0.0" } }, + "jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true + }, "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -70688,6 +75665,16 @@ "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==", "dev": true }, + "labeled-stream-splicer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "stream-splicer": "^2.0.0" + } + }, "language-subtag-registry": { "version": "0.3.22", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", @@ -71732,6 +76719,12 @@ "json5": "^2.1.2" } }, + "local-pkg": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.1.tgz", + "integrity": "sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==", + "dev": true + }, "locate-path": { "version": "6.0.0", "dev": true, @@ -71743,6 +76736,12 @@ "version": "4.17.21", "dev": true }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "dev": true + }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -72327,6 +77326,17 @@ "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", "dev": true }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, "mdast-util-definitions": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", @@ -72931,6 +77941,24 @@ "integrity": "sha512-BUrEnzMPFBwK8nOE4xUDYHLrlGlLULQVjpja99tpJQPSUEWgw3kTLp1n1qv0HmKU29AiHE7Y7sMLiRziDK4ghQ==", "dev": true }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, "mime": { "version": "1.6.0", "dev": true @@ -73017,6 +78045,12 @@ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, "minimatch": { "version": "3.1.2", "dev": true, @@ -73289,6 +78323,67 @@ "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", "dev": true }, + "module-deps": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", + "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", + "dev": true, + "requires": { + "browser-resolve": "^2.0.0", + "cached-path-relative": "^1.0.2", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.2.0", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "JSONStream": "^1.0.3", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "moment": { "version": "2.29.4", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", @@ -74699,6 +79794,19 @@ "es-abstract": "^1.20.4" } }, + "object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "dev": true, + "requires": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + } + }, "object.groupby": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", @@ -74843,6 +79951,12 @@ "wcwidth": "^1.0.1" } }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, "os-homedir": { "version": "1.0.2", "dev": true @@ -74869,6 +79983,15 @@ "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", "dev": true }, + "outpipe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz", + "integrity": "sha512-BnNY/RwnDrkmQdUa9U+OfN/Y7AWmKuUPCCd+hbRclZnnANvYpO72zp/a6Q4n829hPbdqEac31XCcsvlEvb+rtA==", + "dev": true, + "requires": { + "shell-quote": "^1.4.2" + } + }, "p-cancelable": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", @@ -75238,6 +80361,28 @@ "callsites": "^3.0.0" } }, + "parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", + "dev": true, + "requires": { + "path-platform": "~0.11.15" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, "parse-filepath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", @@ -75358,6 +80503,12 @@ "version": "1.0.7", "dev": true }, + "path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", + "dev": true + }, "path-root": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", @@ -75405,6 +80556,19 @@ "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", "dev": true }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, "peek-stream": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz", @@ -76019,6 +81183,12 @@ "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", "dev": true }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, "proc-log": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", @@ -76158,6 +81328,28 @@ "version": "1.9.0", "dev": true }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, "pump": { "version": "3.0.0", "dev": true, @@ -76378,6 +81570,12 @@ "side-channel": "^1.0.4" } }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true + }, "querystringify": { "version": "2.2.0", "dev": true @@ -76403,6 +81601,16 @@ "safe-buffer": "^5.1.0" } }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, "range-parser": { "version": "1.2.1", "dev": true @@ -76697,6 +81905,53 @@ "integrity": "sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==", "dev": true }, + "read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "read-package-json": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz", @@ -77059,14 +82314,14 @@ } }, "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "set-function-name": "^2.0.0" } }, "regexpu-core": { @@ -77081,6 +82336,12 @@ "unicode-match-property-value-ecmascript": "^2.1.0" } }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==", + "dev": true + }, "regjsparser": { "version": "0.9.1", "dev": true, @@ -77390,6 +82651,16 @@ "glob": "^7.1.3" } }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, "rtlcss": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", @@ -77469,6 +82740,18 @@ "mri": "^1.1.0" } }, + "safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + } + }, "safe-buffer": { "version": "5.2.1", "dev": true @@ -77707,6 +82990,17 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, + "set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } + }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -77743,6 +83037,16 @@ "version": "1.2.0", "dev": true }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, "shallow-clone": { "version": "0.1.2", "dev": true, @@ -77766,6 +83070,25 @@ } } }, + "shasum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", + "integrity": "sha512-UTzHm/+AzKfO9RgPgRpDIuMSNie1ubXRaljjlhFMNGYoG7z+rm9AHLPMf70R7887xboDH9Q+5YQbWKObFHEAtw==", + "dev": true, + "requires": { + "json-stable-stringify": "~0.0.0", + "sha.js": "~2.4.4" + } + }, + "shasum-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", + "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", + "dev": true, + "requires": { + "fast-safe-stringify": "^2.0.7" + } + }, "shebang-command": { "version": "1.2.0", "dev": true, @@ -77985,6 +83308,12 @@ "make-fetch-happen": "^11.0.1" } }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true + }, "simple-git": { "version": "3.18.0", "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.18.0.tgz", @@ -78395,6 +83724,15 @@ "wbuf": "^1.7.3" } }, + "speed-measure-webpack-plugin": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.4.2.tgz", + "integrity": "sha512-AtVzD0bnIy2/B0fWqJpJgmhcrfWFhBlduzSo0uwplr/QvB33ZNZj2NEth3NONgdnZJqicK0W0mSxnLSbsVCDbw==", + "dev": true, + "requires": { + "chalk": "^4.1.0" + } + }, "split": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", @@ -78593,18 +83931,174 @@ "dev": true, "requires": {} }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "stream-buffers": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.2.tgz", "integrity": "sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==", "dev": true }, + "stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", + "dev": true, + "requires": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-http": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + } + }, "stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, + "stream-splicer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "string_decoder": { "version": "1.3.0", "dev": true, @@ -78698,30 +84192,36 @@ } }, "string.prototype.trim": { - "version": "1.2.7", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "string.prototype.trimend": { - "version": "1.0.6", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "string.prototype.trimstart": { - "version": "1.0.6", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "strip-ansi": { @@ -79013,6 +84513,15 @@ "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", "dev": true }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", + "dev": true, + "requires": { + "minimist": "^1.1.0" + } + }, "supports-color": { "version": "7.2.0", "dev": true, @@ -79084,6 +84593,15 @@ "integrity": "sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==", "dev": true }, + "syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "dev": true, + "requires": { + "acorn-node": "^1.2.0" + } + }, "table": { "version": "6.8.1", "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", @@ -79407,6 +84925,15 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, + "timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", + "dev": true, + "requires": { + "process": "~0.11.0" + } + }, "tiny-emitter": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", @@ -79498,13 +85025,23 @@ "dev": true }, "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true + } } }, "tr46": { @@ -79671,6 +85208,12 @@ } } }, + "tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "dev": true + }, "tuf-js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz", @@ -79726,6 +85269,42 @@ "mime-types": "~2.1.24" } }, + "typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, "typed-array-length": { "version": "1.0.4", "dev": true, @@ -79765,6 +85344,12 @@ "dev": true, "optional": true }, + "umd": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", + "dev": true + }, "unbox-primitive": { "version": "1.0.2", "dev": true, @@ -79789,6 +85374,19 @@ "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", "dev": true }, + "undeclared-identifiers": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", + "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", + "dev": true, + "requires": { + "acorn-node": "^1.3.0", + "dash-ast": "^1.0.0", + "get-assigned-identifiers": "^1.2.0", + "simple-concat": "^1.0.0", + "xtend": "^4.0.1" + } + }, "underscore.string": { "version": "3.3.6", "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", @@ -80211,6 +85809,16 @@ "version": "1.0.2", "dev": true }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, "utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", @@ -80337,6 +85945,12 @@ "unist-util-stringify-position": "^3.0.0" } }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, "w3c-hr-time": { "version": "1.0.2", "dev": true, @@ -80444,6 +86058,200 @@ "makeerror": "1.0.12" } }, + "watchify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/watchify/-/watchify-4.0.0.tgz", + "integrity": "sha512-2Z04dxwoOeNxa11qzWumBTgSAohTC0+ScuY7XMenPnH+W2lhTcpEOJP4g2EIG/SWeLadPk47x++Yh+8BqPM/lA==", + "dev": true, + "requires": { + "anymatch": "^3.1.0", + "browserify": "^17.0.0", + "chokidar": "^3.4.0", + "defined": "^1.0.0", + "outpipe": "^1.1.0", + "through2": "^4.0.2", + "xtend": "^4.0.2" + }, + "dependencies": { + "assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "dev": true, + "requires": { + "object.assign": "^4.1.4", + "util": "^0.10.4" + } + }, + "browserify": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", + "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==", + "dev": true, + "requires": { + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^2.0.0", + "browserify-zlib": "~0.2.0", + "buffer": "~5.2.1", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.1", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^3.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.2.1", + "JSONStream": "^1.0.3", + "labeled-stream-splicer": "^2.0.0", + "mkdirp-classic": "^0.5.2", + "module-deps": "^6.2.3", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "^1.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum-object": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^3.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.1", + "url": "~0.11.0", + "util": "~0.12.0", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "dev": true, + "requires": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } + } + } + }, "watchpack": { "version": "2.4.0", "dev": true, @@ -80475,9 +86283,9 @@ "dev": true }, "webpack": { - "version": "5.88.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.0.tgz", - "integrity": "sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw==", + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", @@ -80891,15 +86699,16 @@ "dev": true }, "which-typed-array": { - "version": "1.1.9", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "has-tostringtag": "^1.0.0" } }, "wide-align": { diff --git a/package.json b/package.json index 34edde5f4..8cf903c19 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,10 @@ "@babel/plugin-proposal-export-default-from": "^7.18.10", "@babel/preset-flow": "^7.21.4", "@babel/preset-react": "^7.22.5", + "@cypress/browserify-preprocessor": "^3.0.2", + "@cypress/code-coverage": "^3.12.1", + "@cypress/webpack-dev-server": "^3.6.1", + "@cypress/webpack-preprocessor": "^6.0.0", "@emotion/styled": "^11.11.0", "@fortawesome/fontawesome-svg-core": "^6.4.0", "@fortawesome/free-regular-svg-icons": "^6.4.0", @@ -94,13 +98,14 @@ "autoprefixer": "^10.4.14", "babel-jest": "^29.6.1", "babel-plugin-macros": "^3.1.0", + "babel-preset-es2015": "^6.24.1", "chalk": "^4.1.2", "classnames": "^2.2.5", "commander": "^8.3.0", "concurrently": "^8.2.0", "copy-webpack-plugin": "^10.2.0", "css-minimizer-webpack-plugin": "^5.0.0", - "cypress": "^12.11.0", + "cypress": "^13.3.0", "cypress-log-to-output": "^1.1.2", "eslint-plugin-cypress": "^2.13.3", "eslint-plugin-storybook": "^0.6.12", @@ -118,6 +123,7 @@ "grunt-shell": "^3.0.1", "grunt-text-replace": "^0.4.0", "history": "^5.3.0", + "html-webpack-plugin": "^5.5.3", "husky": "^8.0.0", "inquirer": "^8.2.0", "jest-environment-puppeteer": "^6.0.2", @@ -158,7 +164,7 @@ "ts-jest": "^29.1.0", "use-immer": "^0.9.0", "uuid": "^8.3.2", - "webpack": "^5.78.0" + "webpack": "^5.88.2" }, "peerDependencies": { "@babel/core": "^7.0 || ^7.21.4 || ^7.22.9", @@ -167,6 +173,8 @@ "react-dom": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^16.8.0 || ^17.0.0 || ^18.2.0" }, "scripts": { + "build:wp-env-app": "wp-scripts build --progress --mode none", + "start:wp-env-app": "wp-scripts start --progress --mode none", "build": "wp-scripts build --progress --mode production", "format": "wp-scripts format", "lint:js": "wp-scripts lint-js", @@ -180,7 +188,9 @@ "flow": "flow ./packages", "setup": "yarn install && yarn run build", "test:e2e": "cypress run --config video=false --browser chrome", - "test:e2e:debug": "npx cypress open", + "test:ct": "npx cypress run-ct", + "test:ct:debug": "npx cypress open-ct", + "test:e2e:debug": "npx cypress open --e2e", "test:e2e:headed": "yarn test:e2e --headed", "test:e2e:record": "cypress run --browser chrome", "test:js": "wp-scripts test-unit-js --config .dev/tests/jest/jest.config.js", diff --git a/tools/cypress/webpack.config.js b/tools/cypress/webpack.config.js new file mode 100644 index 000000000..88c65f394 --- /dev/null +++ b/tools/cypress/webpack.config.js @@ -0,0 +1,52 @@ +const path = require('path'); +const webpack = require('webpack'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); + +module.exports = { + mode: 'development', + entry: [path.join(__dirname, 'packages', 'index.js')], + output: { + path: path.resolve(__dirname, 'tools/cypress/dist'), + }, + devtool: false, + module: { + rules: [ + { + test: /\.(css|scss)$/i, + use: [ + 'style-loader', + 'css-loader', + 'postcss-loader', + { + loader: 'sass-loader', + options: { + // Prefer `dart-sass` + implementation: require('sass'), + }, + }, + ], + }, + { + test: /\.(js|jsx)$/, + exclude: /node_modules/, + resolve: { + extensions: ['.js', '.jsx'], + }, + use: { + loader: 'babel-loader', + options: { + presets: ['@babel/preset-env', '@babel/preset-react'], + }, + }, + }, + ], + }, + plugins: [ + new HtmlWebpackPlugin({ + template: path.join(__dirname, 'public', 'index.html'), + }), + new webpack.ProvidePlugin({ + React: 'react', + }), + ], +}; diff --git a/webpack.config.js b/webpack.config.js index 3d38f25c7..72d7bed80 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,6 +1,27 @@ +/** + * External dependencies + */ +const path = require('path'); + /** * Internal dependencies */ const packagesConfig = require('./tools/webpack/packages'); -module.exports = [packagesConfig]; +module.exports = (on, config) => { + if (!config) { + return require(path.resolve( + process.cwd(), + 'tools/cypress/webpack.config.js' + )); + } + + if ('none' === config?.mode) { + return require(path.resolve( + process.cwd(), + 'tools/wp-env-app/webpack.config.js' + ))(on, config); + } + + return packagesConfig({}, { mode: config?.mode || 'production' }); +}; From e500017466f1ac340a9961dab9a59bf5678f1943 Mon Sep 17 00:00:00 2001 From: rezaelahidev Date: Sun, 8 Oct 2023 12:53:20 +0330 Subject: [PATCH 02/22] feat: loading assets in wp-env improve publisher-core plugin script and providing assets to load in wp-env --- app/Providers/AssetsProvider.php | 8 +++++- app/Services/PublisherAssets.php | 49 ++++++++++++++++++++++++++++++++ publisher-core.php | 36 +++++++++++++++++++++++ 3 files changed, 92 insertions(+), 1 deletion(-) diff --git a/app/Providers/AssetsProvider.php b/app/Providers/AssetsProvider.php index 742b16455..ccb2f2e3a 100644 --- a/app/Providers/AssetsProvider.php +++ b/app/Providers/AssetsProvider.php @@ -53,7 +53,13 @@ public function register(): void { */ public function boot(): void { - $this->app->make( PublisherAssets::class ); + $assets = $this->app->make( PublisherAssets::class ); + + //handle loading assets in wp-env to use in CI + if ( defined( 'PB_ENV' ) && 'wp-env' === PB_ENV ) { + + $assets->enqueue(); + } } } diff --git a/app/Services/PublisherAssets.php b/app/Services/PublisherAssets.php index ce1c82be3..80ce0fb14 100644 --- a/app/Services/PublisherAssets.php +++ b/app/Services/PublisherAssets.php @@ -49,6 +49,55 @@ public function __construct( Application $app ) { add_action( 'enqueue_block_editor_assets', array( $this, 'register_assets' ), 10 ); } + public function enqueue() { + + add_action( 'enqueue_block_editor_assets', [ $this, 'enqueue_editor_assets' ], 9e2 ); + add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_editor_assets' ], 9e2 ); + } + + /** + * Enqueueing block editor or site editor assets. + * + * @hook `enqueue_block_editor_assets` + * + * @return void + */ + public function enqueue_editor_assets(): void { + + if ( ! is_admin() ) { + + return; + } + + foreach ( $this->prepare_assets() as $asset ) { + + if ( $asset['style'] ) { + + wp_enqueue_style( + '@publisher/' . $asset['name'], + str_replace( '\\', '/', $asset['style'] ), + self::$packages_deps[ $asset['name'] ] ?? [], + $asset['version'] + ); + } + + if ( ! $asset['script'] ) { + + continue; + } + + $deps = $this->exclude_dependencies( $asset['deps'] ); + + wp_enqueue_script( + '@publisher/' . $asset['name'], + str_replace( '\\', '/', $asset['script'] ), + $deps, + $asset['version'], + true + ); + } + } + /** * Preparing current assets with info! * diff --git a/publisher-core.php b/publisher-core.php index 05d94b63b..326b1dddb 100644 --- a/publisher-core.php +++ b/publisher-core.php @@ -20,6 +20,42 @@ define( 'PB_CORE_URI', plugin_dir_url( __FILE__ ) ); define( 'PB_CORE_PATH', plugin_dir_path( __FILE__ ) ); define( 'PB_CORE_VERSION', '1.0.0' ); +define( 'PB_ENV', 'wp-env' ); + # loading front controller require __DIR__ . '/bootstrap/app.php'; + + +add_action( 'enqueue_block_editor_assets', 'enqueue_editor_assets', 9e2 ); +add_action( 'wp_enqueue_scripts', 'enqueue_editor_assets', 9e2 ); + + +function enqueue_editor_assets(): void { + + $handle = 'publisher-core'; + + $asset_file_info = PB_CORE_PATH . 'tools/wp-env-app/dist/publisher-core-app.asset.php'; + + if ( ! file_exists( $asset_file_info ) ) { + + return; + } + + $info = include $asset_file_info; + + if ( empty( $info['version'] ) || ! is_admin() ) { + + return; + } + + /** + * JavaScripts + */ + wp_enqueue_script( + $handle, + PB_CORE_URI . 'tools/wp-env-app/dist/publisher-core-app.js', + $info['dependencies'], + $info['version'] + ); +} From 2f408300dd311860514ae9647aecd9e0c4c81d1e Mon Sep 17 00:00:00 2001 From: rezaelahidev Date: Sun, 8 Oct 2023 12:54:36 +0330 Subject: [PATCH 03/22] fix: background extension styles --- .../libs/background/css-generators/background-generator.js | 6 ++++-- packages/extensions/src/libs/background/styles.js | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/extensions/src/libs/background/css-generators/background-generator.js b/packages/extensions/src/libs/background/css-generators/background-generator.js index 08256ece2..677b3a491 100644 --- a/packages/extensions/src/libs/background/css-generators/background-generator.js +++ b/packages/extensions/src/libs/background/css-generators/background-generator.js @@ -147,8 +147,10 @@ export function backgroundGenerator(id, props, styleEngine) { }); return createCssRule({ - selector: `#block-${props.clientId}${ - styleEngine.selector ? ' ' + styleEngine.selector : '' + selector: `${ + styleEngine.selector + ? `#block-${props.clientId}` + styleEngine.selector + : '' }`, properties: { 'background-color': properties['background-color'] diff --git a/packages/extensions/src/libs/background/styles.js b/packages/extensions/src/libs/background/styles.js index 0f173e325..05080323a 100644 --- a/packages/extensions/src/libs/background/styles.js +++ b/packages/extensions/src/libs/background/styles.js @@ -35,7 +35,7 @@ export function BackgroundStyles({ }: IConfigs): string { const generators = []; const selector = useCssSelector({ - blockName: blockProps.name, + blockName: blockProps.blockName, supportId: 'publisherBackground', // fallbackSupportId: 'background' }); @@ -53,7 +53,7 @@ export function BackgroundStyles({ cssGenerators: { publisherBackground: [ { - selector: `${selector}, ${selector} .publisher-icon-element div[contentEditable="true"], .publisher-icon-element div`, + selector: `${selector} .publisher-extension-ref, ${selector} .publisher-icon-element div[contentEditable="true"], .publisher-icon-element div`, type: 'function', function: backgroundGenerator, }, From 0c4198d7c854fdae3f8ddd077529dee1b2da91ca Mon Sep 17 00:00:00 2001 From: rezaelahidev Date: Sun, 8 Oct 2023 12:55:22 +0330 Subject: [PATCH 04/22] refactor: some props of base extension --- packages/extensions/src/libs/base/index.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/extensions/src/libs/base/index.js b/packages/extensions/src/libs/base/index.js index 68fb0fd2e..1e70e72f1 100644 --- a/packages/extensions/src/libs/base/index.js +++ b/packages/extensions/src/libs/base/index.js @@ -75,10 +75,8 @@ export const BaseExtension = memo( {children} {isFunction(getExtensionCssRules) && (