From 59c11c0b7129340136549325580c5217cee0978f Mon Sep 17 00:00:00 2001 From: NullVoxPopuli Date: Fri, 14 Oct 2022 12:28:58 -0400 Subject: [PATCH 1/9] chore(docs): add docs for styling --- docs/adding-style.md | 156 +++++++++++++++++++++++ docs/index.md | 6 +- pnpm-lock.yaml | 292 ++++++++++++++++++++++++++----------------- 3 files changed, 339 insertions(+), 115 deletions(-) diff --git a/docs/adding-style.md b/docs/adding-style.md index 6ed3c0c3..e42d1d8e 100644 --- a/docs/adding-style.md +++ b/docs/adding-style.md @@ -1 +1,157 @@ # Adding style + +ember-headless-table supports any and all styling techniques. +- Traditional [CSS Stylesheets][css-stylesheets] +- [CSS Modules][css-modules] +- [Tailwind][css-tailwind] +- [CSS-in-JS][css-in-js] +- any combination of the above, or any styling technique not on this list + +If you use embroider + tailwind, and maybe also want CSS Modules, we recommend [this guide on discuss.ember.js.com][guide-modern-css] + +[css-stylesheets]: https://developer.mozilla.org/en-US/docs/Web/CSS +[css-modules]: https://github.com/css-modules/css-modules +[css-tailwind]: https://tailwindcss.com/ +[css-in-js]: https://github.com/rajasegar/ember-csz + +[guide-modern-css]: https://discuss.emberjs.com/t/ember-modern-css/19614 + +
+ +Since ember-headless-table allows you to _bring your own markup_. +There is one caveat that we require a wrapper div so that the table can install a modifier that observes container resizes, ather container-related events. + + +## Example using Tailwind + +```gjs +import Component from '@glimmer/component'; +import { headlessTable } from 'ember-headless-table'; + +export class TailwindDemo extends Component { + table = headlessTable(this, { + columns: () => [ /* ... */ ] , + data: () => [ /* ... */ ], + }); + + +} +``` + +## Example using CSS + + +Using co-located CSS in embroider following [this guide on discuss.ember.js.com][guide-modern-css]. + +```css +/* c-s-s-demo/styles.css */ +.my-table { + height: 100%; + overflow: auto; +} + +.my-table th span { + font-weight: bold; +} +``` +```gjs +/* c-s-s-demo/index.gjs */ +import Component from '@glimmer/component'; +import { headlessTable } from 'ember-headless-table'; + +export class CSSDemo extends Component { + table = headlessTable(this, { + columns: () => [ /* ... */ ] , + data: () => [ /* ... */ ], + }); + + +} +``` + +## Styling and UX + +With CSS / Tailwind / etc, some styling of certain ui elements, such as a resize-handle, may be a smidge tricky. + +All demos throughout the these docs will include the tailwind version of how to style these elements. + +For example, in the [column resizing demo](/docs/plugins/column-resizing), +the way the resizing indicator is done requires a couple tricks: + +```glimmer + + +{{!-- + boolean whos return value is managed by the plugin, but used to optionally show a div + when this particular column is being resized +--}} +{{#if (isResizing column)}} +
+{{/if}} +``` diff --git a/docs/index.md b/docs/index.md index 6207effd..0c728f4a 100644 --- a/docs/index.md +++ b/docs/index.md @@ -13,9 +13,9 @@ title: Usage * ember-auto-import >= v2 * ember-source >= 3.28 * embroider safe + optimized -* typescript >= 4.5
- Note that types changes will be considered bugfixes until Glint support is added to ember-headless-table -* Glint -- not yet
+* typescript >= 4.5 +* Glint >= 0.9 + All Glint changes will be considered bugfixes until Glint 1.0 is released. ## Installation diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a9172d69..0f9635b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -131,7 +131,7 @@ importers: typescript: ^4.8.4 webpack: ^5.74.0 dependencies: - '@crowdstrike/ember-oss-docs': 1.0.25_ouk7khizzwo7k3l6mmywdhl5qm + '@crowdstrike/ember-oss-docs': link:../../ember-oss-docs/ember-oss-docs '@ember/test-waiters': 3.0.2 '@embroider/router': 1.9.0_6nap4nrlhytgwxhnrgcj56wvwu dompurify: 2.4.0 @@ -1554,19 +1554,6 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-typescript/7.8.7_@babel+core@7.19.3: - resolution: {integrity: sha512-7O0UsPQVNKqpHeHLpfvOG4uXmlw+MOxYvUv6Otc9uH5SYMIxvF6eBdjkWvC3f9G+VXe0RsNExyAQBeTRug/wqQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-create-class-features-plugin': 7.19.0_@babel+core@7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.19.3 - transitivePeerDependencies: - - supports-color - dev: false - /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.19.3: resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} engines: {node: '>=6.9.0'} @@ -1781,39 +1768,6 @@ packages: dev: true optional: true - /@crowdstrike/ember-oss-docs/1.0.25_ouk7khizzwo7k3l6mmywdhl5qm: - resolution: {integrity: sha512-QqHDEZkh0SgWtfr0lk+aY4DRsKkGv899wEtT30mIKxLuq4FtH6D0kkex2JYpraTyqMh4Ih64cy3vbYGF2aWMfg==} - peerDependencies: - '@crowdstrike/tailwind-toucan-base': ^3.3.1 - '@docfy/core': ^0.5.0 - '@docfy/ember': ^0.5.0 - '@glimmer/component': ^1.1.2 - '@glint/environment-ember-loose': ^0.9.4 - '@glint/template': '>= 0.9.0' - '@tailwindcss/typography': ^0.5.7 - highlight.js: ^11.6.0 - highlightjs-glimmer: ^1.4.1 - dependencies: - '@babel/runtime': 7.19.0 - '@crowdstrike/tailwind-toucan-base': 3.3.1_5zjlt5w4ir2cay3te66iu3k3ji - '@docfy/core': 0.5.0 - '@docfy/ember': 0.5.0 - '@embroider/addon-shim': 1.8.3 - '@glimmer/component': 1.1.2_@babel+core@7.19.3 - '@glint/environment-ember-loose': 0.9.4_q3dyqagzoarn5fdnpc2fuow56q - '@glint/template': 0.9.4_@glimmer+component@1.1.2 - '@tailwindcss/typography': 0.5.7_tailwindcss@3.1.8 - dompurify: 2.4.0 - ember-modifier: 3.2.7_@babel+core@7.19.3 - ember-url-hash-polyfill: 1.0.8_@babel+core@7.19.3 - highlight.js: 11.6.0 - highlightjs-glimmer: 1.4.1_highlight.js@11.6.0 - lodash.merge: 4.6.2 - transitivePeerDependencies: - - '@babel/core' - - supports-color - dev: false - /@crowdstrike/ember-toucan-styles/1.0.5_do2k75ey62s362izemmcwwdmga: resolution: {integrity: sha512-eXCBn0u5TyMeNsw57C4MqSZCrlDYL8LZp9olKd7UAVIK1TNeUrEDe0j6kAhJG2t7psHWjANjOy0ClXX0gMRXbg==} peerDependencies: @@ -1844,6 +1798,7 @@ packages: - autoprefixer - postcss - ts-node + dev: true /@docfy/core/0.5.0: resolution: {integrity: sha512-4SBim8DAveFju1CiUfiHXGiWc+zC7CMWKid+jbwPW1AiVlwitrY2KJYGe+LN1dNxd3EcIVV8QULl7Po7ZTqxgg==} @@ -1871,6 +1826,7 @@ packages: yaml: 1.10.2 transitivePeerDependencies: - supports-color + dev: true /@docfy/ember/0.5.0: resolution: {integrity: sha512-kgBGrryYXTQ5pB5q8X1R6IoJMwka6W6Z/+NFYbrxv6r2BY+4pR+P8Of7rBDf/ViPRMCYIU0BtZcQWZFPeN45KA==} @@ -1897,6 +1853,7 @@ packages: unist-util-visit: 2.0.3 transitivePeerDependencies: - supports-color + dev: true /@ember-data/rfc395-data/0.0.4: resolution: {integrity: sha512-tGRdvgC9/QMQSuSuJV45xoyhI0Pzjm7A9o/MVVA3HakXIImJbbzx/k/6dO9CUEQXIyS2y0fW6C1XaYOG7rY0FQ==} @@ -2522,6 +2479,7 @@ packages: silent-error: 1.1.1 transitivePeerDependencies: - supports-color + dev: true /@glint/config/0.9.5: resolution: {integrity: sha512-n57V4EgEG2SGqd71CBh4NMjgWuiyM1zzM7sDmXsZ9mAvP38RRBOKjRNBfyWh8/FHX5AAPE7QD2o5GdprafRXFw==} @@ -2591,6 +2549,7 @@ packages: ember-modifier: 3.2.7_@babel+core@7.19.3 transitivePeerDependencies: - supports-color + dev: true /@glint/environment-ember-loose/0.9.5_t5ycb63yys2yccfcq5mlxlwezm: resolution: {integrity: sha512-dQX8nmDNVCAfYMSRzCaXEXFaJL4Woib1cCeziX0dPvacG4ASC2VoUR32kh4/km7UokGsHQylb40vQzWNir6NSQ==} @@ -2772,10 +2731,12 @@ packages: dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 + dev: true /@nodelib/fs.stat/2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} + dev: true /@nodelib/fs.walk/1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} @@ -2783,6 +2744,7 @@ packages: dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 + dev: true /@nullvoxpopuli/eslint-configs/2.2.59_typescript@4.8.4: resolution: {integrity: sha512-QEGW2UlIk/26avbEy4LwmxgsZSYz2TS0TKIXh0wZ5fpA4jTkTOTGAL98PYn6Hd9zHs1gLVhUQMZYmQiWE2wPWQ==} @@ -3144,6 +3106,7 @@ packages: lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 tailwindcss: 3.1.8_postcss@8.4.17 + dev: true /@tootallnate/once/1.1.2: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} @@ -3506,6 +3469,7 @@ packages: resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} dependencies: '@types/unist': 2.0.6 + dev: true /@types/mime/3.0.1: resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} @@ -3542,6 +3506,7 @@ packages: /@types/parse-json/4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + dev: true /@types/qs/6.9.7: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} @@ -3609,6 +3574,7 @@ packages: /@types/unist/2.0.6: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} + dev: true /@types/yargs-parser/21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} @@ -3914,6 +3880,7 @@ packages: acorn: 7.4.1 acorn-walk: 7.2.0 xtend: 4.0.2 + dev: true /acorn-walk/7.2.0: resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} @@ -4107,6 +4074,7 @@ packages: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 + dev: true /aproba/2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} @@ -4122,6 +4090,7 @@ packages: /arg/5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true /argparse/1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -4302,6 +4271,7 @@ packages: picocolors: 1.0.0 postcss: 8.4.17 postcss-value-parser: 4.2.0 + dev: true /available-typed-arrays/1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} @@ -4945,6 +4915,7 @@ packages: /bail/1.0.5: resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} + dev: true /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -4988,6 +4959,7 @@ packages: /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} + dev: true /binaryextensions/2.3.0: resolution: {integrity: sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==} @@ -5101,6 +5073,7 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.0.1 + dev: true /broccoli-amd-funnel/2.0.1: resolution: {integrity: sha512-VRE+0PYAN4jQfkIq3GKRj4U/4UV9rVpLan5ll6fVYV4ziVg4OEfR5GUnILEg++QtR4xSaugRxCPU5XJLDy3bNQ==} @@ -5157,6 +5130,7 @@ packages: broccoli-plugin: 1.3.1 fs-extra: 7.0.1 symlink-or-copy: 1.3.1 + dev: true /broccoli-builder/0.18.14: resolution: {integrity: sha512-YoUHeKnPi4xIGZ2XDVN9oHNA9k3xF5f5vlA+1wvrxIIDXqQU97gp2FxVAF503Zxdtt0C5CRB5n+47k2hlkaBzA==} @@ -5713,6 +5687,7 @@ packages: /bytes/3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} + dev: true /cache-base/1.0.1: resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} @@ -5757,10 +5732,12 @@ packages: /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + dev: true /camelcase-css/2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} + dev: true /camelcase-keys/6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} @@ -5819,6 +5796,7 @@ packages: /ccount/1.1.0: resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} + dev: true /chalk/1.1.3: resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} @@ -5853,15 +5831,19 @@ packages: /character-entities-html4/1.1.4: resolution: {integrity: sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==} + dev: true /character-entities-legacy/1.1.4: resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + dev: true /character-entities/1.2.4: resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + dev: true /character-reference-invalid/1.1.4: resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + dev: true /chardet/0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} @@ -5886,6 +5868,7 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.2 + dev: true /chrome-trace-event/1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} @@ -6040,6 +6023,7 @@ packages: dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 + dev: true /color-support/1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} @@ -6052,6 +6036,7 @@ packages: dependencies: color-convert: 2.0.1 color-string: 1.9.1 + dev: true /colord/2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} @@ -6079,6 +6064,7 @@ packages: /comma-separated-tokens/1.0.8: resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} + dev: true /commander/2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -6103,6 +6089,7 @@ packages: /commander/8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} + dev: true /common-tags/1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} @@ -6507,6 +6494,7 @@ packages: parse-json: 5.2.0 path-type: 4.0.0 yaml: 1.10.2 + dev: true /cross-spawn/6.0.5: resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} @@ -6541,6 +6529,7 @@ packages: /css-color-names/0.0.4: resolution: {integrity: sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==} + dev: true /css-declaration-sorter/6.3.1_postcss@8.4.17: resolution: {integrity: sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==} @@ -6620,6 +6609,7 @@ packages: /css-unit-converter/1.1.2: resolution: {integrity: sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==} + dev: true /css-what/6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} @@ -6870,6 +6860,7 @@ packages: /defined/1.0.0: resolution: {integrity: sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==} + dev: true /del/5.1.0: resolution: {integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==} @@ -6949,9 +6940,11 @@ packages: acorn-node: 1.8.2 defined: 1.0.0 minimist: 1.2.6 + dev: true /didyoumean/1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dev: true /diff/5.1.0: resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} @@ -6967,6 +6960,7 @@ packages: /dlv/1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: true /doctrine/2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} @@ -7434,29 +7428,6 @@ packages: - '@babel/core' - supports-color - /ember-cli-typescript/3.1.4_@babel+core@7.19.3: - resolution: {integrity: sha512-HJ73kL45OGRmIkPhBNFt31I1SGUvdZND+LCH21+qpq3pPlFpJG8GORyXpP+2ze8PbnITNLzwe5AwUrpyuRswdQ==} - engines: {node: 8.* || >= 10.*} - dependencies: - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.19.3 - '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.19.3 - '@babel/plugin-transform-typescript': 7.8.7_@babel+core@7.19.3 - ansi-to-html: 0.6.15 - broccoli-stew: 3.0.0 - debug: 4.3.4 - ember-cli-babel-plugin-helpers: 1.1.1 - execa: 3.4.0 - fs-extra: 8.1.0 - resolve: 1.22.1 - rsvp: 4.8.5 - semver: 6.3.0 - stagehand: 1.0.0 - walk-sync: 2.2.0 - transitivePeerDependencies: - - '@babel/core' - - supports-color - dev: false - /ember-cli-typescript/4.2.1: resolution: {integrity: sha512-0iKTZ+/wH6UB/VTWKvGuXlmwiE8HSIGcxHamwNhEC5x1mN3z8RfvsFZdQWYUzIWFN2Tek0gmepGRPTwWdBYl/A==} engines: {node: 10.* || >= 12.*} @@ -7473,6 +7444,7 @@ packages: walk-sync: 2.2.0 transitivePeerDependencies: - supports-color + dev: true /ember-cli-typescript/5.1.1: resolution: {integrity: sha512-DbzATYWY8nbXwSxXqtK8YlqGJTcyFyL+eg6IGCc2ur0AMnq/H+o6Z9np9eGoq1sI+HwX7vBkOVoD3k0WurAwXg==} @@ -7749,6 +7721,7 @@ packages: ember-cli-babel: 7.26.11 transitivePeerDependencies: - supports-color + dev: true /ember-load-initializers/2.1.2_@babel+core@7.19.3: resolution: {integrity: sha512-CYR+U/wRxLbrfYN3dh+0Tb6mFaxJKfdyz+wNql6cqTrA0BBi9k6J3AaKXj273TqvEpyyXegQFFkZEiuZdYtgJw==} @@ -8178,19 +8151,6 @@ packages: - supports-color dev: true - /ember-test-waiters/2.1.3_@babel+core@7.19.3: - resolution: {integrity: sha512-xDjvq8/1C3b9z3NGpez7aslbq5gsLrxsdjD3apyziHkImh/PTeXZr2bxo/YAUgOwGOtpZ1So0fIsppiSN0u1Ng==} - engines: {node: 10.* || >= 12.*} - dependencies: - ember-cli-babel: 7.26.11 - ember-cli-typescript: 3.1.4_@babel+core@7.19.3 - ember-cli-version-checker: 5.1.2 - semver: 7.3.8 - transitivePeerDependencies: - - '@babel/core' - - supports-color - dev: false - /ember-tracked-storage-polyfill/1.0.0: resolution: {integrity: sha512-eL7lZat68E6P/D7b9UoTB5bB5Oh/0aju0Z7PCMi3aTwhaydRaxloE7TGrTRYU+NdJuyNVZXeGyxFxn2frvd3TA==} engines: {node: 12.* || >= 14} @@ -8233,19 +8193,6 @@ packages: - supports-color dev: true - /ember-url-hash-polyfill/1.0.8_@babel+core@7.19.3: - resolution: {integrity: sha512-4BWDhDjYr8d13kKTbcMyqX9p+hMXYNrV33enPNB6bcOS6sgJu3HOGGfzc7sIb9Gft4qLENTUBHRKl8xIU8f6fg==} - engines: {node: 10.* || >= 12} - dependencies: - ember-cli-babel: 7.26.11 - ember-cli-htmlbars: 5.7.2 - ember-cli-typescript: 4.2.1 - ember-test-waiters: 2.1.3_@babel+core@7.19.3 - transitivePeerDependencies: - - '@babel/core' - - supports-color - dev: false - /ember-window-mock/0.8.1: resolution: {integrity: sha512-wl9TJuBYFWKsPqDY2gms2jbre1L39AkrPQ9EqbhqHbZI4aEq8u8IZJ0nJaOa7IVr/Jy/kSUXYQGTgvNhz1AzPw==} engines: {node: 12.* || 14.* || >= 16} @@ -8344,6 +8291,7 @@ packages: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 + dev: true /error/7.2.1: resolution: {integrity: sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==} @@ -8828,22 +8776,6 @@ packages: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - /execa/3.4.0: - resolution: {integrity: sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==} - engines: {node: ^8.12.0 || >=9.7.0} - dependencies: - cross-spawn: 7.0.3 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - p-finally: 2.0.1 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: false - /execa/4.1.0: resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} engines: {node: '>=10'} @@ -8960,6 +8892,7 @@ packages: /extend/3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: true /external-editor/3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} @@ -9007,6 +8940,7 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 + dev: true /fast-json-stable-stringify/2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -9053,11 +8987,13 @@ packages: resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} dependencies: reusify: 1.0.4 + dev: true /fault/1.0.4: resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} dependencies: format: 0.2.2 + dev: true /faye-websocket/0.11.4: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} @@ -9117,6 +9053,7 @@ packages: engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 + dev: true /finalhandler/1.1.2: resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} @@ -9324,6 +9261,7 @@ packages: /format/0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} + dev: true /forwarded/0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} @@ -9332,6 +9270,7 @@ packages: /fraction.js/4.2.0: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + dev: true /fragment-cache/0.2.1: resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} @@ -9466,6 +9405,7 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true + dev: true optional: true /function-bind/1.1.1: @@ -9580,21 +9520,25 @@ packages: /git-repo-info/2.1.1: resolution: {integrity: sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==} engines: {node: '>= 4.0'} + dev: true /github-slugger/1.4.0: resolution: {integrity: sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==} + dev: true /glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 + dev: true /glob-parent/6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 + dev: true /glob-to-regexp/0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} @@ -9869,6 +9813,7 @@ packages: /hast-util-is-element/1.1.0: resolution: {integrity: sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==} + dev: true /hast-util-to-html/7.1.3: resolution: {integrity: sha512-yk2+1p3EJTEE9ZEUkgHsUSVhIpCsL/bvT8E5GzmWc+N1Po5gBw+0F8bo7dpxXR0nu0bQVxVZGX2lBGF21CmeDw==} @@ -9883,9 +9828,11 @@ packages: stringify-entities: 3.1.0 unist-util-is: 4.1.0 xtend: 4.0.2 + dev: true /hast-util-whitespace/1.0.4: resolution: {integrity: sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A==} + dev: true /heimdalljs-fs-monitor/1.1.1: resolution: {integrity: sha512-BHB8oOXLRlrIaON0MqJSEjGVPDyqt2Y6gu+w2PaEZjrCxeVtZG7etEZp7M4ZQ80HNvnr66KIQ2lot2qdeG8HgQ==} @@ -9924,6 +9871,7 @@ packages: /hex-color-regex/1.1.0: resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==} + dev: true /highlight.js/11.6.0: resolution: {integrity: sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==} @@ -9960,6 +9908,7 @@ packages: engines: {node: '>=10'} dependencies: lru-cache: 6.0.0 + dev: true /hosted-git-info/4.1.0: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} @@ -9977,9 +9926,11 @@ packages: /hsl-regex/1.0.0: resolution: {integrity: sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==} + dev: true /hsla-regex/1.0.0: resolution: {integrity: sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==} + dev: true /html-encoding-sniffer/2.0.1: resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} @@ -9990,9 +9941,11 @@ packages: /html-tags/3.2.0: resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==} engines: {node: '>=8'} + dev: true /html-void-elements/1.0.5: resolution: {integrity: sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==} + dev: true /http-cache-semantics/4.1.0: resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} @@ -10132,6 +10085,7 @@ packages: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + dev: true /import-from/4.0.0: resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} @@ -10261,12 +10215,14 @@ packages: /is-alphabetical/1.0.4: resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + dev: true /is-alphanumerical/1.0.4: resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 + dev: true /is-arguments/1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} @@ -10278,9 +10234,11 @@ packages: /is-arrayish/0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true /is-arrayish/0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: true /is-bigint/1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} @@ -10292,6 +10250,7 @@ packages: engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 + dev: true /is-boolean-object/1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} @@ -10307,6 +10266,7 @@ packages: /is-buffer/2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} engines: {node: '>=4'} + dev: true /is-callable/1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} @@ -10321,6 +10281,7 @@ packages: hsla-regex: 1.0.0 rgb-regex: 1.0.1 rgba-regex: 1.0.0 + dev: true /is-core-module/2.10.0: resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} @@ -10349,6 +10310,7 @@ packages: /is-decimal/1.0.4: resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + dev: true /is-descriptor/0.1.6: resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} @@ -10389,6 +10351,7 @@ packages: /is-extglob/2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + dev: true /is-fullwidth-code-point/2.0.0: resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} @@ -10417,9 +10380,11 @@ packages: engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 + dev: true /is-hexadecimal/1.0.4: resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + dev: true /is-interactive/1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} @@ -10452,6 +10417,7 @@ packages: /is-number/7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + dev: true /is-obj/2.0.0: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} @@ -10476,6 +10442,7 @@ packages: /is-plain-obj/2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} + dev: true /is-plain-object/2.0.4: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} @@ -10923,6 +10890,7 @@ packages: /lilconfig/2.0.6: resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} engines: {node: '>=10'} + dev: true /line-column/1.0.2: resolution: {integrity: sha512-Ktrjk5noGYlHsVnYWh62FLVs4hTb8A3e+vucNZMgPeAOITdshMSgv4cCZQeRDjm7+goqmo6+liZwTXo+U3sVww==} @@ -10932,6 +10900,7 @@ packages: /lines-and-columns/1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true /linkify-it/2.2.0: resolution: {integrity: sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==} @@ -11072,6 +11041,7 @@ packages: /lodash.castarray/4.4.0: resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} + dev: true /lodash.clonedeep/4.5.0: resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} @@ -11122,6 +11092,7 @@ packages: /lodash.isplainobject/4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true /lodash.isstring/4.0.1: resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} @@ -11129,6 +11100,7 @@ packages: /lodash.iteratee/4.7.0: resolution: {integrity: sha512-yv3cSQZmfpbIKo4Yo45B1taEvxjNvcpF1CEOc0Y6dEyvhPIfEJE3twDwPgWTPQubcSgXyBwBKG6wpQvWMDOf6Q==} + dev: true /lodash.kebabcase/4.1.1: resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} @@ -11169,6 +11141,7 @@ packages: /lodash.topath/4.5.2: resolution: {integrity: sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==} + dev: true /lodash.truncate/4.4.2: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} @@ -11201,6 +11174,7 @@ packages: /longest-streak/2.0.4: resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} + dev: true /loose-envify/1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} @@ -11327,6 +11301,7 @@ packages: resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} dependencies: repeat-string: 1.6.1 + dev: true /marked-terminal/5.1.1_marked@4.1.1: resolution: {integrity: sha512-+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g==} @@ -11365,11 +11340,13 @@ packages: resolution: {integrity: sha512-PVuunQSsJNYiuZ56QypccTVPy8DowOkj61HtD78PSq1M8I49GwxzhdE2QmOp+j/TwaT1yq/K4b201388/ucV2g==} dependencies: unist-util-visit: 2.0.3 + dev: true /mdast-util-definitions/4.0.0: resolution: {integrity: sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==} dependencies: unist-util-visit: 2.0.3 + dev: true /mdast-util-find-and-replace/1.1.1: resolution: {integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==} @@ -11377,6 +11354,7 @@ packages: escape-string-regexp: 4.0.0 unist-util-is: 4.1.0 unist-util-visit-parents: 3.1.1 + dev: true /mdast-util-from-markdown/0.8.5: resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} @@ -11388,11 +11366,13 @@ packages: unist-util-stringify-position: 2.0.3 transitivePeerDependencies: - supports-color + dev: true /mdast-util-frontmatter/0.2.0: resolution: {integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==} dependencies: micromark-extension-frontmatter: 0.2.2 + dev: true /mdast-util-gfm-autolink-literal/0.1.3: resolution: {integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==} @@ -11402,22 +11382,26 @@ packages: micromark: 2.11.4 transitivePeerDependencies: - supports-color + dev: true /mdast-util-gfm-strikethrough/0.2.3: resolution: {integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==} dependencies: mdast-util-to-markdown: 0.6.5 + dev: true /mdast-util-gfm-table/0.1.6: resolution: {integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==} dependencies: markdown-table: 2.0.0 mdast-util-to-markdown: 0.6.5 + dev: true /mdast-util-gfm-task-list-item/0.1.6: resolution: {integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==} dependencies: mdast-util-to-markdown: 0.6.5 + dev: true /mdast-util-gfm/0.1.2: resolution: {integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==} @@ -11429,6 +11413,7 @@ packages: mdast-util-to-markdown: 0.6.5 transitivePeerDependencies: - supports-color + dev: true /mdast-util-to-hast/10.2.0: resolution: {integrity: sha512-JoPBfJ3gBnHZ18icCwHR50orC9kNH81tiR1gs01D8Q5YpV6adHNO9nKNuFBCJQ941/32PT1a63UF/DitmS3amQ==} @@ -11441,6 +11426,7 @@ packages: unist-util-generated: 1.1.6 unist-util-position: 3.1.0 unist-util-visit: 2.0.3 + dev: true /mdast-util-to-markdown/0.6.5: resolution: {integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==} @@ -11451,12 +11437,15 @@ packages: parse-entities: 2.0.0 repeat-string: 1.6.1 zwitch: 1.0.5 + dev: true /mdast-util-to-string/1.1.0: resolution: {integrity: sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==} + dev: true /mdast-util-to-string/2.0.0: resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + dev: true /mdast-util-toc/5.1.0: resolution: {integrity: sha512-csimbRIVkiqc+PpFeKDGQ/Ck2N4f9FYH3zzBMMJzcxoKL8m+cM0n94xXm0I9eaxHnKdY9n145SGTdyJC7i273g==} @@ -11468,6 +11457,7 @@ packages: mdast-util-to-string: 2.0.0 unist-util-is: 4.1.0 unist-util-visit: 2.0.3 + dev: true /mdn-data/2.0.14: resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} @@ -11479,6 +11469,7 @@ packages: /mdurl/1.0.1: resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} + dev: true /media-typer/0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} @@ -11525,6 +11516,7 @@ packages: /merge2/1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + dev: true /methods/1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} @@ -11535,6 +11527,7 @@ packages: resolution: {integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==} dependencies: fault: 1.0.4 + dev: true /micromark-extension-gfm-autolink-literal/0.5.7: resolution: {integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==} @@ -11542,6 +11535,7 @@ packages: micromark: 2.11.4 transitivePeerDependencies: - supports-color + dev: true /micromark-extension-gfm-strikethrough/0.6.5: resolution: {integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==} @@ -11549,6 +11543,7 @@ packages: micromark: 2.11.4 transitivePeerDependencies: - supports-color + dev: true /micromark-extension-gfm-table/0.4.3: resolution: {integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==} @@ -11556,9 +11551,11 @@ packages: micromark: 2.11.4 transitivePeerDependencies: - supports-color + dev: true /micromark-extension-gfm-tagfilter/0.3.0: resolution: {integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==} + dev: true /micromark-extension-gfm-task-list-item/0.3.3: resolution: {integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==} @@ -11566,6 +11563,7 @@ packages: micromark: 2.11.4 transitivePeerDependencies: - supports-color + dev: true /micromark-extension-gfm/0.3.3: resolution: {integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==} @@ -11578,6 +11576,7 @@ packages: micromark-extension-gfm-task-list-item: 0.3.3 transitivePeerDependencies: - supports-color + dev: true /micromark/2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} @@ -11586,6 +11585,7 @@ packages: parse-entities: 2.0.0 transitivePeerDependencies: - supports-color + dev: true /micromatch/3.1.10: resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} @@ -11614,6 +11614,7 @@ packages: dependencies: braces: 3.0.2 picomatch: 2.3.1 + dev: true /mime-db/1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} @@ -11741,6 +11742,7 @@ packages: /modern-normalize/1.1.0: resolution: {integrity: sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==} engines: {node: '>=6'} + dev: true /modify-values/1.0.1: resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} @@ -11842,6 +11844,7 @@ packages: resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} dependencies: lodash: 4.17.21 + dev: true /node-fetch/2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} @@ -11918,10 +11921,12 @@ packages: /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} + dev: true /normalize-range/0.1.2: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} + dev: true /normalize-url/4.5.1: resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} @@ -12082,10 +12087,12 @@ packages: /object-hash/2.2.0: resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} engines: {node: '>= 6'} + dev: true /object-hash/3.0.0: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} + dev: true /object-inspect/1.12.2: resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} @@ -12382,6 +12389,7 @@ packages: engines: {node: '>=6'} dependencies: callsites: 3.1.0 + dev: true /parse-entities/2.0.0: resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} @@ -12392,6 +12400,7 @@ packages: is-alphanumerical: 1.0.4 is-decimal: 1.0.4 is-hexadecimal: 1.0.4 + dev: true /parse-json/4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} @@ -12409,6 +12418,7 @@ packages: error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + dev: true /parse-ms/1.0.1: resolution: {integrity: sha512-LpH1Cf5EYuVjkBvCDBYvkUPh+iv2bk3FHflxHkpCYT0/FZ1d3N3uJaLiHr4yGuMcFUhv6eAivitTvWZI4B/chg==} @@ -12485,6 +12495,7 @@ packages: /path-type/4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + dev: true /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -12492,10 +12503,12 @@ packages: /picomatch/2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + dev: true /pify/2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} + dev: true /pify/3.0.0: resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} @@ -12637,6 +12650,7 @@ packages: postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.1 + dev: true /postcss-import/15.0.0_postcss@8.4.17: resolution: {integrity: sha512-Y20shPQ07RitgBGv2zvkEAu9bqvrD77C9axhj/aA1BQj4czape2MdClCExvB27EwYEJdGgKZBpKanb0t1rK2Kg==} @@ -12656,6 +12670,7 @@ packages: dependencies: camelcase-css: 2.0.1 postcss: 8.4.17 + dev: true /postcss-js/4.0.0_postcss@8.4.17: resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} @@ -12665,6 +12680,7 @@ packages: dependencies: camelcase-css: 2.0.1 postcss: 8.4.17 + dev: true /postcss-load-config/3.1.4_postcss@8.4.17: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} @@ -12681,6 +12697,7 @@ packages: lilconfig: 2.0.6 postcss: 8.4.17 yaml: 1.10.2 + dev: true /postcss-loader/7.0.1_sat2ilddhdkv6huwh4d4inpfry: resolution: {integrity: sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==} @@ -12812,6 +12829,7 @@ packages: dependencies: postcss: 8.4.17 postcss-selector-parser: 6.0.10 + dev: true /postcss-normalize-charset/5.1.0_postcss@8.4.17: resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} @@ -12966,6 +12984,7 @@ packages: /postcss-value-parser/3.3.1: resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} + dev: true /postcss-value-parser/4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} @@ -13007,6 +13026,7 @@ packages: /pretty-hrtime/1.0.3: resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} engines: {node: '>= 0.8'} + dev: true /pretty-ms/3.2.0: resolution: {integrity: sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==} @@ -13070,6 +13090,7 @@ packages: resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==} dependencies: xtend: 4.0.2 + dev: true /proxy-addr/2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} @@ -13100,6 +13121,7 @@ packages: glob: 7.2.3 postcss: 8.4.17 postcss-selector-parser: 6.0.10 + dev: true /q/1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} @@ -13125,6 +13147,7 @@ packages: /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true /quick-lru/4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} @@ -13134,6 +13157,7 @@ packages: /quick-lru/5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} + dev: true /quick-temp/0.1.8: resolution: {integrity: sha512-YsmIFfD9j2zaFwJkzI6eMG7y0lQP7YeWzgtFgNl38pGWZBSXJooZbOWwkcRot7Vt0Fg9L23pX0tqWU3VvLDsiA==} @@ -13206,6 +13230,7 @@ packages: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} dependencies: pify: 2.3.0 + dev: true /read-pkg-up/7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} @@ -13260,6 +13285,7 @@ packages: engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 + dev: true /recast/0.18.10: resolution: {integrity: sha512-XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ==} @@ -13295,6 +13321,7 @@ packages: dependencies: css-unit-converter: 1.1.2 postcss-value-parser: 3.3.1 + dev: true /regenerate-unicode-properties/10.1.0: resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} @@ -13403,15 +13430,18 @@ packages: resolution: {integrity: sha512-VkIs18G0pj2xklyllrPSvdShAV36Ff3yE5PUO9u36f6+2qJFnn22Z5gKwBOwgXviux4UC7K+/j13AnZfPICi/g==} dependencies: hast-util-to-html: 7.1.3 + dev: true /remark-extract-frontmatter/3.2.0: resolution: {integrity: sha512-PmYwNCo0cMAUV3oAGg5Hn6YSZgiSDwVdxLJmPIZ804aYuvE5mAzozo5AkO0C8ELroWrtN/f9zzb0jqFPBkMnwg==} + dev: true /remark-frontmatter/3.0.0: resolution: {integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==} dependencies: mdast-util-frontmatter: 0.2.0 micromark-extension-frontmatter: 0.2.2 + dev: true /remark-gfm/1.0.0: resolution: {integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==} @@ -13420,6 +13450,7 @@ packages: micromark-extension-gfm: 0.3.3 transitivePeerDependencies: - supports-color + dev: true /remark-hbs/0.4.1: resolution: {integrity: sha512-q1qnjA473z409IGqj3iu0Rex9YVN3cfwf6siPP+SQN9Yx66OxyL2cU4VHWK6IxWHSa/cughU2CBUbDPPsWxlfg==} @@ -13427,11 +13458,13 @@ packages: dependencies: unist-builder: 2.0.3 unist-util-visit: 2.0.3 + dev: true /remark-normalize-headings/2.0.0: resolution: {integrity: sha512-nXeBQ7luKRWDcuUTnc0ffUYZ7+cO01FomSjnzpGTGCi7rcD9Wbis+z3adbNyqbYtsC+/+o1S+GLHTwh9crnZxA==} dependencies: mdast-normalize-headings: 2.0.0 + dev: true /remark-parse/9.0.0: resolution: {integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==} @@ -13439,11 +13472,13 @@ packages: mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color + dev: true /remark-rehype/8.1.0: resolution: {integrity: sha512-EbCu9kHgAxKmW1yEYjx3QafMyGY3q8noUbNUI5xyKbaFP89wbhDrKxyIQNukNYthzjNHZu6J7hwFg7hRm1svYA==} dependencies: mdast-util-to-hast: 10.2.0 + dev: true /remark-slug/6.1.0: resolution: {integrity: sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ==} @@ -13451,6 +13486,7 @@ packages: github-slugger: 1.4.0 mdast-util-to-string: 1.1.0 unist-util-visit: 2.0.3 + dev: true /remote-git-tags/3.0.0: resolution: {integrity: sha512-C9hAO4eoEsX+OXA4rla66pXZQ+TLQ8T9dttgQj18yuKlPMTVkIkdYXvlMC55IuUsIkV6DpmQYi10JKFLaU+l7w==} @@ -13479,6 +13515,7 @@ packages: /repeat-string/1.6.1: resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} engines: {node: '>=0.10'} + dev: true /require-directory/2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} @@ -13519,6 +13556,7 @@ packages: /resolve-from/4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + dev: true /resolve-from/5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} @@ -13612,12 +13650,15 @@ packages: /reusify/1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true /rgb-regex/1.0.1: resolution: {integrity: sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==} + dev: true /rgba-regex/1.0.0: resolution: {integrity: sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==} + dev: true /rimraf/2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} @@ -13762,6 +13803,7 @@ packages: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 + dev: true /rxjs/6.6.7: resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} @@ -14069,6 +14111,7 @@ packages: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} dependencies: is-arrayish: 0.3.2 + dev: true /slash/3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} @@ -14244,6 +14287,7 @@ packages: /space-separated-tokens/1.1.5: resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} + dev: true /spawn-args/0.2.0: resolution: {integrity: sha512-73BoniQDcRWgnLAf/suKH6V5H54gd1KLzwYN9FB6J/evqTV33htH9xwV/4BHek+++jzxpVlZQKKZkqstPQPmQg==} @@ -14422,6 +14466,7 @@ packages: character-entities-html4: 1.1.4 character-entities-legacy: 1.1.4 xtend: 4.0.2 + dev: true /strip-ansi/3.0.1: resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} @@ -14665,6 +14710,7 @@ packages: tmp: 0.2.1 transitivePeerDependencies: - ts-node + dev: true /tailwindcss/3.1.8_postcss@8.4.17: resolution: {integrity: sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==} @@ -14697,6 +14743,7 @@ packages: resolve: 1.22.1 transitivePeerDependencies: - ts-node + dev: true /tap-parser/7.0.0: resolution: {integrity: sha512-05G8/LrzqOOFvZhhAk32wsGiPZ1lfUrl+iV7+OkKgfofZxiceZWMHkKmow71YsyVQ8IvGBP2EjcIjE5gL4l5lA==} @@ -14966,6 +15013,7 @@ packages: engines: {node: '>=8.17.0'} dependencies: rimraf: 3.0.2 + dev: true /tmpl/1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} @@ -15005,6 +15053,7 @@ packages: engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 + dev: true /to-regex/3.0.2: resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} @@ -15021,6 +15070,7 @@ packages: dependencies: is-buffer: 2.0.5 vfile: 4.2.1 + dev: true /toidentifier/1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} @@ -15097,6 +15147,7 @@ packages: /trough/1.0.5: resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} + dev: true /ts-clone-node/1.0.0_typescript@4.8.4: resolution: {integrity: sha512-/cDYbr2HAXxFNeTT41c/xs/2bhLJjqnYheHsmA3AoHSt+n4JA4t0FL9Lk5O8kWnJ6jeB3kPcUoXIFtwERNzv6Q==} @@ -15328,6 +15379,7 @@ packages: is-plain-obj: 2.1.0 trough: 1.0.5 vfile: 4.2.1 + dev: true /union-value/1.0.1: resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} @@ -15348,45 +15400,55 @@ packages: /unist-builder/2.0.3: resolution: {integrity: sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==} + dev: true /unist-util-find/1.0.2: resolution: {integrity: sha512-ft06UDYzqi9o9RmGP0sZWI/zvLLQiBW2/MD+rW6mDqbOWDcmknGX9orQPspfuGRYWr8eSJAmfsBcvOpfGRJseA==} dependencies: lodash.iteratee: 4.7.0 unist-util-visit: 1.4.1 + dev: true /unist-util-generated/1.1.6: resolution: {integrity: sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==} + dev: true /unist-util-is/3.0.0: resolution: {integrity: sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==} + dev: true /unist-util-is/4.1.0: resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} + dev: true /unist-util-position/3.1.0: resolution: {integrity: sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==} + dev: true /unist-util-stringify-position/2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: '@types/unist': 2.0.6 + dev: true /unist-util-visit-parents/2.1.2: resolution: {integrity: sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==} dependencies: unist-util-is: 3.0.0 + dev: true /unist-util-visit-parents/3.1.1: resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} dependencies: '@types/unist': 2.0.6 unist-util-is: 4.1.0 + dev: true /unist-util-visit/1.4.1: resolution: {integrity: sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==} dependencies: unist-util-visit-parents: 2.1.2 + dev: true /unist-util-visit/2.0.3: resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} @@ -15394,6 +15456,7 @@ packages: '@types/unist': 2.0.6 unist-util-is: 4.1.0 unist-util-visit-parents: 3.1.1 + dev: true /universal-user-agent/6.0.0: resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} @@ -15548,6 +15611,7 @@ packages: dependencies: '@types/unist': 2.0.6 unist-util-stringify-position: 2.0.3 + dev: true /vfile/4.2.1: resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} @@ -15556,6 +15620,7 @@ packages: is-buffer: 2.0.5 unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 + dev: true /vscode-json-languageservice/4.2.1: resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==} @@ -15919,6 +15984,7 @@ packages: /xtend/4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} + dev: true /y18n/5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} @@ -15943,6 +16009,7 @@ packages: /yaml/1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} + dev: true /yargs-parser/20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} @@ -15991,6 +16058,7 @@ packages: /zwitch/1.0.5: resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} + dev: true file:ember-headless-table_gea6srzlnkl2qogbcjlul4uqmi: resolution: {directory: ember-headless-table, type: directory} From 5b1c88790df0349c50c9e256cc40dadb67346499 Mon Sep 17 00:00:00 2001 From: NullVoxPopuli Date: Fri, 14 Oct 2022 13:14:05 -0400 Subject: [PATCH 2/9] chore(docs): write testing document --- docs/testing.md | 69 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/docs/testing.md b/docs/testing.md index f00b526a..93078596 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -1 +1,70 @@ # Testing + +Testing a table's data can be done entirely however you want to for for you app. +But some behaviors are a non-trivial to simulate in a test environment -- for those, there are some provided helpers, dependency-free. + + +## Helpers + +There are two available helpers, `createHelpers` (which provides some more helpers), and `requestAnimationFrameSettled`, which is like `settled` from `@ember/test-helpers`, but waits for the next available animation frame in the browser, +and then `await settled()`s. This is useful because the DOM-calculations are done based on animation-frame timing +to reduce impact on the browser as much as possible. + +```js +import { + createHelpers, + requestAnimationFrameSettled +} from 'ember-headless-table/test-support'; + +``` + +### `createHelpers` + +`createHelpers` takes custom selectors, depending on how you've implemented your table. + + +```js +let helpers = createHelpers({ + resizeHandle: 'your-css-selector-used-for-all-resize-handles', // optional + // example: + // resizeHandle: '[data-resize-handle]', + scrollContainer: 'your-css-selector-used-for-the-scroll-container-or-wrapping-div', // optional + // example: + // scrollContainer: '[data-scroll-container]', +}); +``` + + +While both of these arguments are optional, the subsequent helpers will error if the needed selector is missing. + +Each of these helpers, when `await`ed, will use `await requestAnimationFrameSettled()` internally. + +#### dragging column widths + +_requires the `resizeHandle` selector be specified_. + +Individual columns may be dragged left or right, based on the column (as an element), and the number of pixels you wish to resize by + +```js +await helpers.dragLeft(secondColumnElement, 20); +await helpers.dragRight(secondColumnElement, -20); +``` + +#### scrolling + +_requires the `scrollContainer` selector be specified_. + +Scrolls or swipes the container by a specified pixel amount. + +```js +await helpers.swipeLeft(20); +// aliased as +await helpers.scrollRight(20); + +// or +await helpers.swipeRight(20); +// aliased as +await helpers.scrollLeft(20); +``` + +Note that swiping and scrolling are inverses of each other. From cab02171636f213d2438e836c7b6ab640719d2c9 Mon Sep 17 00:00:00 2001 From: NullVoxPopuli Date: Fri, 14 Oct 2022 15:44:36 -0400 Subject: [PATCH 3/9] chore(docs): write out the TypeScript + Glint docs --- .gitignore | 1 + .../public/glint-example-intellisense.png | Bin 0 -> 62473 bytes docs-app/public/glint-example-jsdoc.png | Bin 0 -> 150877 bytes docs/typescript-and-glint.md | 91 +++++++++++++++++- .../column-visibility/rendering-test.gts | 4 +- .../plugins/data-sorting/rendering-test.gts | 4 +- 6 files changed, 93 insertions(+), 7 deletions(-) create mode 100644 docs-app/public/glint-example-intellisense.png create mode 100644 docs-app/public/glint-example-jsdoc.png diff --git a/.gitignore b/.gitignore index d28e0a3f..a519c00a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ # See https://help.github.com/ignore-files/ for more about ignoring files. +.DS_Store # compiled output dist/ diff --git a/docs-app/public/glint-example-intellisense.png b/docs-app/public/glint-example-intellisense.png new file mode 100644 index 0000000000000000000000000000000000000000..3829029ea47f70e3f4de9332a9e3d802207b1b92 GIT binary patch literal 62473 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 literal 0 HcmV?d00001 diff --git a/docs-app/public/glint-example-jsdoc.png b/docs-app/public/glint-example-jsdoc.png new file mode 100644 index 0000000000000000000000000000000000000000..bfcaddbe47b65669ee4643134835daa96eb5e2b3 GIT binary patch literal 150877 zcmZ^J1C$_3vUc~hZQHhO+nly-+vc?Gp0;h<<}{{lyZ@fu_wU}fcVC@Tr?N65BBLTR zE8~mEaCuoV7)VS=0000O32|XX003Yj0Dy0h;GkbM7~H|o007YZ=0Za95<)`w@(#8p z=2pf40OH|EYGCS0qo~pfWU=8TfoP_afpIY_?_Uaf{6G((18R7W2h-xTx$Jb zzN09d`K=%f_7SeU282b_(W0J>WgyQu>ppLJZErkZ@|k`(9&Ds}UIOI0q!S_j&OHIx zhrAuEB>=p$AEj`bL*fV3wsNw z?mWoznOm4MfzH4*RD{xs6@py2%9G&f+#q#vKz9$q_?x6R&krLqdX$%Hre~{Q-eS#E zj2vJF5QE!q0tUnbW$;}4#>2r>Rzt`pb%dc-0}1NpZwK(hH^Bse4&D{`-?6dFYv?8? zvC`?9NR)bFlz#<2r(NgWyy;D9$58vQqg7IgKu-n_!$BuZ<9H6Ckq%He z@rK<18T>Z1k02-0)Q`=$aTF}?d}fH z({Q!h7^Fso$WcZkMBlAP63~UAi9-+r!&zH+FCsnn5Ux((%9*BmctQ`ZH?yyTW(3@X zTLg}XH`1ud5kHZCtIt5(2coo!zcQe;kSsX$1KHt~!Y0|{XydKyRn5R5JqBiP;*Tp1 z&`d(Ulbv@@{t7M0t0Ce_P`ClF<6C_>j4x{{v+1Xt)Ba4wbFVP(e>Q=6d^^jz7kY57 zf%#lT)C$7s)2v}y5jkU5g*#fIr~tGaloh|eI`N>^`YyC(V0>*PgwxCS2E(IaPI`-N ziS3EgJ@R_i#AFLg!;AARhY6?)ejrM$cDid|q?tj$a zbBOu|=r{edx3|}DyR}9M0Q<^s{qx9mDjkpyXAD4_eJm*qY9E`n6aJT$Aj}0bj~?)Z zA4_H|lO5Pr4<4{TJv_*+0Ang}!F156HgvJSh8{0Dps^l@IuNVhq#o7^$U{J2E-p5h zX^*=dMnfRhFI;UNo?jqGV3$3nzyjjnD0u`PVGIWTD+E*EK-VGxap1(L5~7On(86Kj zaT+7v3ZXT^t@xV=7e@g1$sIsj!<_J4<7f-f+@rk&8I(a51z{AVoS4V>)6Cd0V`YVz zW`3FxXhzYBEa#~l;WohX1nP*|=4Ks1IROBrG8PA>={=wW8R{#jLngwkPO)b~RR=~Z6A=zWf4xjHp!VV(Y(ek3?1k&}g{c6AB?7-*_aou@;V*8e)$6rI_ zhOiQ39|YaUEC`X8Srcd%WCwdugxkkO7+)&XK^iDuRV^n=qgF>A`M50u=P`Ro>>$q@ErKm(Q zXY|Afst%1KVuENIpN`0uj4h!$&T}M(0uz}k0*)j*K_pF1L+oc!X2C{Dhk~jqtIC6N zi~=h8w31FqhwgKLL&}X9iVTVtO7a*mO8A&!QWj;2%0+2Mp5o7BWnT+OmYlX9nle06 z-s11Ml1k3<#^pE4hh?gzOFwl~ynl+S*2^1~$tY4OQ>k$kx`(Kyzut%R(!sJPHls(h~~ z(NxpWZ6;Wwx2m&dU29m+Z?b7hYeH#KJCo;fneIV!yCi;u+wYmi=9`~i_^=Tw~}}Blgmrm zll@!S8}4()^X;4K6QA)KeSNBDDjg6u&;X#=x2^gP^?HpGpxU0ep1GbT{K?#)To?hk zK$$?M0Ly?^p$$QkkW5&Tppeii@XkS2BgfUnvk&^%npOSD9m*a19jrb)krmM}BFy1@ z!~UTvOi#W!LPc~9Jdpeqh4Oq{VJ#84XkJvIsPLGdVeW{h$XrxSBr&LL95${S?N5GB z#@COC6-dMoGT|2CNQmV~+hic5mC`5JY#tkD_9=$Hp zXUkHZa@nst>YIL%*v0s+5h6EK7PTeaJ#jO^3n*11a79VQZ0Wf4dRBUtwHnAF!SU*l z);QBk!zv8r{5?>KkBJjs%w z#ocVGGt%+>mg2Vl@Ka}By`k>tJfILHdN5@0Hlp1Z;<>0;xKUW!!7}f$Z!+>qBtXPE z@;hp^?px&#HIJVYwG|y_IZ5PYEMaNR>$*pwj4Vf+4EpG>q-6-v<78TUm ztDP2SWo?Uhi$&$zRcRdu2CbIQ2aP`(6B@Hl371$Z*mS$S-cw-GuxylpmCwqVOSQG1 zeTZ!L7G*v%EZDGYXxHD&BlX75D+#nt%c#r8nh}~&tUT*@>^;YAqqfUjk1omAuboTm zOb@G8zE3XVE-tpixX_ggSQ4{zdXk=*Z)3GI=Ph-)obqOQ8^8AYjD8$~DZ*`Vqx;kx z!|%zT>qqt{iJ6H>p2oFdIKSVg-Dkm!!r+MY$FQ<^u;FqX*jXLgC+?w;HONtONpNU* zIb134{PdsCpZ7LpoN{85v1xO4*;qZDWSF!*?3@11j_37Z1y%oh0VD@%n9k!nw@0}B z&yTv--)*YROGMr6?>>c-os}06!$~17(+@*23^-)fFW-3_X|C3uPtQ(MY=yUuTGH%p zA1Wc5Ic;xk_}UX44;MEB+H)=^+vQqxU-;hzo`nKKReV?8YOCivZ-v$L)J_Xp#2(vP zH|cN>c|PWp-hy5V-+o@tpO{Wf$2@{QHu2$ob{qyD4IXwS@UeVUc$vT7TU`usnH;Vs)}{ZMStxq|?GIQ15Kt15kobBk89Epn+c=upI_dA?^L~k1Hdj`6 zQkRkDG_`A;<+A^tx| zoGf_=)n(-Ig=`&+@mXoM?(j5J128n8~i_V^$l#D zop=Zd|8(@P>z{fWyP5yHCmYBA`K+%Gr2ErC$3RO@_b=IBtlWQUIpxjWjIA_;&8@%8 z^VJ703nL@>i7g#vQ7I z?G``NW7|{JIB>)Js|vFV)BxOf-9m0%#cXyN+%1Mm{ea3?>EWob-%p1dE~yKp{*ywy z!*x)e*WE-?*AnZ)A}jmfyTiSFopOQ}I;f>Lu8~Bc@uCojKzo;mu{1O^)N37hOg^r- z=H{84PU6520mJ=-`3dn6;=sj$iNF2pwG-b0IGEBhwGFtg$HAH`z4A%f(S=pG8si|4wr~7@*j)g)# zQ4rUmVk!hT+vyy9S%EMD=OnD)=hT*SGHJ_CAuz zk;G4E#|9slj^GM(Pg%;uuv|mhKdBX5govPRZB8tL!YqMG@Sj8XKivKf1o+;fKcGm{ z#Q(eLzB=?T6XZ`oPzf%i{y)t7hvrMpXqZDUF_OezC&>TOQCU2WF2@s1e={(nYYcikFa> zhZ9I)yxMF~_4DE?o`Bt%5n(t+N9@zz*`9|0%hP3e(?v+ft(C;eYC?oVS9U$HuTQJ_ zd$FcpcQ+8HGei$wH;z)EjiqM^eM_b2=)}Jk!e6w{%>);p40HJAOhf*~P<;FZ1Zg|uK1&ghuaiZ(H72~3z zaq#~p_X?jtzV>(<3?j{QU)$5^GN>fS2fCI)?Rxpp*T5oU)~==jp;C)QuWThoci|n1MO#P8hXJ=fGo$w#rbTzE&Rl!Ok8Se^x<%2-(ciVW7XS!I`5eV4VhF$F58Wka1B13KHF~G z!Q9^a>ou+OQf?)Mp{jSeh;ze!)V;YP=Gt!O70v-1!vd80zD@olxx?jWuFtr>47=U^UPV(^E-SAHls;Je{9VA_U*_`V~E8P;=JIisOS*+&WHn3iu9*0s{=IfuE zN5d-h+q)c#oVj`8VV`p3hDg|J;eJ%{FjkxBv&7??s21DV?vkdrdaf*kW_S`ZK<=@6 zM;c2_?e=t)6Had5$`R7C3XyeYWWWdtZX!5SfXwr5`jZM1rpkB9aWA3+fr1zg-qf?V z@S!5a}?Yr37 zH4L=dTBEKSHm)&0-@_a&6|lxb^>T^~4;B|}`{Bc2FuYt331=ch66U*DlXdVlB28t= z4&c=j(Lekob-V1B#bnH9hITn$i@gxm>%7~YcY@>b-)x85{WN)tx;-p#I!XSoyW%e! z!ml4wdw7?Bo9~kkre?E^|Hg)P#dZw}lkXGG_4Qyeg2M4~&wgNZ8j0I>T;XqH{hO+7 z;e`)NQy7w2h}(-JkmVOybq*6GMcLx8mQE$ulfs{?eK@NS94$qM3-JMw@3 zTqKkU!DNBQK??1Bg*}Bw08PMxUh{0U`X2k9?AfhV~ z%oI<)x;nTog>+wpK-TYerHvZ}a|?cBfwslHp*Kbft>~ z5*4-h={$ufAKDhrvo?KLX#Ytui7G`&VT;qz@wUcu+K1U@1E7kQ*3Q+@pJFuv`LwOH zXsq(TI&40Fc8B*=tjb!sZiS-8tQvD1|KVaLO+*VnG-4z8T0CfEKHp-00|U)H-#-99!}A*fL8Gs+ z!IJSg&svjZsbwrvC*tRl_2nb#ER2n!CPY|C8H@vjx=*x>adfne@aE!jG&24j`5q^) zHdkoZ3$>@Fzum>IY2OdFJ#|JS&9@M>n;xed76EC=>vW6>uB+==SbSjdrbbLcfnMt( zCX$TqY*#Z}zc-vOcWGni=TH;O zflH`}=fkl?>>I=VY6yLi&h8lblq7O6(@4jxUmwfq?@k-fco1|~`PyBy0bdi{tfYlf z)6($iXAtPRF{_j|c7&D(etj0HX(?%1&Z*MRK5f`N)*z6gByO3NCx*hs;I@Lg!f^$$ zI4u)UND?nVrQQxRuybhSiAdqy2-qtiwL8t4D@=*yIHO*}7A`UzN3#mklds{V2YGM_ zfj$n_h`sKu)GDFB93>ttdIEFQYg31V^JMPl{e9xuxgwMzV6P<{L{O39;$Dc0lRp^B zZ*3$^4*ynTwKcxotmKsHPsq|NE+h|h_H@LmEfa;R_MrcQG5+Hvgal#?(NB4|Q0!TV zfwn}+Nvg`>c1&1GPC1JjPtm``Nx_q$wFA#utYp?m=|Tyd+~U*~_7=7e?ae%ZwJ|vh zmg%ze1*w$Ch5KQQNcIixOQQoC(A$b*={NQGkUBVryQ&G{>lsvka0KmIrAFnp1Y~~8 z)NvE29}6j-lf0U24fH{=W>7#N;c98S6KP&M$32Mt_dw@YD5f;=ti4y>ou3> z1#ZDvdlcivDd#J&-s?KNMK&@Vi1Bit8EUy4(Wt58TTZhw9b5+7??cZXUB;5vq~%CC zNDo5tjZ(i@`RZcReZ0eVlL^0%Y zi>9(wXsqR{?f8?kyu0KClj}eslfx7D^#P|U!Ns}YR6D1NZ9JPvg58U^QgV!@9NyPg z7uwSZpxF1hlk_JD4;wF5vm&-FM;!pw#Z=osFQuQ{HSI;2+{4UbdtVCAW^5P;A`&_GqBAEAM?^E-I=v8X&A}IzE!n7AgjKHmQre?oV(aNJ zaX%7u2tRb7ju!JtC!{TZm?bxtvk=l2Cxb7;KDpnMaI<=MyUbW$rYzwaf-K+H_Fs>O zthYUz5$e3&w~XN06AY>|EF!uFH!!vE)P}FJ>8Yvgu&==!=QJ9 zTWES{IW;^JQ~R)@m7)JIKDi@Tzr|v)&=Xva;dY;57$!9pOwzc$wT5k7+V#G@AgHPX z*ro1-S`Ig4S!VAjKjr9Kcma?U(N`XLVj#}Nck`|w#PP{d5~n6#I;yn>yZj26WjY*k z@vXlw3d`-q7YrdQ6$nd8>214Z$V_`(qQUfIiR#JS`iHE7v-er8nOKzUN@1_F!tgjQ zk_j%t4qg=Uh5bQXibLS%??go zYnA9yl+{P`12lhE?l@D)7}kPQYiGO!D=)h_t7YrZfQkMDD)_GK+&Hj0#|9dY4Qqhp z_pc1&!M*W9iB-8B*mN;BMOVi~o&7fZ5C5 z41qeV=IP~1@y*8qXrmJQ+B@aY{>%e8d-cjUOuQvXF1$mY}RYlQ=gNL8*sgi7p6 zqJ4Nr&|2@O4Dc}8dCpMyz_^>k`|^|7Hus8_dbtLOKzv+ch{U?DfKW5P6P#I9I8)Q@ zknJ#ot5k#d%|06#z0Z)oSMzQFyN#+`+E3@E`hh|Xgpsk%aQjXR%ZOLUc@zfzrec2w z?YgRi5v5I_8O{|H+fN^CqLR!06CgDZg1k}fv9Af)f@JRS%L_95`2l~(*A+gSS>3zV z_q&2(Ai$uQAI5VtI@=z;f%vW7+^-kT#vm|`$h~6L7x1C`kb&*59Dm5HJ=?D&~2drM< zNdZnWYjdo#n28O8xnh|xEX7FiOcUoU`y($#*i0$W0)8^-k3IHyTqnAOZfH_+i?+B= zSk7s=PhOfglBjdcT#B~3<$<7;bQDjYAvCD$zKBh}JY#XV28dI#vHM48fnidi+J_#z zC$Eb=_4-dX!fhLilZrD~!}_O9R^h%>$hW8T9I~76!PzD3+by%`{RymHUh&DX;eCAq zP8F8&Q$lgbbAHmSlUL4PnikpMCJsZ>{h$oO*dQKjVGiB8_BwjH>*L86p|`@s6pzq` zV~?$L@pvIG0WLft57WcAB!Yv$`u^5Z!iW3DggFx&>C2a*I%cKufA~*^_Dy5s#+_amSVVa5djr@_#|vVY&Hjm zDhobyJ}qH7{xl+UM9b4eJ-tZ7iL?+f5umgmgl{Q{mi7cJG0apQ@F_{eeHI+#vS?rn zHZ)`Db&qtJ65+iuElBDv`mrvHPX{B4XWcHS>xQuft)YzK%MyCO@Drqgv8^WK64GLo zmD}G(5;3TSVl?_k_pl&asG?Z}&ul{sz%AjsIHI z*MqwwbI8(8n#L78Xw}Ahuwxc=+`RPH**0n$WbB z6Orx4jt+J1JTxhw<6}|0C69!mDX~qD{kj=+hLgRP>>d;_WOOBYa#DLfjO@0<^lZTK z1q1fX@;aX6I+=$*I7$Zb(@YQE&HY}NE{AJAtsqU_%Hg@QFk9_a2`0nU^}<`?D4S03 z@YpQV*a%RT5}5{WhO-GIb-s}BoaErdwN>d~3q{F1`F#L0VDAg#@+;l!)KY zyG?c#iO-F$m3-a#t+$0+2ovfo(_t!^yd?n+);hl=uNx?4)_DQ-0k1b`ApRC|EBYHs z2m1PfbC!7d9x3X11d=BDZL>(EPn@UFtR{Imo!PRX8DG3~>l4R~aP`krRv(s?Hz}5hdK?(v(OWr{ELo%rKLIZF!cr@!;i~sGhP_ zbIk5oFjKoqRell>F`v%&?SwItV8PGiyNR~T>hos=a zu)O-|buNS1LB{c|!(!G$xrw?&nMEBGtr2*DmP~`l1ECX~vI(lf`V^!@3>e|${l3a&K;KWBPmg)mpd5NC7gU@SQF9*>3h52z>)Drmbet?Fd!h8l6qNn807MWf&F zU{d*f^9ho>mXqHIxF`ki|KxyOrN${h|} z1h}!=w-UQ-j!KX&S6A)BD~`+V%aSs|s%QdpKv*N3vz7(*#}fwR+sLp=>^LaS2G!8! zCb1bLI0PT}-E`VBJ6@856S1mbEX}I@C|O#K16_ys*=pfjdd70R?1Ih7;*OlQ`cqhw z1YSZ9Qp%A^;o|qxd|22Le;-3B3_zf8p5g zAS;-k3w{^6s9kUx=yY&;#4(F}GT{~a4m8O%2KwKqLMPlACH6vD@Si@6>amto zS6xXlVjCV&j4(@RI6+u*&%`&~&YqxoPJAL@{zay+ukm0+^I}C>&?G4Ccg2zD0 z10DZc_$OEUkCUlQzlj%KMIxrZxTPUj*=C<5%V`7*H}a6FEdi9R$sD;V<|t^wEPh+# zg3OCYTQppt#t)S#6&_4tE?GmIfB`a|(QcB0k7BXbmTOr_>SlG0){^Ri;ylV>!j%L1 zBVAOL7-H4@NVWXuO7#gJAah`Kx`kQF_woK@FIw$+;8rfpBs-H;@*V`V>SU*$mK0FO ztgQ`FtH*AF^$#`BrG6+rWVpI5TvgqPr|ESU5hgt~D#iueCFY~~IjnxZZ7R@c84E7G zrEwaTa|pt1sEXD+$V5PeWvBJuQkY;;uEV7g1FU{ta5a39Q?}O25X-z~5{13=bJ=?J zesZ6*+4qlxO!0Tr#sC#r*^e5AM7$(oOnMja2ec#MhMJhf(cd!dS&LgHGpp@qt==`} zNcDFB8Q^l$tiJGoTq^RFUPkqxe)_B}%6>q(NT4OD{S?~oy^cJi1Uprz#JVbo!&x*W zBqaf1D_-uLm;P#D;nX3cl=i=pYTj?)M+uI>;U8qrzC7N)z%vYA>U z^KN3}eT<1cVG~R&B1C5U%27VhL|RI@5(|Fp1xKCHHD*fH%vQKc#Qs81DRBM9Lo33S zjnHupF-#$8{>+yAI5lanN@67}73g~qmZ=$5=3JC`V$!FiBfV`yD&0DbbUpZ1Jr9&*1KYd(J@_jX@$t0 zSrLQ*{z|0BXgFT$7JUF(Qp;QoNGG{>Y9Ug84GGICqJ;-}3V#ssQQ5)L1=shMH4;TC z^ThV+B_>`1B2mE9;0GYnYYBUmGmV!Sz@!NowefeP_>rC*t$nYgEY&qlj@iaK!S1H% zgv8-p%Y#!LxV(?bFei$h(bCR_$(SW&gPfE~-hHOM_r(6G~CjMN@; zNllnD{2vU}r`EA}4ONZNMGn@hhvD^EttLt6mJUawq!M1S+>4vKPs{S7psdmQju=bH z;?mPdLBceBv6qiG55bCZA%qn)Y5U~V0>XB-3e z#ocZOuW{tiZEiCVZIPcQ@?oV}H8(Jj4a73VG@_IR*YW_>$9uLe6-tLW8;NbiRt}er z9z+8}+gUsaWax@FK+8@}369>cxS@>4rJ}nSmUgfkt&3G1kPj+0mw+V^-YqdKzt%3` z-5u87#(hTftjeCPu;|fGiZ}K&WXQy3k2yPv4Q{CGX%IP_DU1;$&7^jC7-7BTHk^=B zWMsIW-e*lO6Lq-(`!u1BEnLK^%2k7+yR*6=nXC5=32g8fT$UnYImU|P>89k)T|yH& z*YL*2oxZP(G`?&``aPsQy;QmZHk**m%}$rw*5tLNFz_ip1=fs9rSskY^vTi@ImERh z7-aR`^lFS!9{K-gK$ct0e90CcV+q$E|T$O$@y*_h}>H1d^XR31Atw&3k zDNKj}-Z|{)6vK6pFhc;Dic(h^$qq08Wfdl6h;P`<9kQ2rVZg5jZ36j{c zHd2d>yXFpqp^!kwk%3PSj-2X8j{EMlnInIfmm zG1Hza-b*{l1H8T88dxRIrZw?`kL6eg9*(mH8nZh;5YcT_ViF!k&F9Qg8539{`O6cq zQGLi(V!@I0ykdn>D(iZIgDf!n4`|-Q-t=LxNU5pAJM=yghh73SO*ORmV)X=0&?VKz zh3p&B(+c2yL*_>4{}#w&0JZ=QZBp)(CL7MmUO z!lH4b5xx{A)QlAElHFRXET_c-1ow;K-Ff_3U-{S7n7%Z)04T!E?17YV@ z*&9olIH$Iu*-^&r9^IvFBnJI{FbbT5jSR2QSci@MwmL`W(``OPWTn;-kN4>c>Ydz; zT@x}I+$Fh;E~#~?!nl|Hibr{IuEdqii}{|0*>YA!iJ9x|?JVtgK*NTw2MkSknP-eG zbOs2WLr}&K)KIy@s4i;*1*O`J|2SOXmiy;)$Y<}kH|q=j)>AE6<{5WfRykK>PEtzD zDBmN=qU|zd76(^eRDlX7w1ft5zs%fJ7!65v-pz%oIwnldv)ZEK54H5efTgaM~C`18;YwGLzh=;rcimXojy z(McMMhjDTT8oD1m*{Z)=WrKcHRfAWZF0)+jiTcEd)|Zu?ru_bo<0IVYf5NzY9$D`A z$v<#Sug=t?d1%JzYxU>@p?`cG4{?GQmy{G$OfWboM6%DpF)}eBAQDj|65}IpY*ujlIEhW9$@`QI0P$7TiV)`De;z-Ry&d=UHO(q%l7_?8p-j# zedl7M&=u@d&S(-o3Lfc?z_+_K`RzrbQW)dOQ~C4fedm_&YL_QE;PY8qC|!(|W-xpy zGKNAPrjfz_S}l*{-z=LiE9J*MT+F`b-7(hw12nWCfsdFjXYs2fYixpVpkg54c;^Y8 zPZlI$Q`Qrct114`>JfiYBQKI1>9YjB)E~0}x+qQkd*4iWT88FKLLnQp$Y_lxHegp( za4;JTZKt{5`1w*U9#>nEgDC=io^h#=9Kfd!UcinY+=M4_k~D(!ij|F)@QG z+;FY(-K$v1H+KMA+e%!knsy%>hBBM%Q z4n`0!*?`-gSwsfzBgGfA1REF+_3`w;9*ZwpTJ98$>$Z{Hzr8F9-W)3z=E%{hd0Kf} z|9Y2~5vDCguQjc>s@i-L*ps%>_Qj~wS`JES#!03LUl{ER%yku;4z3SGlNCAdtx&l< z8sOVJL<$0J5RkP2-FkNRlf}lnv-}WL^?59QDgMl zyyEVaR$Ny1l0&Kw;xgn^3F2w_JE_ae)GGK@9i)s>ZH{a9a|@jTt14!z#p|5-!}dCo z^PJwL`;?g3;Y#{(dbX!K%k4tuqr6#mj5a!?z;@iUcYiKzqT6X#k_-IbxdTnaCnaCY zf8-9-F5iD{Xz z#nuygTJGtEB1s`XaJ;so7aDJK85!>mjvkK8`HCR0%+&v6V#SdXG0`C)>%838@x)a| z@l!>;qnTL(`@D!2GO>{eXf8YXX~nS^{aOGgBUt|89WS%}D~AqO>hgKlG`hBBEIVg{ z4B>0ui-RS*ep~$1OG`|L5y(gNQU)|l-(-W|{ZhLK3*luczP4>JL`E@|o?%4)1K4jMqNabbm>sYcO_3P*dw7eEYKL6cNte4P*PU0QCh*kLH|$WVH*1 zaM9%+W#$iXuL>V-eBj!Al9HM(8~C$$$M}o6jnPjHe~(t@kiOj)gS!`cP-2J>-8G1 zcL!6gAsH=s6*kpK-zA4rU`~n2(Nf9Ai=*}7N|CZ%A55lmraP^tLi>QaySm7>fkpJQ z^D!NMJ21t=vmm*>NOqposXCliUzStbJ4W&F<$M62ufTJ*xo5~wh~wHL#>%rk)^ai}={U2Jm; zke;EuOKT;s31~y`dt8c@o9ZVj3_voBMr3Mq?QdSN*pMpm%Ka$ERw{!a6UWp zF=e^kgYv zw2YaXh)iVSW=$jI4S$+$L`ZuMWJP^T!(d=)9rRiZaokzQ_`cQwB|l|kb{iLBIKnjY zF8^{RufCHEQPI$Bsj;wt*YLf%4krEW6~c-gF%}CXSX`Pe8>h<3y*cAj_P)D*7EEOR z3}$0~=;E<%YB+}XKx1kMmp*l&Zvzr-FBXHj`FJtESb%VGeG&8RjFFVDx+`e7_>wKT zu+LuF&kPQ7T!}w%EhbEszCyt6w+HN3nu^^3sotKKww`-X#WFoNT{XW8NzLhX?bTOz zXrfU~sv&qZGOu!z!Sj|yI@KBBQ>!TBKv|kK`~8`_&KBJVFNypL7rOM~P+-1I)}Rib zK<1gZu93OOH4-D{JEPC18gko#vYd+!;QQDojr=U94Vky|-jp@V!v+(oE7u{#tt4<6 zBA`e~J*CtS&2GJL`0Zf9pN*( zlL8+!9gIv*439p?vw!SSC>;6~@#vqMfG8<0TRv!`WAfodluk0NaQ()gIG>z#bTPdG z2%<)ab0EOcBE1lNShSMylv-yXQdwYC(&{ToBAYm$h!?}V8wagIp*#TkDVy|k#Pz7J zFt9ZZM`W>xlDe9%f0WLvtP8V`s8DOwgPBEX)lo5fT<&709}QulbkoXQf!nB1X#evx z?AEd>>^+X`q~Ln5cje=Q*NALC|4%sx8SZ<*o6Ax;-G>tkrts zKK2Ba;-~SVB&_N2<{VTa-cL9wMfUo%VMU3jMklD_ZnO7}4BCQK*4SxO!I1I4*`tEoMCgI31?p_y9hRPx9x37W;wAezLF$~zV0jMm1(YDUfnJyq zcodX%#_`bzQyi|JmcjCT;2kuYZBP(FQ9HB*A)%mx*WAOy*1^Fs6~ykOm>4m_w(OIn zLoD#~!lKMRMJ%6q_Gw;hmKv?jvV73(*QP3l7%vk+FE3dPN?uHXHAl?KI3?3TQwX`MDSwJ{YU>I>* z_~X&@;Nj@a!3=)%(m;yTRQ#IzwO?xW>cX%fg3h+e1{em%T}M`1sB+D1V>w;zXKyLI z6Uij0B_{Aq5ZZZ|0vyYF_9V|WDbMhE#e_XKB?{gYPw=>~9(tm_wf1ax5tZA_ z*uDmghi}{5>+5EBK~G^oqdQE;XBeKKmsL1&OE?NxBE4^lAmt6$(f!Aknbx*K+}`2Q z`_usug~r(Z^Fug)n{JZn7F0d$QL5(Ky+IuL`j0IrL(VzR+(58+gxVEv*2J;;ekyO| z=#2M6rmNpK?2{CBS#qxT{Bmf{t~pR%C*s8hs!7cxspBn;IQOuvDGw zKViwZ+I;LLBq>@EmS~r5r9&vC1unDIY;BtoUs9p~K3T2~Oxu?0@8T(E*l8U`z;ZCh^f=Fbt-p=7sU* zn23UJFQhaOBGC#{-NE}Ua<$B>6d6%y+POAFNWY6#Yg%})r>HYbnW6s$t;ukbNh?nK z&VjX&8KH34`33##$ytjz2R;Nx2`;Qx{@^#Xz(5P)bB}>kV9`sU#om5^_}kXI${FrM zV=rDw7T;sx)AdI}u<6yK*Crr07mI~@JCGt{m16=TBJPF|v>uY8vvsKBEz~tNj4R6M&ucLxDP1HnEA>= zdmUoh+ZCM~K7zy`$eZm7jAWdMnH`q6K75<)$Gg2*#gt24RVpVZv?c7&&LCc_d|DH_ zSQlDDk;ZqlInkMS@k6+>7iRbt)qSx*FhU<(*08*$W@0Uek5ccPt9?LW6B|I69NB^X zN#sS_szk6@28q?wC#fKO;}G8cg6|{<0x1ZJRGDK6FR?EBMV7-~5p*c941@WC`u%Bx z-#6l!97$2ceUXo@)^r>Iv$SIWkFK{2iYw^awL@@shX8}SyCpDKaCdjNV8MOx;O_1& z!QI_mgS$I(c%JuscB;OgQ#G|~Pwm}3t5;w5)fK; z-Z}MHXy^kw^x}5kagfzkJJv*kk{5<51S=fF;YJdHySAQgBwlO3d#a1Ghpo?IJlPAu zCKxj;2Aa(7T&{gDhfVN+-T;``_d~%*qSkMxGz|AneBS`<^hs;Sz8PCdNu3Y3aCz3= zv8XQn8eq>{dt!mDYNi95@LrJRD~qRh!t}50uPGq+25&~0e29Or^FwVM4?uIkX#-_J zQXuIPY{570_SKOWe%F%Off2mBFx{QTY9Q?lw;FK2tZTKzNZQrcN3 z-~1L$oNga3hgh9ngeru(JDn2D(_Q)A-}Q%+`^JPNK-<+x8QA9@g-0on&PVTeFV#aV z;iK(xQ|Zm2^hL>UNJb({VUp|I#~C;n=&W`5U8ITgd?}G;0cYFKSe%kJ+L$Xh*C{L& z{6sN_zB~*ZY^|in3r-n<|)u0lyzi*ELMaC>-zdJ$UsH_Z81Z8 zWF@sS>n<7U@(h3cez2Zi0O-j`jN{-!<~yXYc7Gw3HG|Jz0FHGGMPFQ2>e8GGd_ieM zmBHFE#}B=BPG*G5@h+KyMz$6~A6^L}XU5}s)CSY_zHcV8JK?W7evIlc=+5d-Nwut9roLt4Kt19_7Cad^M?Cforpub5CvS{ zQR-7)8DffzccC*mYTEYIKO2$Npq6m^m(0n(>i)I5i||fW*6Bim^qq~JsF2dn z&cpjXHum}&>qm&Y(>3CBZl<0958+(p;wCFaCwlY}SE%u_4sp#L!C=3{M9L)QSIqyg z!ZI?w%=HJm&07bb@X>WQbFk3Ijoksc|JhjnY;~dqxObR%8Qtyc5N3W5j#y4UE>n>% zW2_uMX(Y@?Fh_jt{(!Dg4aQ#pLR2=wkI@m6*t6yFc!Q{~+0mR*>>?hy+JChWFvA*# ze`z4qeP{CaDu}C>w3X^gi6+-44mKx5<(Y-G)jL66UQ&VSM$UpSN>#N!|7Qd~`Ec*I ziw@NHwEs6Z{_`MFhM>Y^XBu}j^ibBxVBmfkZ3f+!p%$1K%)#D!t@F@G-U|745KjQV z1xFuR37gy(hn1U=FHNrQI3CE&{xYmB2L(ELifbghu{1benMb~E+q<5gPYQthTXTdF z&D9Y^YOWuv{wimCbcKxYNwj+P(0i4b4vT{XVGECt4>oiz8I6(~!N#6cAtw^Mli-Vq_D{ru zP49zN1dV{U;J%l{yNQEm)$6R4Mt@>RI}2VwqP{N)r-*~T+_SPc+RCq<760zqOT=WS z$u=lJ_%+4g+0)7TdS;@CtgN2irHHD3D*DEJHxc5;uCZ_$4A?ZRmQSBN8^`NIpIMMO zd_}CDRiM6<5&4}sCx-Yn#^5X(D^?}yYoh!sIE3{HwA@?To?bytX}e~Zz1xg0xA0rRClRQH z3o}u=I$mc5k;xQ!YgKF%bX1RMjLJnM6Oip#V931{tOrV&D;vnN_m>59XFa0$HKMfl z3I^fCYS+}$lvW72n#wjzf4@23MW%0EvYRCx^oJoe<0`TcaUqCv2J84qU_yf-5IsR3 z^#zw!SXdKTO@M6nH>B0;2O$TN=%*cumx*JTHm#;Rq~Wq(V9)zllI>H)?29(MiWP3{ zV#~o768>zWHAX);kTd~u>M$VDoiI(%46u7itX|{Pb%W&N@m)}0yvnTpRgZyZl zcmFw0Z9M_hA^>=uf9--NcJ4BErl%VB(RB;U$i@b7{0A}l0VIl5(8>dL_FO#I_wO`n$KxMx6$5jZ4}2}lf`0HoYz~Z zUn6lYy$`LTjzFBgTKwo#z_EQ5{?F#h9EI^?8&&LLbfD#z&fiw-8~M#3jVF!6ze6Ms z*^zn>h|botq)+Kt)I*Gy<)0c-u`iJDE{p;`KA? z`llx1Kp^11=?;&;D@`93=)Tp~IRjRbGxyoh&Bx2x?sq)&PcYqSy7@1?7P?~Xtqfml z2(PhFELz(nP2dYFu>iUUqq_1wwv&;i^gk)K4pHn5Xjv@YzvBb>wldHjJ+G_1CX#Yq zWV-gVBIFaas_P>&l$hudk5m|}c{=oqgGcM#=%>*|VJ0pDl^}}z)Aw6wN8fS}k5dEN zpZ7SVT*ok}1ULv2sORpYuWoxD(=5}aN|%HS6oJ{a?~;W6!6S?pZEt7HQ;!JdE1JCAVc%UaA4%o?1XedueQhH1;J@sry2mvTzBW{Z6?!IIPNAj!GN^C# zFR;{1gD(+!c*ML|wbgHb^>weELYie;0R_gMvY4L^rCFS}%)iys&}c+1>4CrZKVEKO z#>9AFfnQ&YO-xO9f^n($B!g~b3u(V!d~TckC#2ib_hsvJpk6a1A|n0?jo^!%MgAr{f1@Kftmwv6+ghKtf?3KU9jT**fI%|`~ z$hyOTpBygyAV4rXG_SeQLtAY5ZioowdMj#1giK{YI(D+8o=okKkW$E5ynua2Svx%U z+yf>SJG8WAdD_wwG4;GH&?Rv4yIqcNJv#RN38pb&L{cTzt?Ua`%LJ_wl#>DG9X8o! zx_g08<$q3J^CWYzdEKd&8fy^+EZSVx)#Re3f%R;OJO7sp0FF3J9i|)Nx`+;)e-c0gz!GGKwb5q6IcdhSP{ z)~L*i;cT8_Fzn9?TUO`9on)%=$gotEI6#K?UUuy1NemmrqDA;9 z0OU2hdbOd}JczH!k1N8X-Pz_49tSs2-hV8mLkC4c-^C2 zUD=X-rlBZg(cO`Z;X@CVmXtY&^sY{9;-GaE!pg&3DgxwPSJLY(LkZv+4>g#{j{Gv~*Px;iAthM-yP<4G2w>D0th%DP zCMBCc_`+&aH#SmL8e^f}@r;3QB2TVkVObAW z>mJ6mdU)Wl5XMXnyogGCC=nt(`Ath9M~5Dk+we6JzLcp#ux$Ns9=reAlJUlG4ILPd zpSZaf}f6y8mE1jx2HLhZFigp zI$LqBdR5BLMF)DDdaC0Nn{{I~{Ku2|v1HSZWdU2q#Yp9D%Tz$9VjxVmfM+QJ>TeZg zWX{NBw2CF}FW@+wuhw{1q@9mvOp+i4p>Ipk8+lZmEm2$Pe$d2V=;XP?;XgRl9K8p) z38Af==*a6KLF7^}w>LIrHBr=SziexN)fMz4U-(H!JzAWF%cSXQULWxxtqFW#)U%J& zjejhkY4Kr$cRBX@_QH~3mX7JzF&wm?SOjTk*nKFfJk|Qix?{-ti1O2>!gKIwNd@j| zSrD&EP)kilF{Jr#$(Ge?rm!3lDn;ELOUYt|fZb|m#qqCXX0<0OT zU1xSt!U((;Bc!{IuQ-YQK^I~|=;?Q~Ih+hcKX0)5wt0g@K4nJ{|2LAZ%(>~b;jVzp zFmXl|cDKevox#VukaD?5GjnI}?yMxroMgpoZ)m|pSq2hZ*RPRjwcZ05N{CdnW#+Ho zEf}A6SSf=EN)xYSj)Y-Xj{w1;oQh5!GR3#H@@<=R;hy)cb3C-zv`rbF*c|joirKb8 zJnIn{7BOW;Php9@a}w33q3<4e1F6%*@}dXMGdYjTAdu-3DapF{I! zX#ZBU;B4?N=0$mT_*(4CkI1D+&}mDGF-2p0cvpB|TU5<~1?q78BGE;_35@|!4u~mDCV7sHr zyxee9eNW=A9z28lS?&2~33Ym$!g#k|VoY`5zD$swW61NF@Bej+I9Qm{kLVr<+Iu<~ znE=N9>TQaT_!SQSiJNmSOh+5QW|c>n+3;qVhu>#vav?bMi}mX3r;wi99dPBQULij( z8q|m4`p{76{_M*fGyEEwO|sg%^qy%*wyVjVK0f1K`mb`1FIGHIB(FvuWwC7c)xVIN z_uoJB8{XMCr9wr&dNYU85NI4rVpm_cwrLc_zQ$&OHo-`)tueCTb#&XtBIB0%=$xJ{Inww>vf%;+$W_lT&-BDxU!S;>l6r9jt7>@lO`n9!I% z)ff+h8`gQYX_A+q;=n)w|Z)L z=?6;8kzJ6vWpIpLR7TD2pPMshDzM5W5+cq@QQQ<@fmzZ;7}f63yN`b4>R$1kyf&Lk zi22@!xpFGmMZYdpt!&XV`(5d}`HM9GdYV6Lr1q0x<%Z&IkML@;p()O{ZT#~J|L9j_ zRc<*uSk3qhwJJAN96aDJ=DF(VLV$wnBmMt4e6%fq44SP7pU#2Iq+2GbiX<8Zm`@E3 z9>j02pB~fb2Gp*;ANQ!Ok3=Dck-G?&nlJ!Q889l0O&*$hCd zTATL@dXIpLKS0{jFH1>H%cDwdy0YPZ6!y_$OC5NWHfqfiKbL?s=Ylo5g zS**76P(@6dN9ucQsD0IC?3?D|RVG8JWJu_#bR}@L8Y!RB(54H@cFjl(#%Iiy{_s8e zrnDti2B~{d%+PrJPUWyf?s)pADX5bQ^VJ`oJP#E7&UeMxQ6zTa)Izq-n-T1|@5Z4I zd+#y&2*WS;4;zlh=S4ZH|5k#SAq3;cfEJsKgOfIiFOT2wdO3lFpH3AeZ^9h_%+dMJ zA?@-<5?orY*=&I9P|Ef;-?MIxHyGLCoctp8>i580i`Qi-71m~fop0PYi#x9@72eUk zKiuz_I(BKUm@AjY@A_Ik&ZxYR;}jE8ix~!%nnO5~^F#Va$Bdg&jv zK|8RD>@{`6p67;WuM@34eBttMJ~TKD7!I#RoC>N<>sdd zv16WLV}zVjPk3@>2BKOv&2K!Cq5W-?-(sngL@1j}6a$^kz)AZY4)0r(iYL2C@FT)k z^C`XVpu;T+7iQ-d+Oo9urr_AMEAa@4n%~nBl4D~c)uxx0X*$FCK?tL)1YT}$E!g50 z-x%hbcs)g8yMm4Dr*a0Qky(wFNDU7sAc@`!pC{j?Cx3@5hz7>~FyV9j23st)%~tty z=Ixn<{&}oyu4*zM7G^T?tEX;UKO)TV zY^T5fbY|TvD%!j6_qf`)xUbw5^|u|-2izk0Jl}pf+z^h5Fy*n1r(^Mr?36p{VaPBa zU61EWgNv{bcVXcz)qYj2vv(yQ0024jxZDy#C7jy7nw) z9&2(=77Vo1_~-m%Ve=_PjXXsf<<@;4-i0ekz4bGEk*+qyLn(x@z&E=3xoLj*>TQgb zMTVKs$x%L5&&>?}1su{$`WY#ci?5I4y4jrVMfWC3?{^h?lr+VUkc~++1j(kRtghO! z(&Wp@JNR$K@^h>&+*Dh7f8i?7T%`Y9fXrXnP}d-4b>PCJCb9gSU0g5hvBsP=vnZv| z1KIgd{1FX2y87L_LYJ;vTO*9UXchh+D~rB8oljYq>f6q4&o4{wv!}DUtM|fs_itDj zD~S@)L#8uU?51J#sZO;z!WDPN0nY?OkT>`u`w3VXQNRD~%axDQrU4~@+c03Ghn5#^t+fSR7JRwW@DDe4@WNijl`mk^6;GpsQpNuS%dpdZW-otfm&Ev;RyH+| zsC~axAUFL{>rQPt%3vwq<)D`83krT^d_<)}@u&e$nFN>Y@lcsPaR(9&u(7U|2jj*n z=m7-Rw(Ae(KACvlQgNi6D)A4ga=Z><0M=TO8vwb+rZx^Hy{Hy{!}^ZsV2k&rvCpXh zL{usT*-4S+ulLk6TjgyYZ?WLdZWU|vx|bG_!p4R*wrO8Xo4htODL>?jOsWsD2_TNo zy=|f`N+-&xn*9t{&>@4CjW7`;Zk~I~wQ8h*p%*9|^;LJLQA2anYDeyoYC{V9^|25}ZoSNh=ioD1N~0IR6O3z`uGe3I7KrC3?tFOcVVagW&IH+nHKLA zqXN93USGI1+Twc4l4t!sO%N_EEiG|a6&RaVCU86N^iK`o(2VvUaY|i)ZlYd=tX5p| zy$Mhv*~^fSAKf)B<&VNm{<6k5&Z;_(PbmJh^1o2Lwo4hF`eTwgdFAk1&-C|nP7;RU zKG%mvqo$7b^ZMNVdMC>Re^^{>^oJ^Yv3j91sQR*j(aa=|{M*XmXATcuBxG@@oy)2* z7n_apJlnH#a7XQJuyGS;c;d{BZC@LBKlx$Ghl!)3#B>`i1nd6=nc_n)BI z-PMX)wVu%7uU$lqnrq4;X@;+t0yDdgLEj;)GT z)D~Pq1|ynLH=KFZF;v35i(ko5Rnx?4hG#bWyo3|2)s*pi*Pc91teyMbziS!jbWMpV zkoT zAQf9|+G$x)Q3l#OY>QzRF1{VRd(P1%u~w=n(h=C7OKNH1ITsCl1s5Lvu=M_P^~Ozb zK6zMxGz_9Bd~cSpBv#`po|RRdgtsTBs^-VO9ew`*JPCp?^xr`l^jThn>j#Axj`AoZ z(OY009aWYQCyKAC0e%$Zk=+`aO1X8*V%zQe+%_bL|E)SBqk)BOr zu2g)v*PN+O%_?!(*%1q3)q+08+bJtiy2m`~27yA}{gSleIdrci1Ru)N*n8W*|g~q10mZ->i zCMUzQJzX0pOd@@h*u-i=;u#sQm+OgrUY!lY-0>BBphiW-6S^8+*-br$L9e&tCgtUj z5I(MqZ*Ih?Ak9Bv;vD=5|piA*AUM{@c?w1FuyZjO4ia4G_607hYz)Bjr4+#SW%T$C2A@==fny-Wppp^$~y=j zd-!&n6)o@wzQ`CJsP9Wv7WdgPUaqRb2X%vG65CC~pfdYt2F3q(yzKiu*>t_==}EcF zBE^5h7G-ds8Hh3fsVS=)w*SxP$dU@*fYAfvp#Pe5zZLMUH6agOY$Q7Wb5p<6)BO7% zxz7~Y_F=xeQr95?72*F}rOSGGI8NRXg1>{;NVNPoGoT;f)FF<|q z{}Tw1p_hN)k28B3M$6z!1sO|J=YzXjTeAK{3AT+1Lry~O{eKe<7OR#Fa`7br{Kgje z@}FS<^kxflhF#@bI*s1 zWCligl%49D|4RPNnsoK*ro56RdQ}}A9@&Bs1e!XCTqFauAQ?Mi zmx}V+g0dl3q1txCLLnXNuaaEnA#1^pNzAOK4`|C8{COVlc6^6Kjy{B&Z>6|w^~y7a z$8eb~;Y3gig+ZF7t(n;-b3gk;BcB(Re)TRuCU^6}oeF=E4Mh(1>>%aDbIr;EY)#{DS@-^n z{*SH6fc*3Q`F3{7Jf(-|zdYf%y)`Tt=y-nRQi=Ch8yl{L?{|I;3(3-)ku;V$L)B-6 z44f96llDx~=m$Nz`SZdvwFdnwq;dSkP^C@|i5 zsZ3-NHTzG@=|8WoE>wyG-gFn?%foS`_iK#dZh^d^ot=0;PvFFu%Q3v_nI z-vzYVgMjS*^%3TqY(=1%A7b>?!pNu$UfJ!;`gi_g0__PIgYCJ4VBDe%740PTp$O-f z5#q3J$mq|>{o55`4xPL(2L&8+#}kLu!p)CMu=yq5wsrgF6**gM7>J?P{H)_~v#hL9 z>lclx*20NWf|csbtP-&nr?tv?$0HRelavC$&o%(|o|}rk8j7H@*fiXdN_v*R6yecGG z=xWfFf3V`Ax(1RR4vL*$_*6qx#aEbwXtu3FVZ&(u!$7aE;8u)w@Voc889?(SyM6)3 z_#DXlX1shctUV%8#D}5HmuTv|A9fn0l61a{hxV+ITkY+Cs2bX4l8lVd^0;qP zZ4&-X1^I<8|FtJYPL7dNt8lo`fumD(Qq2z3dzO&RmtLxK2lt7W2{19i$5WpT4kD|w zXBu^>>viY&dtWW(B|bUtI1#X~*m#$}9lQe__Qyx{Y<0hWa#lHiDk*m{;#eI=JZyxj z+JudNCyFiozNo1ikJ&I6y}JG?Od+_PEz4J`If%b>d2~^kWG?;aeOo|@cEyYS<$L&NPy)ly)YcNB>om4RZx#QRTd!w5YH6lEmp`O|KJ2vTQL#7! z5uN@TkK>(21VCc@_2%*r+0lR8_awpX2Sh73Vw3LBStFkfY{T8)p9f0C?m-OJ>k*B* zTNod}dU@in;a@^;o({ia*p3#4BRZv@YtB{R2AKsyp;|A~1iVtdj=e3e7S2$Yzoosh zT55zfehWc54%Ozi-`kkUK8euLjmXhzq)WMf_wxScdng9=scS<+gK`S_5|5_a+5lXd ztaNx9#&737pkMzR|KR!W)c&A!OGD=8+s!T3czPEUzpKglqx__qN$0|I6rsc36MVl| zK`PjibFA5>FpdnD*>LOauViHOVmKNmM!>zkmp?50^^1TM+}D6^F!xsx@i*Ts@Q_|d zVIk$q<7t$--bENd41pZLhJlD%rSSehGY7}mQEs&SK!TQv7mAa$phSEk7!>b9rb4?L zc)t|AeOOO;Ew#~!r&7w<$zS^u9SOJB-Uz0U1kI7PRUFl8>CEL9*e&2>X|9u|b(zm- zH&?7=PYuQRq}|WAnmEtfXO)U0Ke+L=k}|_0u=z2f57bH!g;1R!cJtmaQE$DGS7!P2 z7cQTv;=Izq;RHS?Gv@p81tln@Bq(C6ij<52f~j+|gsTPcppgA27ur*w%D*e}s~FpL z;B5Mri0)H$Yq;PZN>6PC14M!=6w90V&8GMw2W2~E4o&sF9?!|dcpSi8;NM?EAGUyjgAF6z9aMURTFAGD zSrl3+Ghj$1Bl`bymhAr20OLS%Q-sLV}v({u^S%?;( z#-m4Bc&Srsp9$iIiwVQ-@|WF;7^9ABCi5EZeg7x#h|52#P}Bdf@NlM7&T)42Y9<~X zI?Uqv#ojjqF;e6a2I!8)T5B^UJ5PI>aqKmCM;D4q;IaGa%N(C1O4Lbo6w&8$VYmRX z;l1m!1&>HdbYfIlh^#@_t5CJUn=fNRgwTTboZ#T-O?> zy*oItw8dN7EyqwP>f_s1Z%9&U2>Wf;jOSs| z8>k=C^9+rP?m_!A5u3)YcsO+UbVdayiZI;{;LwN6=i!@!oO*GKQo6X+jvrVW|Jm{- zMPOwOqw{`gxEA->+WcNeCKwo&eF->+%R#Yq(DX_1fQtAKh`7Oy=w4JSCRU8)AmvzT z*uj|0f)@t@iIV09Q=Y!LyYm@bowkCvV@ME13hBfg4^(Pqt1M)Na5XyLUszl(TXSb` zeFUVSMz9k*T?Nq~VNfIj#fh)Ssv{I@l{DWv&eUx*y6|MwTQb6)qBk;>C77ddbt_Fb$J-^mIToKy{;K*npz*{JH zq%3k;YX2k0gt8{;u<&wH&QHL^z#u`J$!UXKIOfY}&|R($vX`RHXu*iC|5dHgsqG!c zbw&FVGN5|Qb9ry|91no?R=afh%}7c)u+jM&C8soh8QtZCaN%&Apn25ge#~k0?s6eq zp)ERLv1cbj{Ghnmt)p`j8B+Vz;lmdjp5LJj0)QP{v{DdC-*d$}J0f&gd-}^DO#AE$ zc^`o2PCGPbdJGSIvW53JN>X+NJnH@KXV8M};2k}M{gqHA^F_?gEz|tP_%I-ouQ6EA_5oNI^S$urzCv-+1vvYx z*~dq#{r+GK`2Ej8cSxpL7#x?Q#e4}@XZi>H=C?&uLhkci@SaPTsElHbvr_;z`bZcn z>&e{gVp794gTh~LSk=b&7I}pdNpuQo${BksM66FGD{^RO)#wQ_9vl@;N`b@mgV`E_ z_aiFprO&dUK#uEkSPISdzY1p0??68~@|(b5c(l%F#HDu#Ha~onw<@xWc zzBj39Q|}-+iowC&l`-j9OfBpz)aKhVP0Z_9^l$@O$y;-be6RAP8j9Kd!RtLxt2bfv z#f298f2J^h^Dhv@-p@!fDn%)eXjgX(a_R8WK_Q!c*O=zpzB_d@6ifQTd2k`mw&JuH zMx|i8HwUYz&dH7z8j7MLE^D8_AQNKcfTJFTiBCrA9fzxM9W9e1{S3 z>zT&YNy~$76Pe6a3Uc2_YdDP*lFw?%54YQxU0~Mfm(%qXs>SDXVJeo4ysCMiV?IiKjP`6T~<9Q~5)n(|j*N)Qo+4f;tm+NKtvD&##F< z499WIy^6(IcDb>K3WcRp%2TaOz8-s#zuPcXQ!B5Ce?e~WgM(8xw1xTb{=5e}<*8!; z3Kv|=!aLmVi>mZ7oF93^2zLUVkX(yg?01f9#vRbuk5*63Xci4I0?LJvf{SmU;a30Jl_whOfkq-0;7?-<4l?HLytUz*w}G~o+M})xg)5!R8Pp+mm2`#yehd&<(Z-2Gr%-w9n^TT({ zSsE`tj#Hr;%%H11GnO7_;*U4jw)XkCTt_L@tSc_{YG>g7=6}7bBJTvu%_1 z+OkHz@(>pssnJ8lRh7 z&$2o=uz-$5Tgs}4Os`{b$@FF65FjJj#m76D53 zZx=^fFa*)Z9=CTU@mw+OO%9=@Bpw2PTLZ0%5H&+kG&*CuPE@d-p?Y23W{`hy->|cKc>$13EskG=ov<@-n-9z zzZyJ+ba*)Pc;j({Kq2A@FX?~9`+G`_)zBceG<(mQ_gnp}#Sy`$fNN4|dGd!PXH8R( zL=OP2Se7RqIn(Qe4v@ETB0ul4bu*zjGO+f23Sh2)MW^-!KGrf_)wyHY6Gw>(JH&LN zvm#V-R$=*WRW5PEQi||jzVc&&$*N#ne>~NIupn37AGaS3Z&m07(dC8IpzpTnMAqU6`Lq+|D=L6>R-N6dDlvy zqr*m{sHIEihnq27#HI;LUw-o?%ydmJwMy9EHb7mBJD#uQBqAnuc$H%*^5%z)NUl(# zriTwB@NeY0h{p*mb;qX7scV?>(Ltnki7C!nqp&yh+5v|yL@^+mzKP0~wEp)T?M zmXc6YeVEA%$YOzO)+)}xeEHKPf@fJ@^AJQ8ekDm6#Z!%8nfFwj_P54E>boR^Ub>@< zs{Y##-9p=*Gy<6#6OQZ`>sVfV z#loLrJTs^}`0NJ+T;2z>pVEfb7M>YP_gtH)_sgy&gPY{+9J`G)9tl>1$_)szio7;Znl`|rO^|Rt*7JfxOp^qx#NXvcVy?E$kNydi!bt*t^ECP z6o9LLRwY?YO^h*{&Q+7^=Hjbf-&Q01q4QJAJr%q$Y?m!x{^19~ywiWJ%p=<6jWm$_ zF}YBpiR_D)Qj4FIE`8h6y;%8LW4q=vU!fTcH`e5CJB|1&#Xxpy(e}l*5j5P}a2bbl zF{h)irKgl}0cKq^F{p%D3~;!+QyQo+?Dpt6oGP`J1_<87Hl<;sX?j`Vb9`GBTB*;%Uc(~0wF-Gt| z_Bqm1VMzosm)~DGP)G`q3ZU0Jcdrq0t$EJ{x9BRe6k;O57?#;FlVhSWC1xZ(iy8f@dx_cnb7e4;oSdxx1HraLS#m>|k~TPlmvYBPgouEN zIFtUA?JP+CcEz$VzMc^wPP}h9hLBdIw?Joj!lJ7MZj#L)ewPK|!n0qwNb#O-7FeXEu z!m{PgR=lZ$Q@3^>2)8bopXXg^G@1}RG#}*c#ByvbS8>FTLzw*VX6>>}5vc!pz8W5@ z&LMw5SW&KhyF|aS@4a{S&4Ns2>qmUoEtzDsRBrY6u+@U-Oi8PDGP1#Yp_eONm#-Qv zH4!%iQ~g8DbLOYSc@I9hgmmhqepfYcHI@)#mxwrf!?Bo0%e9QFb73s$(6un#?b*k7 zXS1rRp|XIBP2|siLdU|5hL{F)9OgxI_N=T6JgzfNvFMtlL4Qb--2|<{C}E=4s++*Q z7O|!wC>YSY9u(O~O)95z_=y#9rSV+RIbG&T{m_&o zE4RApWhjZyU?TmJO6#xVPk{5iwH5aBWEt44zQQrJ(!)gh`D%&i5dDk7EX~12cSrSc z3gl#K4(25BsFR(6&5gt^oR4oN63a_px_%}JwqoHVRO9}~J@oe$r|Cu5l7oYy`|PPC;e^L^e|O_(%9D_zb)^-JvNRcNI9 z53CDVYm?<33Cn-Ky|F^{9N>$FqA1L;W-rK?Mlf9EIu|jzRXGE z`+dYgmf~kH5sKv`GT}p_aqHJelhx2)Fc~@|cy-GBvXjCyGmOO;@2!=BU~PrPsQxW+ z7-}HmO)9~D17QeCU@=~x{jIl*tKykTgVV59r^8Wy*#j?teQob5v#NZ|QBIX*;ou28)~C*2YYxw6NbZLBs&lJ>#XE3bNvX}E%c2LN$u*(X%y zsVOGlumKvCKfhE~#2mk{>+WTBSwL-S&2K7|=jwB> zw3WhE+!HVRJ7{^+JY6csx?jVVwWw3){-Z*e0P2Cd2VG#f3o6}vos1np*2|k{B(g8% zSIKt*R0bIni{4K9<&3@0EenQ8pq*nu^rv`csmqp1BqlHA?7b-XMz-hi&!KWhf@sk# zuV-c!C&09mXggvA(j}kxrpp{CuA#Zwy;wvFFpA{<(BUU}r$5m7nrkLfdGec_+Ni-Y zi^sC{x8>I9$GcwlOg=UGx2#Qp;I3Q3zPXsf`=RWMUoS+M#*u`Fw}bxhs9g6_AbDT} zPSi|+6lBLL_uAfVQ5h*Ot9F}RJ)r5SAz3P9GIMo%FiLy5?Gmlki%rP z=Q=KtM!6NsR)f(Z9}F9dIf=(-@+EkAO(s3_3$W0NhUIwrGI4V|{-N!c(zuy)JJ+HR zOF~JB#i|81=lG~&ns39cnKS%EtZcV?{Oe+Rbs2KpB5k_RTbnE9Xfk~u4Dv|{$JW-k z2@g8`CJ>HgGtve3MsTK9l(5&S!)h?S=fcEJDc1|XG1eT+ddRFZ?>6!e3UMpF0%7YD z99fZi^ye##vJ+!qvlySz=jqR-6q_E2Zl5p4t+1`IaDE{d#N=u~ugXbdmtygp^eQZz zt@)w*#^TvIYQE+z%l7-B#cO018|cttaAp0DMO)Cg<8mdC3iTW@oKU5^s$4P{{hKXs zN?H(|m{|G)qA7=8u)YG{z}!5albU(}TGjJI&O}}4{my%}drmxVHH-hSni|kTLWSp{ zN06G7*h#NcP|*rxvstc*YS5XSW;{q<*(^|mZDAo{ylawvnQ}KAeFAxG9;Jf zd8tfQ^zL{AosjFCjbT)Y53tP_7lvjgjHp{I1O1w80N?Rj)>}O8FQhg7r{%ZGn1=F% zJ4im0&*5es9dFWPcfqD#a=qg>^x>kZP53~N#C=u=XqzUd)z}%`F8MofY)9B<36nID z?-%fBpPr)=cbU3>p~Dj?R6g0YS_|1l?>O`{6qW35Rn^q0*Mt##j)wl9{tP4p8F^OJ z>z&Mm(ptfrmn$T1<$5&0BpMw{6eUI`L%nXX-%oaKn75EU;4-xIPj zv&ak$s_DjD4$X(o|3%kZM%A%w;i7>MG`PFFyF-FQkl^m_1b2cv1a}DT?(S~EEx5b8 z-6q-loO8#!?-yhBSiR`3npHLHlUeJA@vI-CPx(6@66(9Eev%%AOa`BYtH=qntmI^* zx}ZHV#lm=LDJ;UyO3yZUky|nkIe^YCcWhXGrr1+NVDx50DWeJ}2`0bLm3@vYq9J60 z3SRG{Iu6h`VArhg8yAr}P>^ZfLC9Dg=LtjF!d{OKz7#24Ug2fGK0ch8e!klYvu<0I ziJ*f21%KTofxQ9lpXDBVmPbWx%eRIgtR2*iUS8TU_+{z5e@Fbm2s6$@M3<^v#a=5( z>^BK>^j!~&dteN*RD@h7A?*T9mjcIcqvCI-RB39QqHQXY5gZGQxjQ}4!||uEa`e*d z_$fEXhFnu@=Sxw&9iQ%y=ZP_87Jdl5?x z-wAmU`Ue^o%1)ur6e|OqhT1YFvlr9F#IJg5dc~gmmddSB(Q&-AJ%we#cBnSzb1F9L zl?YmON1YpZ?QD>=wG~q9lNQ;Hn4^u}WduQe@~J`sZlYBFR~bu=ICk9)_5)X$gJ3Tf z7iW0b8B0%q(OBE)rG9uQ(L6`8WZ`x&3tR=x=w$)d6Ca)b8skkZDlAe68`rk3Pja#v z**%hEx4yYqDqY?!=GGJZ6paCG9&#qm-#(vd&>e6s7TS5&$WSuAA5HqDKq{Tq5=SM= zWEmD~nus4vox$@-C07>- zbIomV9nK}31_}k~Y^$((U(!!Om(04Q(YTa*_CSYbKIe!3?!axi5EQ)!SGJX825(t^ z{>jc$k%>o%%6<8y=eKW;S+EY~amNR0u}=*ux+^V)99}O(CHpxU&jlFJ<56>%7>PIa zixoW8Eavc}s1izk;Ey2d$o8~b7ny?n9bVPrsk4a9N!R*iM^<75Q6j=7CKw**d#~1u z@2Vo9yH9;|AJe#Rb1$*GR+Y)n7i&!6QWOGz1z2Wf>jxdF=2iiRRR$bv>BJo>XSc)L zp7>8yUq@0Ei|-)hb-k!0e%ik0Gt~`;BqPf6;ts}JaHsNE7g+54qSU`CO~|!7lK#nD z>kG+87Q})LlwM6?9oAF4@KlQB4D4w?aJT^CY1WukgE2vYV1G7zw_jkjU z#DI|v7h!@30jL!QI}6?ibjNg!2(if!F-AgA`eiQf@)xWE z7P4r`fwqypWob{M2wd(sEB!Q8>?x)dNKOtErctH2fczA~POd5F?vN5Zs{@+JBX@hCDw2PwXlI7AGM|r`#4RV&`HGt*cUy4XeN+#sVH8~RDCFDXr;rMzI7fxTCKY| z+wGhfR?w===^xJ~XMOQfC>8@xez}xMi54VXzW&|5V=48Ya;q=<$dKL-w!OZWdo`X6 z9*n8Yp^R2!ygf3^EzQViFX|g-vsO@5Q4bJaYS39uI4}~~vDjg>MGznfxhdTx8{S{cH1#lF@$L5eUs)*h4AVPg?y;qzQtE!*5iI#I zU1y1$3)M-oH*$);cC|ku9t69|KUMC&{u6}Ca!-_S?~0NJOMuL5i=W8b6TTM_GjlLp zU$k=Xn$U*kB;u^&9j&^@Niu8q-s11x6@0Ib75wlo9AM<_Oh`A+6@Gm*Dm4^Q1Y z$T>vbCf6=yJATiaPuGhCM2f$4bq&MM-laJPHa10*LqdYOAOkDs#g2!|iLt}RiJ>1k z&$HBn9lQme_L?A5U2vGxqqix?^2pG~Lvb#1$i(C>j5-Md*tq7TL}QFuR>^9$*KCDH z*u#`B5K**l*VChkrj0S)5>3pO0o{@cogFHWeKfaZ}Z8L)u+zrElJ9GVhUPxTLtd3b=Ao^nm9L8DzmQ`4Rto2;n zW*ANCSCu02;#tI3lHSi;4#t)+vtYXI@4gASww(77peiX`s{X7U-qqfAv3-#w9;Z^;~B)Kxe>qe$H zqGdacDX&`{iihH90qAyq z%cu6!SjO!*TH!!4`%@UJ^(-W>n7aS&xTiRaE>gs)ln7GN1CODC72RsA(9A)FlDsU_ z!ld7*>;`36PUduxVz_%f$NFAnOyo2BaD}#=={9j!hot^a*dWI9N`6QVvoe2mi+ui= zuQnE?Y^H#z;_@reea`*54ApRw$QKcPk>4%4brk+D5s65MM$|jDWZa`$%8q^+tph(x zQhW^atqZAvD3QT?%ddF)n0zq7r2Vztw+jKvn6+0JZ~Yohoku$*MRo_hK{6b7ru0vX zFh`p@-2tVMV7nNcKlJe-pC4Karu&y_tjb0}6K#Iw==s|Y-3o>u%uEN^y?P4<5u(~0 zgS{A6sT;Q=NDYb#GjMhfho$~{Fo;1?@-T)7Ro+8MVWqnhWrPv+(z*0M$ieMQ#>rbm zYnd<*SnCCsY++OP>7Ez>|+UMa$ zr&SyhO~Pf!>?k^mqgGZRzt5MxrwsJ9va$k>s;%#eNF%uTa)~>UU`pa`)b{mz zsd}@xzcA_gBjP7DBC9P7 z#%ssI9Z%2QIB_wUri`QS%-ngTs+g-4aQyfsrsuY+=qQ+dJwb&PF-mZ|Sh&bBmP}ns zOTLmQslT#ZkY{LDiKXU07NSJqKRrW3s+1WTKMWdx-}Xmo&+A&uS>aA!n$HKN^(Ym5 z72$+5B>K^=E+Ziw6AYz4TW9%&>070Ow3O5!OuQj+T7aTo4e(#&~o zI)E$yF#z)x189>>5r01Vyj$SNkY_uzAm-ApTIRyQC9Aat=K%-|_o#k>O>~9Eee9*& z>X=dMd?^JmKV7hJK$ZAY@KI^L$|2vBImB#27!jp}_Xl>BcPhbbxiSpS=kNY=$~7js z*`sXS4x1DNG;;&vAfoCFv9Q?nS@ucM&ab?V2T5U0BAz)X;{_AevhzEiABsdHQm6B4 zdqz_}uZbbK+m5MGB?}=Dc6VW$vvE7eR^Y>|^q2{O&GCO~BQ`^9l=FT1fWz;ZJR4gr zWi>^19h)tG5)%yWS@%)u3kJMn&EPm`d!5yC+*m(IJuAvA69%Ju0iXGNMJH8j0E_;7 z0wfH-{EoqPQSIKdfO195*HIio?-3oAZ#KU;%fcd=`OfEtm>;Lp9msm-2eT(yrPE}< zrgiHrthIbiadqYrjrPgS(V`CK);q~MOx6ZBW^q(a98tsQm|6Gv zbN!4FBe&(k1gYp}U0X`-Opa=15v9Y6hlQxzLgtB*IxnQ_yGH#CjH3d(yP(PkLXmJ+ z7@T#(li#b9KK>beuk8|NJL$x83=_R6uPp>&xX8vw92aN07o0y1j-s~K@j8aaz<+Xk^y{r8!|rMp+HO6N(-e^P$J{$2K=|H9fD9mb%3|ME^cT zb4w_3?N<#>)spAaT_IH}NzA*~+Or3{kk3}*9@EX%auhO}u?RP~x_dvO`t_LMlpe=n zg#4`d#IK&AM=UXHr}4e&MIy08u=u=DsOF`T!Z48B@bIjtphq@(y><&;^B49ma+zi9 zI55Bb>203C?>`V-PT~jr{&eZxtKj!Ed?OKzEfhq!NDM&wz$Ocims1e_%M<#1unkp+ zV(~K_2cO4^&F@C@4CwOY40i*dnuYcLQ*6aTXpjq7*I?!GIdZ;i>WJvP@dz0cqV6cR zRASHl)zsi(t~>NwvjM23E?AEwaZE~#JaS}e-DcrdjivOGVbxPVU6E`Ji(bseH^z-w z{aaGpHnTqqZSR)K zbs7AN%_mEWFXTp<59O-xG%SuQ*IFufA3w(}5->c_wehwQozi?VBKp%^e|zl{9w478 zJ-W9Zd@mnQ`PPjDKZ+q$w#=+27wjTChCSRi5DMk(8fc`b8k{q^Og{(x`Oe=S|EJ^s z{89bZQX2XekJxzaTYcp19%XsLrLf9>R{)obTt;VpPWpp5xvS+NLq4oQJndDxC~FGWW5A#tZ+i~{{-6q z{@ZbWP`$kKr`1iG(hB$cNsRlk!vf`c@Qdy0jwI$?o3%B@?7DLJf3mwKDC-5&Uwt9on`|tF zHr_e)!sH)S{|@W{50}IR-s0!4Tow#Oguv_N2^x|XrQ+v54SVKJK#+_$-tRGTPGwduNN2B?~JQPRkpRxPu4-U(%w^n@mi5R!xa%U7f%SIPn@AXEdM1B4`> z5P44_i#ES=Vpp$3Vugx}3qBhJUO%9*nYN)V-SBDWH{v;%wT>KbzXPA0RZ3*^K)N}; zM`tZko=6_b|I<9=($@EW zUWa^cD_u;7v*@>0Izu| zkMq_$3Jx{w{$zglJC1|tB5)ZQCqvLKJ46840_e_iVjWSTlYabm8C^^-MKA1X?o~%i zb)-&p4AF@60jsHeB`*Mg{2KbghbN+t^R zvB5OpdsN$Dj1CRR?Pf~e$~vp@H+qSBw=TP)2e`i0t(-giC$e_fkvTEm+5lTsK_ys+sz6g?BK=r5CIPl z652hj%|T5@o2Aue*(pbi5YS3d0=HYOm79p@=o#Wtlt_O=#Tg9|foVgv#k`Tj*ilHe z-V@@=ZTo}kbytShh=`B@$!yuOPsR@2*9fX&g~E6A^fE2{J9gE?%u$_f1S8_maY-Tm z!hBaAh2#%6#~?EBP9gAkp>f5tx?_>;Q}AUbQwO%RZ^QZ%;Ef?_j~J+}r;p8Ud_Lcm zn}n_&lU>T64SFfb&&gR!0TA>+NlEt$?5iwc7+;xd08G0Blg!|Q@MfPJI0-v2Vtt*= zrBKg^wo-Kcr^Lk~%~?;Lj_d;UhH7%E#ii3cNNGjBm{XN?DkFq>n_DyLbVy$5%o#JKja=y!SJ?SnA zyb`yM6@>mo7V6!ZFXELx0jPTYF(dcUf*Z)*nmqQ2f5@8j5pNteeA0eTvDYHh4^9NMw`0lmNXW5Q1 zrKHGG&H4{1?AFTqk(ifoVul}ke`_e-Z&S}P==aH(+3|hr;^5#qkOW)7V^b+tWjlOy z(FqR*sLAg`4pg_5mA8zq3H&pw+$V{OTY+%6IeiTdmuP@iL_PPOwwkfAMZ0~aK)pU* z4I(4eH*$S(HdWz~k{qc+DjgT@VUBbk|FeK5)0eyuLKc zZX0fg5AJ;bewFfKwak?z0;?T{&#&lkIYiwm+qHxolkXllS(E8u+;eC)3eb$o*nKRr4T-0{ccN;&5K}}6fBx>znq&SKjtoubU+pnVln$@e}Qd z3L6-psMQ<Y}Lny0|JqH*7I- zV?e(Oa5l-~P)}_-jFyu$j3zqTR(XExEiILXL>mmFE&xLX85uMkqKHCFHz$VT(MgPS zG`<#kj(?ziyjZJ1n`rTk;cTJf1&#$&B;`vmQu>|w#A?Xi{%mcwXHM7&RPp+FIx{{5 zJg%Yxrn2WTd0>AsP$mZy2A%GM^-I#-L{E1%N0MWW?AFKfw9{^e#TxT2Kjajivsd%E zGA&VWB0oR277X2$!ka>fi1rs4kM}O9W{d|X zCO!rchIe|u*Uoa-%4S`jNN^(R$^}?F4%aJ^S!8kfoFEw9{`ZP5y2iBXW6J zsd@4s^UAD)$DHlKzss#p$EE*UE~b6UJg3xM)bN!2Fq0n?8JUl-OU-n|&9%=ba-5!0 z=Dt;y5q1G?nO@c&!EhH+{x0xyml^A(27XVSrkavnKUj4@RfJwswTF;A=gG@ zsW6T${fihpb@Jk(r7EUSHu#o{EP+z%HKR33gxQQKY?eQzSF#6d#(YPXd`x`R08(?g z5QsCAD!X02TC!ucM;`mVL?&PE7^!yt-!CW2UrVtsND(q+_^B#=MsVioe}q;ebJ?4e zmZwkfu0w|z1|w-57_1^Fm!4lAvLoQQD>qMju~{yD%{3l*64$lR*U!#kJqK5|>lr8rt(d5>@HzFv;GO!-M*N#uom@XZc;9XiPK-4$7JX32=%j@oMMUlSe6zo+)&y~z zTHl3gB0uiGk>CsLE5^rL-HE90Z7)7L6kQ8(B}o5G;JYBt29JQmbSiv9;$V$tcWfVr zpz0OJQOm?Rd4%dLnS_k&r_N`6h!(Y^^?X)Krle_|z#xmmF+T{H;@`%-gnAk@7OS(pw>}OuKv1c_BK=kDvqPrlm)!muAPuwOJd{(X4X(e@yTW zTD=Bbr-={yjgqjC2cpwe6bg}_dCU$30WOVVvfGpWGh2dVbg428*bd-KvOGHeNBfUJ z;P=-ZH!Joavt6#YB?;A6*7~DqT|C`~hS2Q&%0!K#Esb>?y%hqpdG#09_YMZpo}`)f zJ4KHnIr=3x`duia{Y^(HQ?$E$@A%m5g>?Si_+3M*>9SYzWWkSllk=S z3_Qt00)uNpiV;#iwaj<=(#%Sq0+9I23-uICWKdjqD_$?;t#lA|RJb)=mvav8rJFb` z2!GFn@{iA0Ab*t9*$5Q>xwU1Go78p9N#&>2ut@`H4q3tfF#-v}Zj`PUQD3+}AnDpL6YYfxyniSixU+^jgKe3v}i@_@-&67q|d^r34A_FQJ zOHBc3fPs*^J5g%dB#Y(m<>jkqU@FLQaNBPl8i6Wko75*`QqR|&%Nr*(cLZz`g7?9D zVnWjS5v9Q@PzpPwk{33~+Ne~q**{j>1Vk`=C{6#SYs6qZ#yxiS%!ZWz?7aFQHQLW+ZG#V@O{>E~m+Bkv6Y1HgolTtt^h77jqH(7N^ zKIIm%b(e<+HD$X%uN=!h%GNa zT+ON@;wgMjI4x3$gc4c#pWks^Z%?H6K_N-PKg@RR&lDFYn=i4^Dx{ROe4B=MdlWF4 zuPB=gqL5z{EvKw}?a=i{=e{st&a65rxrF*+bm%_)%YB}4w_iKR9y8EuAOXS)o-?&1 zv!|zr!V;;Q=RZ-)4;f_Cb7@C!NcvCnl0iN_915W3`lQKUg!&VMRmh|Q>M|;IkBEp) z+ovAW)`J$?Hgnf#E8B`TuUFmL#@Bcv*0Vmd$%NJD>S0={WbavWQSG&_acatdB3_IW zSKxCvOm- zQaFwRoYFok3a;PG-2zS^uEa&CA>}=mPL~++)IEk)LY~w!1j=XsQAUm|KnqB%$b9pj z(b2OkM1PtA@5OA33}--}lHdY-+zO!E=NyAuop1{oo_u~Rz4 zwaZg%-pN1H)W0ZkaOq;ZICzWdOJ;*xv06!Hmvhxw%X=tx$E`tnxL#9=Bwn|GYssm| zF5YSfGY`X?-<1n6qLu6DkB1B>H>%qQY6?mAHe2+Fe?lEV{$Tzfe}h}Q0r$NZULOg! z2)UZ0ryO~trI&VUmaEx}98dkH0YVg@0>lZ{w%7fJmBWtPGkQ1{j$>r6 zy6hYXrC?6jo4cexTNbu*%1h8~QsCre@>X+;I35_+jU8R-t0e^ENU3jRuwq{kYDpdP zhRzvEG;j8mmT>!dpv_U(q5XLoSzzvrf)d~)WwKq2$iLvQWL6D9`3vzWAPf{6^vJ8W ze0;+-8YAANysspl92hXE_LC`tzl-HUVcMVsq3!;&>lFFqF0!@1bm<&ZT`?e26uxt8 zc}a**LtBDp{hfS%k*eJxpw(C@UYD5iztD-dF&xNjlP)ZRT{8LjZ#{#qe+GgGWY9Py zF-LkN3_Ci0*a0tuQhc3CqZ`^yx@xI5Mhrs6)ho;x9E#xc1IUQ>ZDre$DVfAPy004{ zI!;3x-&Q*7sN2w?`Ha0|s)|o7#16L9v2R;@Rt2#OVf$ua6150M+@Sy8J;A@w<=;=A zRzyFs5MR9T4&8iAQFQZe2_oMFSn9AK$diI-84qD0N!59NL86UI*JpFqQVxmx2UE^WG_!1g*x5vckhij4x8sQ9vIga0RXwxtT} ziwCOf$##+L$Vz>G1f__Hg?yQVGDpeDAz8QDDz!IEUANGWbmU`YT(yo_xBzkut!;q+ zh8q4j!un*5qbOflZ|ABeAN}n=pw!>6{>RY`1;RKrKuT~a#~yz_h%N;Ft)`@b26`+%cB%a_{-*I6MdAburAmteE;2hm~T{9$yCP20b`_xU1LMww;Ndu&vz0> z4K8Y{@vHX~MjCk^qblr8>wOS%Y$4FhS5TfuqUA3EfN~6SQGtc~@?k9uXXf*157My&4Y{@}ohlrT)?Q z4vjLnj<5F0Ftx$`5CuRGKgC7EhF{zh(Gh}+8;r>oyPIG5MA2(D{@aZP_#ki&L;ubp ze;YfU=05^{B+bxqjPRRO5tNBn^cGVZCJO2-B#_i!YRdhkgWrheS#i5xe$6rx& zow9$GDtM6aiFNHlyb3{^nrT3`7oIAAad*-~jh4sLxh-Wb5cYU-&}~-o`^rSR?$ENR z3mT12vQaEtjueGdLa$wM4)f9E7Sjxw@cgzciNo2dwM`PRGyfR~s-hkJ{n*)}@WfLM zPb%%6FtcS#sn>mS^8W*SdgBlP&IGtm!^Ki)mMI}>+iKZ>?M*gUK@jImJwM~1EXIqN zg9kxU!sed-kbffKTUWHe_cpac)}6HFAPDdsL_Gfx3W3Z*QB;p-kNPK_7_$?`%FcHz zw?)ve71)rGk+Kd)G!A(Lcm}iUqH2ItFEJ)%A~Pgtt*YYAs%DdxfxnGA1 z4NQ;Vj@5~`JKqCGUh`~hY*bH+Q2m+u{z13TINlOVj=k;5I;XBO{pHU4p^{9s{T&el zA!kWQ&2nKzW9#YiY0Bl1rG$d;Cp0t_kL~ZWsuW4G6=BP_=3H`_&Y#h1F3KW2vD-Um z29_uU#~86)6!I3is)K(#MwuLI3f7Jfs*`584oPmJL-S)LV3<#TKt>f# z3eqVkJ0uY!xcK{UYwkx447ps~c+KCwU`&Awv1waj7c)bazuE<;X_{*SQziI>nvrTN zIL|l~r=sBCWmL| zJL;K?4O)AcRjMme6|xr-870;J!>+u7c~iwvQ?$cCz~Ko$yVeFNjOM>Mn#Cl&9FyR1 zx`Ni4DT;z{tNZ%GhBXdQmUr(4ZGT;4zEym!9;_w%wV z({QRy9$B#Y#%$v#rV4`HNJ?-rbe=tr5NBOo-4AZu#zOu6#V#z48MVnkS zLmK?8BVNKMYF#(Ni*OZP3;0oc@#*ji__Rp|i-4c;)198B zKpUIY>~7=kyoN%su8!?Za!hxp-L)>*4~Q64S?4^j6#h~ujGOlFBP1blsX$#PpNd@wI}Y6*nJO2$VdsN-BJfiPH)+d zpF&Pq8srtM5X8Xf|0}-rV8|2TNZ$R1MibGH1MNc2swI--s{&(|DN*7hCmOBMw(+D! zi6~0bnvJWScg3DO_IX;Jkf0YDZPn2sz z&lHrZ0dBf*LHQTV{`6C0VKOHPA;|5v3x#r`K-Ytq$%h;h#U7&CXjJ}^*Lknt;p)o1 ze?p(UQokP$C#%JDRr2e7p0$&p!1-xAwp4W`kScRWNPRhV#A@~;fh;=gVCh+ z$HBkW7*Yb5>~=I-m@kM+G#b%_L(xPcPx{7!u-QsNZ;sU|Gmrz0nZ8tm_h-N)5CY5z zYtf^TlH$;R0}=pJ6~Tm$z#ARy$%Kmuvv#Ab-(!p|bGZ9~zCd~Kt zSHtcs(L8-Uy{cpLji@w<5C5AeF}+ckk{wY*|6U{jm{9pxn45(Pe1umNc|M>ZQNMZLPQW10*QCwY-KZx_~znK&${#BcJJc?a+h>9_^(zHO4f0 z(O5c5ucyDid#0A+{(!K*-$0G%e|gxB7!d+(e+h@lS0dM*f+t^6lC2YBvt0TyQ|=SW zd`r8E^x4ly~pY5HucM z@3-3%ULtBeeB&T{OY@ncfX?!3`TN(Bh3`@+b@|1_n80fP!wnK3_am_DNr+TV2&s61 z)vu!(@WqJmggQy>{2`eEuKzdTuSPp=0K&(vKLyLSr^H7M79=Ket^`OlDvACWmAgv) ze4B$uot>`5MpoZ;W`064)HhS^^%ianb2$y?^`Zt!_~|JQzvM zF0(uSaFo+^On-g0=F-lCqJr&tS5AQM)m-#{w;lhP0N-xAzyb;pZPju|hu?=invi5= zWmTA7N_!M{IYyWqX~}xgLjCVQ`S&^As7gWtBP^HWh{Tb=|GTi#mxVzUV7X#Ae7vU` zXKQDTcftw;jc2PEv-WpbCM$R}IZ*xJJ(0PmDuUkqvWe`ayNEAe z;n~gh#PEpj7btqr|Kl${{QpUo0sRFqS&9FANc6BxeOR}K7wLy91q>H~9UUnuwXUtQ z<(qss!96)bGkzP-lm#k-mJ)4D z7-=q53D^kH9&hkJCyW8Gj41itqjsOnC7RCe*t5vy|9jU2M3MU2LZU9VBgfA_mLBqO zZ7wfX?+hSK$abDjxSgF&;jZ*574MSSEWeX}Q6?tc&ZKe+3VdU_wQhvZ2)4Z?uvwWJ zoUL!iA%njVQ%Xl*mP<4{T1I|;uhkQ_AEWT`ah;g2D>%j&R!u_gZ4Q0wL9xj1<<_KU zuTl{3cv9MTINMus4r(eYKLrD4=UX4&Wo2iKek}o%=$|z-c%;*(O|AJvBZFy#|K3gz z`u4=aKhu?1t*vFYh7;h~t-t|u^5%XJWP1Oeto6ovHwx3l9p}i|>3TKy{8 z`oILTjA37?I(zmjb1HsH*js^-XLlDVa+B;PlZn-bmRGJQ^}{WPtAiO-=?J*H?K%Gi zt@!Y8RxSq%-|vUs9EVPXOUIW2zJO(kh=@pHAgINL*#PcOR6L172E8ACg}e(3IG)}{ z4RgQM&*2g4+!Eikxmy#Fe0;ErrC2XaJ~I`YqdTs!eAJpu7ZY2BrIgsJAIRY2XC(*9 z*cFU)5#ejOG@{SGG$UZo(SII}53jVH;bJkL&)%5}yxFrG9BC24v1bGuZF4g+7mPiM_()sUHaF9*!NFPYU%mSFHgc)K z8>8RqB>fpw>9lXNJ^V_!W{%?^Js|i9!zjDNT^GwI7hH9YlO2H%sz9RlVU zmKz8NJL7XRrwx%e>q@_gw^*MvHjTg#K*7NH{2lWbLP{j1sH9D zgCjM_ouV^#rs8)NN>l|)wA(*4-{SnVC$>MD$GY){juJP7284RyGp{AUOsxWtv6|1? zW0uCFsa^PqJontcq2Ofq!*-C7kzwelcXo;np3l0+8w6A;WAh&G;g)4?o)sExT?|1h z?H8zUIJ2fA3bo7GwDP(kUSK^jVme*^-*@|06fvegptGSZmeYU8Vq~?L7dhI{kxlagp)`$RD@QU^- zDH<6R)YBtAHStrH-2E(*j!Wd#lYVV)A_h~W6*4@sC-1QT+;S>&{&IuG{-!WxA0sMC z)?}iHT+8(ymXL@^SOWSFGc(W(X^}0J>g)TyNI@KbG3odMonEz2da_)jRbO>P z1<1|c`0Hd=?3pfTRH{!#xa5Gj(8GcE>6q~B#x_6v(den#=zR;tGGNP7oGmhB2C5V- zH^KBrWcajtWZJKxWbvG=_VtlzE@U$$J^`6kWl>*>c|4FCW$OAiaY&>b0>wATKs%6p zO*V@M-LeBS8&V=9lQ_-k1Ws16xzIuqoiD?c&woIA3x_IyXD^rh-GDk}x!2h0t52vv z+Kw*C$Dl+$s4d4wbc0_j&1R0n=T2cXmKZj+1<7@#g#qxL1$ooiZlZ=}oY#j*Tbrh+ zS#loS6_I}UM&td*+?`vegd(~3$xCL@6YhTue<}?&lomkSqNNxfS_k5ry+u_-!WuzetH`=2OIzFY*pQw+e&fHFtNoVPvEfq5W5&10@HE2I zXcKk9jEqPVA*2^avoCe~z`^#lhMsJU3NaHn`a)lwC}F5*RY3CTOl`$opMXxYDX-6n znN+Y)X$Bo05{8iIqiob)orlYNkcqGX?A!II>a`y!yl#$w&fh1I$w4Xax}Bp2;fX1Z zf6V$r`$vCV9j1N4e+5}bL~m&WmtuS93cY>y=z&DGKd_JFhDLW3S>~!mkifQ&r4N-O z{X#%SCNi_sWQnd;XO<;B43Ezza&1=d6s@qUrNR+~R(FuhKK15q($i~&ru8`0;z+tK zRWzKToUSQ6TJ^%f!9Ad}e5ob|`1E(}Ds)kpU1Mo(ipjX_)qMgirV!3Qzy*IDb5p42 z#V%f5m~sZT@Hy`#P9Cg*V+D6&y>AiUZ9D-A(cDwqxgI#Pm}%fsE0xH4T&iFALL@TC z?pEu;o3d5dKw8=z8jSt`*vIH`2+`ckN^ce^z!8>NBhr97-VdaH_j}qbrmklV$rWfY z=B~dZ!+mSxYPAjpspt4cM+1jdhI^(fYi9%al}nz`kKPaUE{JnBZt;+1B$6buTVsx8 zw2N)3WjdW&X2lIGPpw+E>-(MiyRtosU z)%d zfM0m9X2KZxBihP9)qJ#)U~N&HA{Qf}IOot-s9tZ#!RY%tt}ro}lc}%He4J5syHD$0 z=S+x5rDE9KF*`S(9OS?8?(%iy$& z2(2dB*@=k@@br8s!a^1=(e08eO+LXh+o1z0qbT0XY>ooW`fXtjN`G5~j5x3BR_V=J zuSB`FfN*(UFer##wML}c)v`hzANtTy^?Yt;xg((Ui z!ZAW%NoSP|lnh=k8DzOae13t&dzfkWkOYH$a%AE&cO5v~RX zK0a9)zH?S&OG%T83O30pGT2yn6i+xHRV_HVp2$a06p<2G`6pee3Ip^*1565Xvj66w z151!4TCM2<%uD;^g_e#BsXqZCl4*0VjDDD=GliQ?ra+@H>qQ|gI4qtvrO3$Bn4Y3K z2tdVt?2F){j&|4ZlOfLY`{x^fo64fm1UTDC;b{{M8BR?ex0{xW(1|8R=52;(55B9T z1>x&nst1dgukBj2tlDfbI$lr~RNt--9Jc8J)4;3*c9vH=U(x8d3x{)xL5s97#FU0G zY<8$O(b)Hn6qAV-L}Av#Y&RX$^#^Y2&(P5 z5Bsyl#s%Qo_*y9Ea`8ODrFn`|n`1ma<{Xu3ZluVvn{YJlo0c(KR?2)nXy!(iI1fUe zQpxhugyG2KO13MH`zYIQkZv}JLJ%x;$9nVbJSN0qgYPBt6cib?m?Gn|=EVNX<`V)*;RX~4_40pqkTO^x^7-yZ)Zd>)Djv9DM5T0C zZ$RGLW808nsK`+iy=%V`5N~rA^Ymj$l9EOh4flkxZs8Lf&KmeguIRc{w`?LNOBeu) zT~fB7#GjUPW6jlXf6X+g^NNn|aYxsLP}n&}9*XWHk8QNVQcd9nw?*u2c$2EFzyf92 zX0cMKyNN~w5)GVPs0O6xA8^)vx9@_d_B~j0XfuE}34whRm!6Ga=qo{z+B)#|9 z`-E+8IW>Ow^s=P=;K^BOe#^Jmq6}fKSmDm;!Zm*zs5LSY$bM)Mk{ulIie>wRf#ED@ zXza)SIPzwjm<+?r8c}bs1x;Ep>4N*Jy0IC?s!?NWm%%d&=td~J#HFtFUX`{MsTA#D z22A+WXkWJ6hI{6)%i((x;rn97AZuCO`5NV@@GM^B)1T6>+;Z7>sq(YiUz)z=-n#&Y z)|5dM4UmMnsU(gu7Q`8PDh38qp|RDjCsaMla$b=AWoFK55C@bq<#3r_mks$~9sN*{ zY}qd*j3n$9BbtXyms0E8QW-~SG^_rMjJx(v9mCzhU1uMjwM(v5)kp$cw?3h-4$Jyvqtc&GYGDMpa2B?FScxS4JwBsQDIi#!WEP&< z;jTEly0{P|W~mrBwQ;JFo99;4eX_mq#d$Vj(p0w6WY+E4f#G$t?>a-&zg~`Ty_JHF zRK>E}eMuji7S^Wp1xs>QVpQvG^tM;}ZWB=SG*}FUvwwHx)+OWF{Zwj;^OSRU-JPrhEb$$(^AJ=8z{tLS zcXpNh4#fcS&s7ajKs%ko0aKbOWd%*G^dgxb3T9@{xj$u!b?e^!cB2lc8hZfp2`GTH2=AP1{y-a zCo^nOw8z6{sp9VoQD;{2vT5YIuGy_gEc09P5)aCWI-lqsHR)U~jm>#h%R9#9IaeLd{FNoPOig#(sqG{^%;aIo>ppFP;L5>Hn(@{03D+HO^}*`1 zl_%ao)M2mWsj}>F30Kvntqt7)xKZlD_vuv0J-KB{+Q95$J7f~WTtY5psQm@is_|zx zcEY_eO`3a8R?zngmV$u6)#pFG^xroblKLKpxGi#f761ru`?*h_;H~TxlpGz|BJg-g z$GMg3P(*cus~f%4)NO9=GU{d4S1X3^GN+n35HsL>E{jn%}2s(jv9AD~+cwZGmc-`syX*8mDSYAMD$ z)5C5!M3$iIF-0S!%3VDjm9j@}I{WdL^?dk34UKN+21Y8HWu2zffZzcWU_c0BxhA5= z0p3^_Hx%^Uuel)}!v{Q`RknK`Yu)sl0j;cH#8Lzet$VhWp3|AC3;)ludNV$1aa#*!eS zw?z=mF^=~A!>u>q&3zTEGCUl6)i7PDmvOq&Y$2M{UNHBHeQ8g-Bpn$U$%)$$#g~bb z^8c_qf~h@F)Bfu4!2gmjx*vVW^w0RDKnI#97DjzPyvOTcgXZ)o)dCC*tn2nEmk9Ri z`s!D!iwWaWAG7ygauj5Wokojx?!Tr(CFms0~Dh`oQ) z`LR@$g&S&;i?M&q%&B0@;TN*4HdNg_pqs=JT=}K0qlYna6&726;d=Za1tj$!91f=g z0EEMA*8Ug8F81G7zq5v%E6 zJ7FNN<(bcl8&{K8c6quQ2-j;% zQJk}5Fi<4gRkpTU3=zVT@+&99zV&Wz-b}SFXS2D2l__EWlbrN4OQmdWp`jYC`0eDj z$Ky@u`PfqS`u4uGm%{c&&!FAiOCUZXio(52qXO~<*xPjZ9V%ArCsr>!(#6uLden~} zK?x5xJ)z57UAxn&Lc;yA^JOLfhpMX#t1DTyA!zV}2X}XO*FbRB-~KGb&pPx@25UP9!he;=4 z9wJOtHdLD16HQjKE*27FYq(aJ3rNqfzPdWabVZI%OY?iWu7`&E`!6y2P>6v{LYyc! z6&Gan9&J2>@iB0Wygjnr>E&~Nlm-@eE`e-1Z)go`Z+`nZ>-$ZS@remIcS;jcSSoCP zyKGj#jwvztM7g!ay{K-lW0kcHoAdXyN=R98Z7~@WSW8M(|MYnJla)71{jyAN8WNI|0|72p{0PL`@!8q@??XxV z4wnvbq1|1O)$*UE;TpNP60Z+fXDoiIqFUZ1Vud`@BSxjwKreu*Lp>S$E`{MhaZfQp`x2;B{j ziiv^K(!v2glxp9w5R>GDUejqyayyv^#TkjAV7b6u?Tv{JtjISsHGNN)S-)o@uw1EA zszbfV*pb?}mcV&9n<9}VA(wWGm>SIYVrn)$EYa52dTBDd5H3ktA6B~} z&{d=lSJ}2lQD|5Ogu7U(^|K)k4I&ZQ-E79}>kwd9Ux1hBF8@(Q{Gt8&9!t78OvFJv zySVgQyTbmeJ=Tj*v)E04QSlGdzn$*+G{9`JCMtER)`G(h)trJNByzXzJYPYnh+&#K&!T19+z0(%yvhK6b1vqrf2`ZHwh zqoxkOSSsP`>l-8ZKoB+dBX5IUJxY3e>8yo(c<7Rx{Q)%RnwspB#$sYhO6M=-EC;~N z2-U3b04g!9FfAS3kL2V)P)PNK#e2S) z^IHA@E50{+qO!c^dFQw=SGM9UeJ8m=K9wVZDJtIE;S(z!kSFxwCiz*K7ML zIXV(3HPfzl)-^NiSS}Wy?3)%9rQf({Px8mW^#Z;O12+qm6?GLAtBxPSIRdvr-c&?I z(GX;da386A16)qN?@l2p%<2zQ3{hV$I$cQ=Ki!w2wOou5!yG}`Qj60KQhj5iJb9VlX`Q*ra>en6#Y6e1t z)Dd$F3bs$6EEU(bEgHU0z;JS1SZ3C}>!p9#FOa zu->+w^ruAyO;7C#7-seMW;Ngb;O@?2^kXJHJUp*dExsO9M^8dVhOS1hM<;#5JO`L1 z`By+ z;ds|BZr^~vkzD%c_e4bcz(Cc}o}>pcYk+ zfC-pP%S6^7UlqkgMnyFwB_$uM<+#4|uLwkrN8YSPwelF#Q`Yzl>{t-qEJ~v+fdO2Q zs+Paz5jSn}|AFL%pydk(Yz~rf-fzVij*u|@#xBLMJ}=$`)CO5UByrS<=;=q9^L^$! z4&^Oj^oa;XEf3qD?bsV}6AjkCubNHeLngCXkp4tA3Q$}_s|*wMHjWD#k+_cWZg)}Z z0X3TVWD#1PKN8hFlKK$9+xW@z`1sh;l?DwxKyC`Tk~%dl%?4ETCW2wZvSV;)@p3(7q@ymp&%0zHFZAv+=-ziJy|1Nt9_D+~d9%mRmgPWR6bz{t-n zQDL%OAPnr6N=!MvA~3m4Gd2@n+e0k7wWemE!v(TLh|}>r;;gEe4y*MleDo2Xj4igP2Q*%quPMFfqk}|yf?Ku- z^x0(K1SM*JbO=8-`}GeB$9cXA)`>#pp>P|r2m3wzo}Rvq&#-M8@riI<@3V!#IUX8Y z1nto;xUH8P$Rrwtj;agR)AjWMldU3@gxQApZ#}V!@tM?auIJKNG7K1htPZ+Z=DPPm z$YIpe9}m+3k&XqnV;eS9^4QVU;`Ma9Vuwm4+ktG?c~&*#D~ub!W!E!YOy1SHwLQpk z>2+P0RgB6c+IMNZHu%ht|0@~;eRCHLkARx}4sPE81_1qamIKZx%~*P`C>HgnCYzrN zo=*yh{TfdE6VjOkO9mm=yy7a@xrkKzOvVQAQSoWJrU zUY!^$h;58XyS6)>oF(3OHYZ*WLTE7X^8=PB+k%h<6p0=4mAL%10tq}LTHTy_M{tCy z!c@u2hrIBOR0qTwf?ar4>zY{6Y2D$(MlS16 ze-1CzwVdFa%JhO}(ET<6@;5M?T$<~%C&1$R^8%0F&3Rc0?pG#m>L%cmugj&iM1ch` z5w&Y_LrU`NmFxVy0p7+&l-#vHh3%sxZm*Mzq6Y-H1gsHNsa$MlIYD1u>CRPq3K1P^ zPgE{}%(FIobzNPw5NmHZC%zM?o)3G)@n{j?2X)h{!A)Lc^Ft{-#6!vCeVHR3GWKX? z(-3?Z4Jgbw*G2((n7vEG9kIVIF6dTM5)!`WgM!9{5Tm8^Sw4ro3#OpT8`;ypfstmhEWroK*81l3;1?Oz4iT{9 z0qYP?&AC#I{>u#fdFlBY>KEf4@9U3dQy(|zPFB8TtJRTAzvg_stoRR)@aO3c2x+;ZV1-#5mlQ*^k+mA0+>%{>HSEU&c)c?tC#2w z_SU|+rK~c1wfG5}XcEpdY~?;0R(b)|Nq8tlmg#4zxCrgUODY_U{mu+6Ql4`?GxyDm zvuyG=^-V`loXB=yOV;T>TxX$7)aPDEWSVOL!|b#@tDZp>4hwRZFf1x0vj5rQ|Ir_X z5brHNDtwTS({VbP#Mfef1B$#o`>eJ$ZT1ASAe*+0@w6kvM7&X!c-lLW^u0CX;*`CW zSdy2QVX&QVM5(|?1$R1}MKPCS7wg;hJO4<@h`f8#@quHiXDoO*LJol>GHh|{5?+HK zAb0}k7hP1aGDbaYo`8rVakl;Jrn9X{SZ>Y51{8e%n1a!bytWnF`*kPF#R^!EB~+Q& z`X_4Q#RlW!TamEns7?BdcKYkzmxugNVJu4KvHw$(y?0ZLg(#w{$?*v>UnVV_&mE~) zJVYi^VzQOhl^_`-Xg!uvC5gH6`I7#=Z&}pN3Cio>f{FGzOh5k{yoCshhrLq_ZF4fR zZ&__}CLLt)vg2M@7}5m}6`Kcfxzvux-Qq~>ihloz64uTtq%}rFLljzsPuc3c>l3S; zo&EV>?m?AqyBFWZVu?tl%LXm?Asrs->JzRP=8KBwAGYQb#TT>8NJu!7!B6}Jo)<^u zDbn9M^8Ryx3bP^RnX^&&T{hy0&;Scu3otM+{$~%;k-S4AqP-8BLW3bC1>r1~`09cX z} zyFG^FS_An^|0cP9d2qdHIqd!y|WFTD}>?rSE;i;ei@@Hq0hdMD<+-VhPwvsGo?en%rcFr>x> z!!4Tm?3cv_dEoX{@sbS*uvv+c!=u8VQN@zz8@~XV9T%LoAlzoGBZSIMZ25@L6mm1i zCyN84NT3Yw%GN5p&&VB!=Aut{ZZi${z&IV$0eZr%NU|({Q6Pc`5T|SHze7k7iKh!W zF=|gz`aie}#A|j`OK0AvomV%f7ntly4N@iYnKCWborOjUJiu;#T`-MVqX-4>J^0vV zCj^mse7X$(xafw4ke%GO95i<(TK16~>vUFXHgr%%*vuRr#M3eQ8VJDDBiN$b5$)Es zqz5-eygDuoV4-vu>gaRfx&an*bCDfi8(bAJQc_YjVj}yA=-BWGWKw;d@N~QC?Y#v* zeKOzJ^%(nmV~t6FNK|@$ie@qtHyqsLayiILCsX-D$o^$Xc<&$_(x1@zA>q(4pf-*5 z^&`TtQzwpV^l;q0(c2p}oRzW9Dy zY8NtQFGDA^eMUK)?>g z#~guIllrdRShxPCl_RKfExxg>%D{Cg_;$xiYt<=|CEu#=}n=z}jD*8$acHOb#UEsY*|o>+xv% z1!5oq-uDQ+B_a+6r0RAJVBtPiV>TjQ%f{(xAPd_1<>bzHQ;#@aPY`Yy66vTd0~hX& z8Jdb+`pX8UrhmBwpAaHK*%{;zAP`8&{rTYC<|e8#9*AxLzcBb87)lgW`R&rEFAvso)KT}S z>UuUqd29<3b3{vEpmfQ9@7H=Tve|;7ZOtX9!hc6$@X!x57bC|yZ4su)9#crD^H40+ zr*NPh7lXWl8I?*a=-F{vQ|kNVnbYh{~@+j z0^ZS(r2EKes%ar{xi0jM*3?uPfO2=BmF>DF`Cq$A4Z&&Bqx38ld2oe*5g`zEP;N!XJUse2$l!I}oAGYtrGmMdLGd-0 zxrvJ{Al%0_0Le77Bp@m+^@~BKj`>sQB8{ru2265ET7Xw&PRn8~M&I2} z5wXOSqXmStOFj4%Ozjc>=_lcH3j z>_-2G75;`RncqQcg;nQOq2j{>cbUHJD^sFj+9`My+nsG3WL%DD@Rw6<0s0F|IF=pU zg7KE7p4+wFy0i~|C$^$tHcY;gY?xBtLFbS_wS2BYcL0&Q4imX$ko>s&fzOKg%oY|Z z-8F#pLJ3dh+~-GIY1SeoCrIg^hk^INU2|>U&7PG(_*I0`i^ov<0U9eI^hV%bX*m(Y zonNT*Pl~4E&A#W|dWHL!j0KyzJOA*;oIVfsHy(niSws*`$CW&Hmaovq@t^(vYjI{M zUyS|9BMWv%6WLjXt^IW=on+mbpc+tJ#gYR`)GF8+{eo&)e4}$FrW(1rrZ%TTGnyQr zr0kRV;&g0e@;ek)?~w4SLa6YPjzn;FpxShh$aVybniPuzU8 z_!NQ~A{LZcnEkqu{knJbd=aU~T4jF)NKm}>3dIS%dUb#AlhtO2k{^g6Mjn%#1pHO1 zoQS5Rn#*kZ{{fK?waj-zao#+Fwurj2R1IA(>q?gC$;teJV@TsiG_}n+{EQBH3AtH4 zxr5|<_CkG21Zhvy(hu{IS=J2ej**!9W#8c68oqegUSjqbljWobkeIl&hiID2M5QJ8 z*(-1`ZvBD+@ybJOVS}Fx?S_e5Iw#=VSQ#dqjyLiKnll)Nmv~$@tK&toRDNQsYA^b= zpQh3~jUFboYAtSE5#3~!mwZ;(E7`bjiKuc}rzL3A|0Wavf$D&3p6w^yF&%>Kg%k1W zqfk~NpbW>|v?iz`Pf~J3=q;&Wx>>v&!|7g6&2;*wJ~hego7+9T*Sw=vj_d{w4h!FL z;vs^SRe;xNz0^;mxW=XTl~0yvx+jWohHgzAl6ufzH5%s~NYQBSAP2dHKSrg+1hwkb zi#XbY->=Ga1PSO0tJe8O7Eb?~LFrUDsA_vmv0>6+%xA*2f(PIy1PAa~uNQhRph>cb zyLbGOht3adGTSyF`bi%+dLblfN$!T~hXg$v6u{)E+c|jeCh|^rtLpr$o?(6F!4!a- zb8p$Jt$iGJ4yWMr7$P#=8PmpW0T`1Qq`54gWH_?29Gd{&e z+N;R^Z2cViIcRV2{sZx7SBj@eR)h#i)%OVzSgHY&QtyCLUD$iHgNm?^ah-x`pKYh) zUzdYx(J1b|>X5~ut7TmMCx!soGeH&7j(C9FLBVRV5YnRL9tnAo86m4Fk8|U~2iW%P zWKVi3a*PKn2?rCDh(Mjr)h~KQ>WPj{;D`abqI=2VjFkuPemh@7B)R~8D)c@MFR8k@ zoDO&IRsI0L)9&V$p+MJgK07%pl?_7DstM`he6!(1fB=)-8t<|se2`PEZ@H{#LEruD zGR8A1s2>2G9yys${&0YKwE2e&iwl>aSh$Z1uAFvU;`zO;lXilXD94f?DsNn{;!m4` z^J|jsY?$NtjCQuSbc$(c0d}w&%JW)>QznaW317kakF^M7USG_kAqiFV! z1y2lOs+F%E?i5QczsTTRx#lJ!r@XYw21)n&#|0a(97vs3})-YxeI#9n}~O zRzHGY*1*!OxOXf`U%VWy+OcZmrEK==WDMK2Ye~E- z)&nShgvVzu|K1m!X%D;qg_gTKEch7}N1Oa85Ugx9(cT*Mz1fum9TNlst;Hv4*o{Sn zvFyNOO?B-W`|F;`(B=x30g2s__Vb_?>b1I6-iR&0YlE<72q!xI?(H@?N)avnZE|9~ zh}@FBz6{P*cY>iU8>@LYgYJURI|D_CxmLgn@hPKpBW#JhDe)R)YC#qM;qpo zVlCWRP<*TOePm#phXlZv& zU_1%LQc>kFzcqfqoCV0vtQduwn}-CMJ(ivDHnzm359umvzz;F|>D_vVtGRmwV4&d` zEKQJcdODUDFWhde89sj(OMDvTPepo$ZYN01p#}w;aJ_mw$g$rN@b+em%k8$bJ9ou6)L6FZ$|JHN3UonxreRZYD9p=6$#a9Q* zOXdjeW#4Uw0I7DHP8-4mcr6k*y8<)+*;{MLwuA@;gr@cSqacOuo{(kAn(-nN5f$$O zlCn-9`wxVHG((NK50XQlVpNf415F09EB)tjG=`1>5~Dft=1|dQaikVt;UJVkOcgKy z^sojQhtASUS?fEN)G6gp6r#E*(@ZgQf@}c+1IY2H3D(fV%sWfHnMSEC*c9NOWRLZb zQX+!BY&iAiYiktLl-MN9+X-hW%g}1iebA zoEFM_n3{>}yBGVJv8lmSFo6xrake<$MpbsX>30D+TEDln7;IyYt7p_gy)|@#mN(g` z0Qv_nbkJx65PXD6O|zINAvZAC%78Wg-A-fzl$!tbXd)Elnn1Dja<>{Nowj&?-pycS zkAp+=>;BQc^v#ha5b@(XaPSv{W(2rU!I5Od`Ia3yTs}9Ho5PvTAk=ni$R~ zZ&55r=YYc<%Rov`6Tsf|km#^U;adL6UOtG!EZZZ|uR458hPRe?8}csMHVJml7s|n) z@21BWq2BH3GG7cAvhpE9=GWwY_E$XV#r++r5^#lae_su9rDqt&1bBTuLbQ*V))v<1 zVlPOlI@z4C-1lJyiedZvVc~CqMSaK^m`Z_c$TN(FTaMxCFkQVOJ>};#(|e_Atph{E zc;9IG8J2>l1pKvpE5^+<)jFw2RVxFb*goeC_YGP=+7cuy$$Y59uY__0s1n)NX_MTA zz}#4dUt@M3O2YvWBt&dBRDDu{IITp(&b;e8vPD^I*wmh*&fG~9Zb`6aDmgmauA(ma zDL9bI9ZSNuUMtPc^!*glEcC}3VN~8tOwFN=f4x+w%B|=j4l!o3737mq&uUzV$17?L zz9$m~*xq-EA9KCLD7%g1oKZX&3}_Z@b6>CQG8sV{29AydW=U6Xa5}%dv-YQQDR#V( z92_z@uaJU)L&gbBzQ5^^(Qa|9k#t1bV{hW4=hG9&&3RvD{&QnP zfw|Rq7|~Uy?U+Yp!8;991BA_HZq^jfH=Bwk@K{VAD$IeZy-U&~>u{eWLOR96gFRk<>)^3@Pj4AW=ssj74Nm`GCxMFh|f7N?O{XNWJMirsGR_kS3`w zIvQc#r;i(c`7aZlop1%j4p`8M4#bxwA1s*jV4g6fzsb5J{#3B)eOX4-+p zc?s2Ajk#uhp2#=~8+JB9%YbPyh-9>QgasoVLT!ScKpnn&1A8?%2XiBu6q(lrz1AX7 zPUK_0_#!d})X+oX4}&dh87TOHO?_6Y)g!LtA;P$9>*^-h;V9jalZq<`h&Im=IE4>M z*dgHHArx69IgnX}K-r;a3v{b*fdvMl6sEX2-{TBk(r^|eA;T082>WoR>+%ajtSGv7 zR36A9@X^5-KpobOVR|JB#AgPDN%1qHg~gwv+C1us=ksmg0G;$to}P+L(GA>*2AhY{ zRX6|(;-vQ~kI)5#@$WT4xFpaO(a`bbme(lA5^RPU*(-jOVYgEL$di|+%u`51L<{mm z6TWapw&|CkCV>Y@Yj}0*{tmrH#B&*y$K8_XR<5`^4FI zT+pZ_^u5uC!K#NVQ{rvVBy=4eqn7xseh<*#I9Wv)EQ8VGa-(%!rqw&?-GN8<+gDJJ zQ-0bhP+>y+EIcShsa|1|^vgZ9en2w7Ze?Emf`^cwU&t?}!WTINprfPnTl~}0W3(@y zxm7h3v&(Njja*|slS;c?lLy%!eWoT-T4}9=2?GbvN7y>hAOHpZMi-SLUgW+96AK)Z z1pbPnFuL!D>h8)EoVa)>(yOTG)>2=3Az4sW*TW??_E)@&DwpA(bX>ZyfxmR>c}>DI zYK})ml7jTZvAXpv>o0kepThtXf&IuqSWz`7W6;q$xF}uD$wp91S`TcY&V-n znH%ydc9Ct#{9UG*6EKhn6jPxtLWqpJ3m^7kb%u`ebM*Ju`T(2$h)m_G1k|&QmSa{j zI0spp?eeKD&B_=4@~qbmstpCe8av)748^qxcr{qa9_83~M~F~cKhqt@>*M@*Wv~5I zymBELDMCR*Eq(Mq03`|YVA4eGg0va4QP7QBHRp3o?cKQ~I{WTShD0W=Qj>VqF7)w2Zt0I^J`p;O?c6J@7e9*aM zOVXb1na<^yl~?7hleHU{aV0jS97q(!B((2(0%tpgo`0?Om*fNyk+R}KBjSR}#&sCo zrsd<9yMVE{T|4@Fqn>8-<9KO2_5F1MuhBT$#=~>tCQTm~-RiqQI+1N$5)!!BujJ%? zxme>qT#cx_A^R~m-Pd1Zj8S*;n`uv`CYcFoiC*v8)%G>R*>4qWig(oG^Q%T8B61Q1s4?YlI6`1_dJ7!T7)HVRl5zn#EGWv3+?Efbt<;Ows+6>>%+d`2FccmS zw;IW>XJ3=OZqo#K@{4mE;^d7B$$F%4t@w%I065@oT^S`+g7PK4kZ1zJEg`5`lrF}n z3&di?!2F833f5VrMt4e@mv33Z7laWw=oHqJ94|w5w&7B3L1lVqr9v9yw3tnDT!_## z;6?8!kIU@R4Ph4ejRqLX32o$V@qBwEbiaRyrm$Bs@B(K+ZNj0MbCl}@y{DlNQ#W+X7< z_oneUOX+U_O-8UcKpK^*Ujpmgi1^&F0*f$XsTYkk+znnY}sq%Je*n6_*`>FV+S^ryCsXBLVME$?de^R zS)~;vqY8LHDixd_=F+K!0e&{KO?ir@1dbFVgL`_i=2M&sSDoz?qG509s%viV!X~iy zo?%yR%uP-Cu|WdS4gz&gvy)>J6FC>rXbc8`VN3OX#%(sC$Oa}R)a6L-aImm_AUKXx zqMFN_!hW#!mI)LgHBj{6d#NUN{4{j`)X{FX(gcZ!#~TunwwR#&bN-oPaAiOq&@B1j z8vNnIDLFZLaU&!I#88bqGu4)6A*{4iY=S$Ljve41+Q6qE;`jY+iWIdM?m}zfw6{^9 zp`ifRxXw)q_`rJx!OX(4qtrvuIJ(&vCO1(ND4!u`3k!Q=2TEl*z87{S+~lDoqte(& zrYHrQEqzc)(#bCYRudZa{W{Bam#7RkYl#*`i>pzntNlq&N1II*?~|d|X*)@FqXKvk z*1zoR88cRkEDm#-zegX`p$zhWTDUIX!}vHmTGsSSsi^?HNbqAFRKE2l$~pM(s^_8D6dzFf zVTA|=Zj$*b6-x^Xqb!b3dD|Z65kcmm72x&uQz%x5II~)pR)n2{8Y6=wGKCy8?4FlB zUmJ_iFHpj$pnPCtxcno=m7#)Z>!LJG1ix>Zmau3LnJE#9JAPfP$qI93v=P+1IeufM zdv8nK_^HlZB7k4&^!1u&@YgT+l_say<>M1eCbMyAV-x!)j9$|!MiCG+q1-Ru%`mjK zb}TAy!}?Ul`M=r%wcmN37O$!n`hPMXn-D!Q&P0CD7S^BYtyiS_)zjriO#3sMnV#c1 z6EAM|VDdU*i1#;`VF@2LBn&}%-twYD(A8Fm!wBxWMd%`v?D0dE&h*Y$8T4FyQ-fdn(GX;VAa}Uo6*+tH`8P=B;vlhyimmlZ!SY%1X&(_scb-mCW zg(y)^8^4sN988CkCf$%Wew)9CPJ7m8h=UTgB^0HMt&0hbxQtO8)xf}T<8eDC)vPh| zm7{2-kZwzAMc&v5F-#1I7LioV2ele)+2Ht-avA&hSNaX(v3g^J2F)aei767FuC3*y zCv51q*d)D{iQu)!7UB2fp!AWAT}{W&C9>vf?!OpRkmiydr7x;?9rYLIS{i{q~10LU5cln=p|G}V)KE=N^)hhc}vs073 z(Gh1|v*Vk=KNlBQ-bYv+kKZFW6TU@t$0+af28EyZG<+B_22B)l=;YZ-Ryb$c>c`J1 zD?#UNDK;Enl&i5kIhTC-h;w8x*QO>vHd5T8baUfMl-vO z`Pn-wKDt~9A|0oV(&VufDkHwcihl`mz1)5)CK#`jr zt%Eh^O8(-k25`^R43uncSfjI#SdJTtNi1_=!M-{AFxs*PisAJ>><^7vEz{ZV$v0f8 zI*yDC#e9O$XPS7tGBM+*g{;F@Nwqq=FabYUy*M*1u#Fr#x-AdKRg{FOG&c+G`_{B| zKW7T?<^p5m;U;7uM`f6^h>T1|P`oKm-)}i#IbO5J8LZLAv^x}~q#eX2Vz2Ai>=>6+ zqek#2HdsqfX>el0sB3!&t>zL*a9u>D1MXX>8NaP>BRwPsvwQ zhA_M*>{ah?@EUV1!8lPOwkf^OJBQ=vbSq3vMS|$VJ$R;-Sj?oc--8;gVtdy&xqY|Z*`7CRI%ZK1F zNg=x-z9jk+tHoat`%`lWU%xI$$_)Ha#So^tXt4Y8MhB0xDt|jyT~E`f(j&zI@9u7B zH}cLuPNH9S)GqPYFWe$Qs-wiYeaj~}%(6_7LZqUuE}Kn2Q+~86qWdPXBZiRip}Ksc z(HF^w<1Nnbo};$&GPf6gnbe4+h7V+~tb{B>+2kjtRne~avPzZ8 zt?}iCh-GH=G{)7pB2zvjA|hT{6nKwP-NsLk4$a^8ZHNC9KfmuAv zT(pv;#pvBHwi1ScT_&cG#tZ?>3;B}puC3Z{YuINkeAv3_r`xMhp{NvN8&3pYq-wFv z0VS7ws4n?1_YXSpLooLCEFij6DFat7{$D+cOZs0Y?a?77S_w4j+~7g6FXG^@%qlS_x;zMq6XV-P3_pP{T znrYgH-KvHT`^S!m19=tdnb5Y%R9WEiFKw)OtPXcgI2fAH#8BI+G*2F$q87<>x!6iV z(I-||8!Ays!ctyZz@sx(m6E+exGYTL9bw_l5RE&bE;^k=r2qKtGe7@p4V}Rt-4s^$S`yPv zm6;u>U;)h&4H^Hd_a)D8&E?I<7jP8aki_T(->bz$;#}u#b762X zs{=ytzXkTlC@6uDa0z@<@Gh7Cz2b|%Ybd@xiBg;K2O(yBchOK!los=^TFQ9;+V}MN zQQydKloQPkp!Zm+h7osk*nADE*)oUREr%F;^6d<1Vt?;3P|M~>4VvL)72)n{&a-=o zz&0R5pMqq1WCEa4cL|`FFt*664t~AYOc2F5CODjYN(Lka57jKhh_L>hTs9N zk?z6+NkM_x<2;VllFAXV<&+;oGf-0$#AGFIYB|rWeoM{%Qk_pQgS8RVYkIygjW}QF z&RM1x*}bpkv>r(ZrZ{1r{En>G`-ktza<62P8%+lFQBq#R;_fpJ6zvndl2pNq(P< z19(1#6O(qy1UcBn6@dau%A z&a3E$QrS{ZPonJ1MARoZV|=~;Xlp?t=0L$(D116NCnn?LDUf(QtWK}*u-JUZih`T+ z+tOv7`)r@G&}$@0mjMwEmqa(-mc9~G#cU8~JPQR|fustbJs*}j4k4K&fI_&{m-BXN zeo!5%{#SFs$7O|9UE|!N>B=7zAVMTco*WK}37U_)X}Ylv(pnMJFO;1<&?a+=+j`{_ zX+Z4e;CT#gMt^ZKL@F*FCD6J@ss3K|XR`kE08#GxRP?L?i1&-Puc@jLZ1-v%Z;%q% zpBltbdoI`S4XLdvMeO~2F#9v7CTzaF{rXF-+={QOFz9UY&Om4%aTBt(Ygj)uwdB2BCpWVSkeRnRZX6WSfSvRF-Z*)g%(nP<4ZC zwbaICE;_&f-_|ziQe`=nGxCEn+xsq9Vjc=i?~`TeSpcM}@P}Y2qd^BHD04@fiXbaT z9Q5SO%rB+7c%@By|7e^4w$y^4axP=h-pcLtzhjMcDpHVK7>R{N$#V6QA_DI&iltPc z8}UW=5K?aJ5mc#3bQEMmtM`if3|>~EO1QkN$@A+)8V-|h=S{f!V zyzz&m{H?mB27=y14MXbuPXhos3a~6?H^^jjMly}+wP7KvJTm841ew~0N6fiM|KeNRIJmz$pt>hY;KbEzK!qfn_Y z;;iBQu}3IT^dm5u8oIMgyWq>(tKM+jo$5oo4T9z8pP z)E!BUy(+E-t|Z)C8{@rLq7>*irrxy{bcxv1UM=-$Fbs90s40{P*EJ)1Qe`@xrLw<= z^NnJpu)h_h>zvjE`>=z`Xf^7_hMObfo=#(%%O$Mt+tq?L-PY++x$K2zu6H6(Z4djf zXZR@o-|U$NRYuPbGj59L%0-yuWQ>vHSIz$SAMflAR9aO03*DJ0KlquX3A<4_PCwB~H~n5n9Tk=A>D0AfHgm|& z+Xrs%=Pk_e<7JPYyyrW5Hqa_U0&d|=0((q0V=~GJdFjFHi6_%L(a&T5pP4PD26LJ! zEY9#?I+~rCr6X61%Dc*>WoYkU%aXcjy3gKWRL4mamXp9-dX$Zt1zhojbrQGZH6YvL z5U}C+xrjAM&W;LF z4s|GKDrw}ZcuISG#_i$08r(EE3YPb{>;JsqFuCrwKeq_h#J$M5OW+66B*|Mwy$_JH zyhjURJ70wr&~A!(|F;G*eBx@XYgrw0xSve~F+8UrC*b?K5$G5Pvpsz?oO%5M zZ+`ThiBB6DH_a#BS~XX6xXS|06A)8sqjfOTh4^-K7}mrlBV}t((2n00O5n6Y@0ir} zem^IRMqwqJyf`XP&Q6nd_Vfi7)OW2aEzOuN%*&SAe11CW4s3h0#_22}?^YvT*i&=u zS^rK(vx5OaZ&x!$&i)YSc98tm>vH^r@3Z(Qv-Lh!O{ie4QMhn>0lk|XPcYL;8dFP5wZl%Z><}?DUB_(KJHrIMj)xSf#H(b? z;we*o)35T|rb33u|CE9JRaWuaM(+F;Jnlf;wXmW3>|xKkf&~{<_R{}U@x!ml8kUez zEG*{bJ zEuOF>w<49_COFkgEHJg*ARY>M{f5my(AnA-U2A>aJ( zfA=8y%93|rmsMKeb<>Cu=`7j!BPuP3B*D-~bD4$?x+i}oA{JTet5Utg+-KIjk(QvC zqT@|mt8r1CtY=A?xf)h8^(FXk4$hq+d_q{vOVA~^tK_m`TbzYsVz~tD1cu;vzm_n7 zS@s_1a|bp>i51KfF)J?7IDu{H>|R_Bm@(dMq#Ro-DT`m>H*|;L6VA;0W{`275i;t; zJr4Q8a>7k*WSW*CELdqb@{>v$l@UP#x-c~@4kCH)~9I~(CnWkU$yYIObj zhBH?HsC9YN|5Lso@B?}2b$7abluNUkjtVa_Q$7$!Uw93DO)D5%$xLT0q|_U>YOzU+ zghDL~*L+U_FDZ9k{mL2HT>aywv!Vl;>2|g~Nw4W_NGwnIkvhgxwfs0q!C&5Hj2(=x zHJYG{cZp_e;V-A0j_{l3V&^aTl(zHzc8l?B<;5nmptb#tMaz&@4pyDZ`*;n5`flb= zFM$1dBN%qv=lJwM%wy~5swo>fei==A%SKmRlcqpUn>i%@s5wAJoNt?>=7y#)4E(`0 z0xC5sY=BUimGK+c2j|M2T_&u9{j9)BHjwOmKvTGKaJt~}1edS!^iW{_yGvmq+D2`&!Fw&?x zmb`A5M@T_m<}}10ynaI4k|{FV+4%ih4|u=6X*ELfz86YX{ewS+(Iz5a-rJ5mjCFjc zQCrOekn86>4rzvBXu<0NlCQDm)RZ}qY+c{{5l-+(f0xa@BCe?3YR!Uj2>pl_CB4Tt zQp)P>n_)HVAI3wTUu%&?VZW=e1{P(}r&2-nb{q9c%0UF?MPGL7+3~nAscKRJDei;; zl@Bg3PN?-SdpU!jHt=;V6*Fp`|&Y z1LeGqkbdPpkfIuLR8_%{?Dz#22PZ|vDSPZhv&qSCqd#vwH5Zq*1V`wy+mw6_sc*lF zJGLHoc3Av2_v1%Af`0I(rK$hetWMuThv;*KlK#R(QB=5j!)`7ss^Y!-!H%WSCw!2Q z@KkpytnH18_ycBD#DdJH`v2qV9m6Zzx}eeSpp%X|ww>(QM#naGY}>XvcDiHRwr$(& z*w)?WocFumbMN2%>>mqrjyYCUjVd>X9i%sQe0VYu97Lonk)i|T1XU`scbZ{@((W`+ zJKN4=mF>l9y?WIGtO41venU8eb!4tPGLb=RK-642`McR6CF1;;^{A8=f(J_F)Y-WO z=?1{9SL-QfZ9(om+q=73q`F3+!MR+`CfS=diq623-JP9~WLnf8)bqChW?G+b$+Q`v zAd?~?yZ_As`G1CdX)}LgU(YI4h|yUO`P+{OT_C)4NOCo|SyK88DWWyl>aCl{p9F8k zkAGx~n`qoyyOSa6EkD;U+A14)ee%8Pq#-UbBl>Tou={E-w3)e}Tpag;@*7c>C>`c^ zV0h77RJrB93ejB8e++wAlm;@Y*%hrS>G~187exP2mt?&f`(lrbQ2BQv% z11AzO4cB}DBo&)eLqqi~AXrg6@wE>=t8k7 z%5n?g)j?_9zJUDvXSan$!qdorW(@d@391MGfEFAo9G7$$k|j81PBA2c96sySPjcf> zMEwCK(=paR=r#zwT-~4kWWykZt3$%C1VKKEhpJGSd`e*RdvdwvY8pr5!|76!pqv^3 z;~n0d_f^O2%xsd_h7JD*xTtGZxLjxz*?>5@%j;X%UW#kt;(^du5acg;o~JF^r%EcE z@0J)yIQzY{1Fn-D$v+w61#EC7&38-$Dcbf?pW(F6qN;x-!bu|8aB3cNlV}-2lz~)+ z45bk$19%cCqa6CIBs3B{8E9MYvp(pF-h5MP04YTX&ZVCdsjPaowov?CfTUI}JUl$F zE+YhxxdXxLBSE~OH=8>#O~p8)`^^#>TVrP@zRuYqlD|KDtd~kodTI6K*z(NTijuy5 z)%HKzrJZj7zJX+ZNfVF=btX^DR0ZT5 zN_v(zb>IIhv<v{GKcr7THXfX>b7ntt{=DSg~h(6`ftMrcBQzuxL@PrG-n&0U)&|q)DPj} zivmJeGx2N@eOw$PodZf<&Y*f)r*of6@p9~Dc3bB@YI>uE)C9)xx zZWU?t$DwaMOp89~=kDFTn@ShiL{VlSqbyHY1<^V@cI@lOD!8kWXU_Cho?i~$u!BH< zBOH@KI%XS$m@` zivTq-pXP!ZHNlHVS1{c~$ecP0=CA6IrXMCVjy zWnl@#FLC7UHApA+RI;XIbg z@3`otu90du-JJq*691CU<(&NSgIfDpbFq`4K!;WTMR@joU=l>pv#0V_KOkMFQ%j^Otb?U+qb#a5pSj zhkE4svECF{eBCSm)6+soDz}1%`3PT)%5%jDQ0d$S@fFKQepR60Y0Qo;2CU-<(*$+V z3zGzEQT1U*pJCBGC*&vjD87un?dK;VFt54Hqrv9S;wB7?BYMD8rbG3gQOe zS=fYT6p>ufLgGXcV;~hU2_$00I{fU{L=1;P%9bxz8J@UOj?C^3CWbB=K9xTF`1v)@ z3Xqxl!$MPOal@r{TRG_}hz3j8(WpqH89ALetNhVIUrvxn$S#})kq>`AL>AuKj-27E zF2ZA?H|!%)K_UwQ9@A2VV4A(X@Im=ZreY5WEv-Z)5j^{>nlALzvQ=|{mGI}7RNmLl zy}_SAMF;QI_!&04AvB@`@wx6m92wwsn2<}TOKl%iHqj^CADMkl5c#*w+(rv;6W^OP zwf_Dj6wnkyM8^r{n){~E7Q$_PhGvh+Le1AZA;@)abc5*n41}CLx;0SJ42rcJad!B{ ziGmq}ey=6*J@1Fmi*&H!>DJhc(RYRH_UR?ECKwX%`Fb`1WU8#7v50Njd{t)>;Z@UF z(_H9I>h;9U{Ou%rDxe|}(Ym*)(mFH}qRR6vA(%1WnduHv@?)0TLhf(2sxCgTC>+n3 zOLpt^wv;F|z|!tu)Y|{GLHp|9=vd=9#c%9Ez1ih!3%wL|Ja;sDABD>aG1*{Y@Q^O@ zo8{PhzPc&c-@nuA#zO8ma$I^m?Gb!;4+UhE{r#C2?|wXJP1P#3iOjrbZ*&v8)H&I5HZa&^$YBEH8&;y7~SB z84gIlIBEP@%q}Ng4Xc3}qsWpL@X{jo(J8X?Pvtr=TyOP;0>w(Fkbi*Ed6FHg8yW?>{=t zdg!Gyu4E~T6`knU?^ygca3@PuQZT%qX6~k=7mko!?!0f21RtLcQrj+t&#)b>L%v$3pBVk{NB##p1 z_TJt(f}CeJjy&n^`Hrxb-^Z*3b?@~lM~Ppm^!0P%Z={bkZz3xcRJ2iv?t}yt&*q6H&RU^sF8i|yrZkWg&UoNK z%A&9JPTRME?ws%F(-}S5WydTl2K+&)?eywk*{qJ?*g3=^jf1pEIT&2Y*yB zD@exofk6vi7o!~pvqQd$G_J!2e3w2mm8O8v;vUKG=$R=SMjU!%Z83IUfqsrPqZ+}1 zbT=kx8+^ng1_BA9ceuSaRG#WHEHBp@;Tyip+$dsdk-84;^2h3~c)Ef8iI~!)YEey@ zAE^e^e`n_{U_zs1GJ7fLD|^S|(kP=xm6oe7J&gr(D)Kmn?or1Al7!#NpIljt<%Ki? zF9=>NA4RB*XIp=rS36i)Ld@7Y(HK)PqE1%t3SY~9ycN@OER(?k035H-fL}h(*$t~& zb|DCj)n)?WY|&CZj3Ub$N6;;JtmHoJ-;y;{&Trr9vau6us!S;_gh0weL|ms-w#%*E z?VK-Y^#1H(RqZ^e?8mhCwFg~gGURE0+tgeDR|xKNm*P0OG8`WPh0t~mPVzVvph&-- zzC0Kzjt?SZe^yX>d|qnZZk}odwtAfj$z&F+2*_J+eo!2z%rXVx_tW+3iBb|7+rw_)tZq!tp*8{wnuY%)@z!-QKBI%rG3Odo=JM9}#5Bl7D~lajYk5y8!Izx&9JP z-A?ssv#2VL0T5g6*G*^|iX;`0 zH?~^q)Z{&-R8&o*XsY+~+xyM#i$o_DPaN}d!|9tV!I?jjJ0Jy$4^pTO7?8*J&WEC^ zu-Mt|`Qkvo92AbGee8N0V4*ne(L59M{Zemr{<|a+k}!^!%yZ8L%(x>P729MccgzsM z>Gx=0PcJ&EPW|=g#cLL$;UN!1CP&F<)czxPv3w6?1r-Ps9$`LlziG&UfXq_7V8o^O zMEMM;Pj%1N`7GH(YCw5-SK>Zg=NKKqBe16R+)FN4;w^8bJ9BQ5Wp>9R$Vd zlzwFH34*c)uht#q^brOE-Hr#2^kusg8pUUVl48sEzmww={}h0R{z_zL`~9~MypQb? zY26kHSP#a-%v!Yas?~e6AG0P^>=x>~1#3~; zSB))I?j6EpdYe?CYh0^s@fwoK!v5nx`P$ckyfXfPwhTZnRo9motc zSdQKLKwBlW0DWk_MC&V=Su#+M?*%B4HTv3mR%*z)no(+S3Da5LK6Hhsh#sB(5LWy$ zLRnq*6BEdkpMWDK>mJTzwNK_=5gKTAlje=VJ*HI&Nk7h)9b(w@ZL+z?hL|&WPSXXi zjl{G@l6}>1T~^t-LDhE9v9-)jV<_47@7sc-%SRF_=bOG|Y;z(F32dx_E>!o-Vt|&@ z=&`mo-0M+8CS;<2P#}eao+ND;*`wyOZqUn>d(mTE)>5iB*TEMkHk}-rPFJ__5!r__=O=@l5zRx24IA`&TcGMCTQT@YN zXYQ|u@-1LG-VdTKeprpJ_Gs_5nBE>osoT;{iUV9s`jE}cT2_b%6WVTDYj=_f^3$`S zDV)WrA~|8r8?w*$N7kl>#oHW=;m>!5RCe3QuFp-$&gY6K1JbKQhuh?Hj-QUQnRi4T z&W|GE!|tpUw(|zV!Tus^LAUOq2o(#O$HF&{kA#5Wu(7z}15I#T@PMs!ke-Xy%d3BT(TMnU@^4(JLcQxrW&gWuvc)| z8oXUV)6ViQ1|>36rCj!Gs7j|ZC(je!h2F`lgpOxOjgxu+(16K@fIYI-_T>`TOg@WX zhDNdA6fyNlsm@BDp%x(^mB2^65I*Jd($Bp*K!3CSv*h9aWRZ9vWzxbA_K8yj=~guA z1SxO9EofK5Y*!+@Zq9Vlpf6;iw3rBpS8p|=4799PLDB?XWuYY(I$2ZB%rI`p=;K0H zP7P;wPxWWeI@-8xjSpm?F}<1Qcs|Njm+BdF80Gk+tnWm$Y*E6JR@|D^-sm4FaDlXh z1r4ZyWOTAc!$kIyi+5ZqutL`1Nk+ZRZP#{COTxqjdt84NnB8rHpBFN@KLj+35f70JgMwNM?`uF9`(KiXv$vs6CF8zl( z(sLqU^-Jk(H{sc@3Rm}4&;@NU2GAOV7|4R{0~r>oC`ZAR-er<%AO$E}xKP#Vn<)!l zC}IsF`N?QU@)NhMXbMT08n19z`#uKFO*uprCfSu-kW80y@0xF|-N7B++%9CGY_)&^ z0kWkeQ1^Q>u9Hn8rL|$YKqI1p7EU|0&3vG`$>-(6*@`?Xahr8DM?7mVd7I1ST-vGc zRZm*6fNdGj%G$|BQU;rSI+fZI!PC=o)sLK71jg2BZx=Z+J{SiG%AYfz6D{Sng#kX% zHjq~u8Fw348$(*JN8U*v9Og9a>>WU7q-E-3W!;+875DsTV0^OX=%S)8y$aDV98*Pj zW6KKGW>$}m4=5rXn4BCO4j^Vp)UpzfE0E9uEu#j{yX)&-&;8y$9It4R-U|w==lIyz z;zWq`&G2<=bvN*dN~pe2c-5tz9@DFZ_TUqqt}Vfg)lSh$42<61s6-^5FKv+aAyFCm zeshUPR%HDb#79%XC7e$YXa-jL-HI&^Wa(sTSTfDBnq{i0@k6~IbSoXff%4el4@X?7 ziF6clnTr78X82DX40@eXroyLJ*1lF}oFwFd>aKK97!4srQ1=E|?0Z#S8+X;Xs^s_e zei@IwjQ2+BBc=q!y>0>|&|ku3{oa!^GVmfcYfvAyqnu>3?)vA|Ip%x|B$&+ldMlwg zgX?grtBt=5;p>5>4HLH~a&oE-dWgmBcwK!iB@m>ld+!dKUfFFoyZhyw z?5W{it5w2(_ zGCnz3f8V1U27=Z_NMW$WO#!1UP}_-^PFFP?y0KW#5-mD|;iO^bMX%tE+_yKVg!-H4 z7GF%U>4+-Z*-OIKB_YijGH}T4IK`OS_#nB0yPH5r-xB6S`F^+&PQMH{nzt7j1xHFU z%PQqZr4%55EMiA1n3MkOk}1Ilz-inorZjSs$LEpIYy3C%h~e*Zk^PxltV4uB8On!s zHS3_7u1_J2rTR4qF+|Wm8}l*RZ>1wm!vq}+bo%nBL-1w1K!&tG4SL(p$^F0-w6%=* zFnP7v@)95Bl$vam)s;y->Q=2`qQoInap=xzLFMiwLY!vD8;c|uTq~A2+=2``$ z#F(Ix2qiFha8IHWq%YR~gj7qC5iHx2VFe^&vlN5CBd!S8O-$FEX0%`=gn;21giI#8 zS4!!ww^chf*iB)_x1b@9M`hcyTg$2idjW|}9>*)uP7IUYW7ZWe;ey`i6fV;)t*y6_iLcas&&P?xJy_PoQSD7xj-g@065~Rx2-TRP46@oaU{OV zcknk~&aQ+}{=-};N>oJYRJZo7jZbmVS3lL6Es&3rw1)86nU$wpm|9(c4CuJH^ESI3 zQTV3?B80dhCrn0iuZzR}XUF&_UYZ1FjRTo zAsKRbZg5NvOsy~RJUU;R|8{uK&X?cqTBKqEMk`L*2D^_cv8R<;6u zf0$6#uW6_=Fh&ycH{u5_^mJAkN}w~QYIT9AeUSS;8Mn(>p)^?(mEV!4(Lr1R-^<}D z{K1U-N5Fua_Z{?m$5o+Y-=NIP;+pH(&#`2g5p9Ed>Q|=|E91i{+o=XCM6DXV4>%Qm zmvvM$-&}+NN4HF-!s==jxX;2w)M|X2z7=tGj=G_)J6sMsQrI?6IQ()YKXY_Z4J}et zJNW!Bk*U=`&6g^@Pnf#4zP8Z>X~R*J`CXhS{Z_|ct$Vs?%j&`6+bpmmr)e+TvKf$F zsWpaLjSVo`A5Kxm8!}`_e7@yd0;s>erzs7l98!y%NW*mg$&!BA7eYf+w(MJ9x!J2= z+>*hY3H+xwLUxYKPr2_L+KBA2Fv0QXyoqnjjc_2{l9Uf`6gk%~aDa4NPBl6#L4; z4N;yvXS`@Tz$j1h^oDnjB$%GmrK37~H_dG}nW$*NO}(Glno1u7{$0J65W-k-Qz(E+ z;=JZ}H>!W11IWmm?{B^&G_*fdqJX)IC{K2bkPRp%)}IHuIv}1l43zMf4nPsd*OshT zPedXMSNetm_A@&YnKFIO2&;n=*a#|KuF-xX?qfVq?92c;zLkU9@|5sd8Nx2pG+piE zP5?0DpT>hQ?MoYtz5G%-l|-H9@SlHv5`bPe2g{9Yo(nR5`-ubsmHkbUEYM3UN<{f$ z)B^KtS0)tobSDs4L7t4un9RiwVHjH2Mq(W70|k`ENz^Ob&pq(NTtn!Kiw6ttQP{FA zA%EA;%*VZ)Q3|_ikt(BCW|mrV+RAj) zK^zVg@K&RjHfJV{Sv}hwvZ(Kkec7mk4YxB9O&fY3cZ>r{VPAoaT5A4nbMwGhe}bh+J+)vyjHC`AXr<^-V61tJAH~k+uEJ zY$r*!+)tf12fopF^E+UuanP5U%kZg>PjpY#t+7%O9}^8*EAm_yqvIX6>zD1{bHApS z#gHWTdN-y#kjesD)uID8c$59F~@t)r-l64>G<}^eNNe} zja@*5;z!=g($)=gYclMATlL??0D5Y%7+*&U<1nzO=#jwCtkS0|Ejo~~09AtNwm>K? z-uyA~VH7Pww#Dt@(q zP*~R~&epBPf`VYyNnJi!{~d>|*a#tz?o<1xN1=Vck9BYG>C|3Zmr%nPSj<+(0`j%Q zA55mBFS6Rw`4i1J$cm99EsqvJ$gN8Lv?FyA3|v72iyd${wz8d{k1i-Xj4gp*4mn5g z%9lM@u-{fd7#P^(;AYRC+R#JjSJPhb>Ha1qmz~!vZW`VvaYB9QfQR6t`5wd~7fsh_P zOF$|dkkicxt~|@E(F|vg2q?HTzdwp8edf1eo1RNIijAyx@u!$@3w{ z!dWi0xpW%ZEnAqaO}-Pa&+#wmns}v?4OJdOr`aR1t<}{^kI{!;8BHse$8c?$p=kQ-`EgZl zmiNNTYn>JMGoS*WoKKek4@X7uy^7344|Bqukqb@6l8aQjqnKvt%~@#0JB|9}hQ=6CL4!qpV*T|n@$Wf5KH+%Q=PVXH=h%B{A%5p?Kd5J~}BPoG7JF5ma?X>H;K zN0Bt<9I@je`E0{P)AN-a8j^jBAfsY>kmV2fz0EOywkH$*>xJX}6qrA>-!S9b*wjE_Av(9Uu^N878pcqGCs)Z5p+`Se~nBp-jjQe}Uu3g{~=jp}dHX zRbTU9r72PsX~vrq>@i31XiMY5&#Z~F`S%HnH?)reyvAk%D;+L8C(+LQ#A^w`@F3Xr zz+)T!FQ+2q0V+2@%&lc%Fh@z#K~;YwnZfEu~m24Td{IayhHF7FMma2&i`n`Eu3ckTr!3ST|3 zn=x;N?8;R$1)x!shjDn&O`7T0m`dKH-4->y??}TGDQw{ihK8Uq=BmliZ23r330zlI zM8G3UOOgwLB!I}1q9!Q~m1;=bV9w?#X|Ju*?x<%Kw9~c8u$w?H)Vff15fTEi^wz{k z>PoiiCdQ$8-GJ+2U9|S;g&}b)BxE1dgV8@Z`uA+mJY8#c8u^73L<#Gh8uP~?h_%^z zQlPrWpT%H7fngl;rHIQoF5AcWa%CiZ4BsF0fg#Y<8M8ZIg6LIuC1$l|^5$y2(nbQT z`KPbQHUsrJ3M@LatA5=8`YyknzHg=Rflx69leg<2Y5by3I~RhlCs+#G>3E-Jv_()^y}yYBVL^W!P)wnv z0VkdE$-qPF8*b@xX=~)NlTrM=A19D1=p84TLy-$}v<8ww@6-l7CR$~f>F49&R_fdR z#v65x19Jvhfd1?L*a-B;HA|`Ub+^naDMe@zAtTH8o}3lQq{J}PWzW?To1-NiLXn^v z5kW~K>h#mUY+H;&mB*o`urY)5^F0a<8_=x6GJd6(#>NvoV}EEc}e&SS90R--c*<-G{72&8Jv%F2Rf!; z8o)SGMy!cZ`Ai(!Yr}|v-tgHwbbI#cBPeT-6;g9U*{Pm9SV-i~>>@hG2d3Wx+%i%r z1$m}A^}@Ylx*@gp=abQ&O54e2_^R8q1aK=4C96oaBZ6N4IeQKdHhgd{Wuc-$v>KPJ zizyjcMRKhuxjcTUl~GLmtw0)n)$>KFNOjI#3)_-J5-W)we~vCKya3m%+$|(3>FDWZ znw@+vOC2TGA0V14ypQPGj#RedR8{_d6{Ah}st$M661le0bi2-22r2Ei^`D!)K{pyf$v2=S(Q z-@h00*dN;?w->RZ6q}wNsgTFtALrN2Kv1M)1-nwn-Dxd<2Tg8PdzRL4LufKqM~KLZ1XZ$ALX$1bg}ivY zz*j)q&{CH=*B%5>*H+S?P0kjb`MddDIX_<;WZo0&G)nb3&LjEen42#=h z@PbuSChZfSl;kgRI+%-MJo|U~j>-!53GI4>>u}w6CHdG)p$(_C(G3CKvc4x1#rFWa z@;g;%{A_KvG8Aty{@R;%OF@1qil=Dgb?u;3oz(we z&waOnT<7JzXruL`r{Tb`qO?EBN9hc?CqB8PE?FMq z&N*@&FT|w^!KG{(NUtRT2h2q!eV$ke3{ae%lBI%lOZQlClEmq=Pg8akyb>`ai!QX& z10bMpQM*{2hYIaZC#svq1%U9Q<}2Qc6&yi2LfO%uu1iN&~! zBpw`9b zT^M%E5X&3x@6tKZ{5Yv^Lw-+rm*4WWWJJKECiNXNic6U*vo1aPuatV>YH zaG6;i`b9$>i3YCK^ppi__Wq#i^i`M*KfD zTit4wlMYQ_WL=zP@of-oC1$EW@UT@CEjdi|1bb`fSt5|EYss6|fxqFUJ|8kYjD?t6 zW28_&1JD3T>E%7AHlo**bXzc^Ba-Qe;AAr1at<5AIrAl#x3La$>TgRNich$V;V8Y~ z;o*~+PmW7o5J6TH7%A;p{*9YZ=YJ0hUfV{ds(^o*olQ-}`Ul9uh;yZRXo36hKlL_N z3znOGAX}ZxLsfj=f}=BD^~M%IFH+VLUjO}QLlqaGA%PJlg})&IjgyAY*hU8HpM@RI z4dw|I@s(=Yjf*5wbUALGUBvK+e7$qB9e5Om*r_=5Rv23WM=*NP9UI7#XC&b`1d~c~ zNkZ~u!nYo3P{z5;uQu|QA3D8z*l5XQ=JGCdeAkouDswhs9LRps?rs|VEvv5hOPo>d zlntTtw*|$tr!iE|T*8_v6R4#ZI_hF0Q3G@;{&8hOi9Vl3Q~^-_&Y{a;bEbzjf6?OL zz!H+_V&)Rv!gX(<-BV1?cJkD`@G!mUj`9*#^yUNg7cxzmYT=7;<*X2J%f8FN!sX}a z$$%yeQpv&SB)lxNHYG0?=Rh){7Neagk; z!|DdcKuBPK(M;XG=TiT#b^hgEqV4uc2LZsA*M7JnlijxTrk`sO9G-svDJc~QtRii5 zwi}G50tD3T~4jNCt(7YdTY?(4Asr{K#B+UqfVtI@$Y+5lE{Ev4g9J4 z$KI}?%D;OeS8n4Vxw(5aYfvp+&X>f-J5A&3V!et)rWk%@6#}=qoF?X$%6=tDdCh`Y zz2J!}{DotD=S4Ku(q+R1x(v@y?7Vo|Mf_m|>QQ4hRRqcF#MHR)6wzKR74=AfzNe=oQ+;I5F_7JD%A}TJ28w9NeOTktZYi^~e;cowNv0?$! zVEa8aC|4{N#F(J!ye&H2r{0IJ#}ZBDNF;>hBj))v{sBI@>^wrla8(p>xzDO|aB=BP zV!$F|dnoAY{6^8K+QEjM6I%rV3U;0l@yH3+gK2x!-b0ydIN~1vk{_d#Ull|XXQ0$p zlQWW%f-im5EBWZ?xO|;-3|TrD-?{G?Oq?+*lX;xCV9+Q6m@VMSm$3Nx-WsX9;tkqI zl!M7TIVSrW672u7HFd1cn<|VB8im7mJLn5xYP2sRzN_-*o*+|+XVnH|H^Zl<>$oF0 zzbpuUc6pZN7SQ@C;Vc_&WeATg;q0tvdoPG)zKUS=+fBb5@u-^Zha)85gYgxdf!AXl zp5e7^ZrRS$#Fk^MdY^@wy58l`U`ULH_tu1vWU8+SZB_1cb8S!c(8rW;pjufY-7G=! z2*dnRy*$}0ckq)&Zz4yF%Z$x&J%v_B4MHcu*+rz%;IM>-)zq*viSbVOQF0ppHaadH zYFe;L9=hKhl8NT6FA7tPlkZl#V-umvKOPNrgA19kKc$9Bc`F8E!I`TDABiKc%NsZ! zN%PjssSNybHP}uDsi*b9SJOd;`?$R^uu{pZ^>(yr2WO@WKjnNkIGTaM_}(<aq~24D;o`at;{V~p0+G|&-W81rG`I~0sFY9A_sH21{>dI zCtCNIkH6@39oY`;l2_ssb1MW)(nNu4;S{>F!6jO-CS)13+6&wDAo~})rT_y`9Sxjd zVH6RtkdsCQQHK{fGG_;>Y6IcZmGChOlzh-q$i_WLBQn|AuZ!YRQff6A8ci0z{;{3A z+Bw^*1O@W0HdzLPvXt~bJNt??o075jpZ(?fW@ljlzM9~^U58f>4?zhDli20>#(*0N zKmh@@uY@3Tu`=wn$zK=_XmT|XcYW_E%X+l*H9yT=_rbTAjn)odl)?eRKRq|@^ znYg8^nmC(u0HgqJ=F}vL99+~Qg~9F;p*8j5E`>Dy;1ExH&TS*#XQ$Y*#2vuhsZSF@ z`k`i-a2C!KqOXad%4Pk8{aYb2?!5=6+Tawf&!YWtoVZ!7+~4vV>36GBEMG#%Vi>r3 zNIGqMuIQ;NKi5eo~Pu1^D^m(Pb6W@l=Xyl({T;go=|FlnI|mz3@xg=5$6kibx| zt2w!@*vn>klgZyf9Y)$UL6tx(P>!HoLF97#vu=KTElCk5lNPER?!)@PqQ4(qR)NKS z_tmaUIgW-A`Re&d7p+xyvgJSn1fu66T~z?lF#2F0kLt}xq%8k!?pKIFq>}Lwa3ci} zMSYmIFb^1HB!Jto`xdbaZTnE?&>v4Z&apnlFejq_g4zhLsYx32SNarou4tm@qj<3s z#u!Or$bJ;Tfx>7bQ)Jo84lAAVFjOB=D)V$6B5`@^Qno8($f3K-v^BXb_GQANNPnhBUa&gnISNxU0d_n7#TS5FAJa=e`3}T#XBs zm&wv%ce(q0oh9cop;s1CXX;F+Nkvs+^e5i>84=eDyGS-PTdk_{1O*LE1}6Gb0b56# zoG4T8V3gl+LP@^ohtbTSDt3kDYfqMzBuK8LD34L{FGuqqq%QCaG4@L`S%AVfB(TTK zFPaMLgi7yuTUpALgzUo$`?3-mCNPlNa7v3voJY+*B(O`!#Cp_=0+Wr#2dk^IaB=x8 zI~>TI+LWWCyr{+*xUutz!~sLwrhxFUc5|1Lc~zCw<>l_Brf&n@&6Nf`cKKdH5|Z zqCIO>Lk`JF`HFy~wW+MuiE>gU$p26t|GSY9WW=$s_yelE@BW^meif7tvNX?_NRMYB zk~95BlyoEe2fK2*;rJ3I+LC#q@WUEJ=qP-trHjKo-d*Y3@EP09y6`kp&(p%(vqXY zWB(2CvDmP|G+LS-1z7;V+qQqeg#5sX+}}qvR*92%2d-~`W(~i-C!Rv-QpDfr9ZvzC zSu|~;fa&F!pj=pLwgfC=2!kc$|M7JH_K_ea2)UbypmzY?2e|Ijp1Au!Yt!Y)YRb1< z@DDe|BrO1@zWLE-XbBU|ef@m*>o=ogX06k<0xb>A_KpIiT9poovB-rReiO4}1iH-C zY{XO* zQ3*irlM;@Gr3>%BWFk_AI#Al0M3?g@dTAs!2_N1^de*Z2QHEZZ05drlmyhPdeVR)g zw%tNadaXMfjx*f0!i|y+)g>m{6aE=^<9d{lW@nG3UjjgYbSZ_$Mp7)KB8bL zeqegbs6ke1e<6U;pv8?9&GJE;E}}`HaB;oa#1qcv$#673)}MgQD>57Q_3pHZrD?Dp z>2&_SOH9>ot~7kT3!=A=-f(6&>tYKhksCw-{-2fX_Z8GiVRpyPwaI07$^i<(em6QH zRt|>Z(E70(l!vLez2dxi?yKds?&>I4SwVd`S)7U97Nocv_XnAt?yesgy|tg`;*Wfa zvWM1XK)(1Uca&tXmLq8_m4!WA+T^i=dc85AZmw*#*7wA<2>Ug4||T+U-l~lgp?I z1?2zd`hRAZBO@9M1HBy{M_Oq|HTT^q4x3J-pJ!i}?0Y~{qj~WOtW?Z41_!rk;wIuGylEyT{?fYeq%J!31jnv1a_#nzt7VrKz=QH(R`CDrcS#yAgQ;OSGbP~m+Cv}%IIy}n|XOa z!*kxdpcsP|8i|;q=cZE_2iKF<)#X`PggrDl$X={vfj$PZcaI_h#%`9~iMcQw@w-CW zXia`tg2jY4))UDMr1Q(+R2)rRSJVJFQc9mm-`aogi&0SrZ;xV`#`s8g1-;XvvU0Zi)9jvN{3`qo@^vw+7BCw(B1w(75^6*;! z=pC*Ym`_&$EbG1bdANb1fJSqv`j52@I(KZJicZvT7A@TYiHHR6sKsno66U~VnY6u&iLzoMH(7R5ORd)AfTjQ&3#VW-Y(1;xK~;2K1*GKZ!vv1S~B)Gb88>Pzy*AQ4?DQ6Pe=T!*jd3ftFFg) z`?t5M=&=Y#gzbYW1j9{@j9_6SD{2~Ar!sCP>!ubVsGn7IKx?AW=51b0|=>OkNmPP?}3rz1%qZhlc^*AM7+bbvfJp_i4Hu+x%eqpX! z65C9#y&0$RlK{SLkZV}7nCpRu|A-BH?E0ZBB8Y)fgT)m*$n9+jfDK;p4JvNczGK_$ zl7*}&<6;BZ?C&_PqzTa7RTxyEB8&ZWI*2MeWt$c&*_b=$wGYxl2b1#^ivRLO;ERN? zpt6v2+AXJVX3uHNYbpEPdQ)^L_@u6E@4T+;bwRBG!`_DH*PB6^V^ zYj3~;l-fBe1GTUcPZIoVXC6OBf^zoQR5Cmn z*(REIM>;6LQ6^g<@1?q~ZeX)xAO_sA>N1DnmY?zwh=~q@aR2KjyU#(DzW*FK@ne9v zns=LB>lZvYfb1XSJYp$kDaMg*7tJh0AB|Qnv5~_G6Zc_zumf z7e}PgM7@SYT30K9hD32VUJzvyMb)LICx`i{f!KM!>G7K5Q?cMEYtlG zr0&`3ybRiuXTcxUifD;?!KM7TCX@kW2329ZjRVXKDM@1rK>KnY7Z6#Pm`KEw^G3Lg z+AU_6TA0F!5&)sQ+ZPTcWUjaY*|VQ&K>2*_-rOB-y~tHJb{(+ zxAR4MC9i5ub~T|5x=qb2Jm#B|9F3KC?`$Hbv3A!l0ybUwrByX%hXj3h(-{Sa+v>jI z&CV-g_8-XsK2SUunnu;N`{Wsq#7+3gNuSz^LvNiYv6j$dkt$pR35#r9oGZHl!P<6S z!+4}@j2W2`?6L_z&u1H~9y;-5c8*n{xMM1M{kNl5r%#4^v^-ya5EZBqer$e{0Kv4G zOH(4CQUvA-qZkaH^hha+wl^O6R0&V!uLp3dx*{*TbVIv7%F4#90VL?- zSvk7&TXS)Kd+Lp6?A|LKd{iZ`?MshDxBqE*LCQqhL<%wF*3kmY>JGtQc5RPcrA z(vLh*2u0@j5g2{;*}ojMm$=Ow%8Ol)E_v{5uu$gXR2mySn*LP4Yx%wnd>n-1&16T< zbNH@BQJg#?>j2Kh0P>g@HH9=I{6LwrnAl+9*AO%$SsNUhi+sOrrfAk~YmQq8DR6=f zoL3T~k?dc()}{{nSBjO;srL{|D{*aK+OVpxOp@7`aS%=xPZWC4KQo%c*)i~y?h8BJ z49i+9Fc-xJPnO}%6lJJHJD-?^RUF~M?f1d1;UU}KY~~=-AH$*bhmVONjHdecSv`4mvnc7lyt{;W4z}* zzwfN|EEaz}G56lHXRf&>HojAI_mrgllTM&6+9P|@;2|VSi_1rG^EJ@9fo|y2=;`95V3|1Pe$o8DRBs!#O5V@B}#}FTp znf0Hi7Oj`PMil>{%NF?UJkMacV=$^6x_9_2nKAJl^K1K0RBQr#be~a+TECYnPy2x-LC&k0CE^LBG$!?O{*HI=V%EN+oI(hMyA?6DcU2 ziljATGRwH!;6C%bTvOFl3%`y>{!u!8q?Uj}ppHNSJ_&SY<0nDSW{k8e!O&}sVe@VPcQ3)OJegI$C|ONU?m(1x3}tV(Z!wZp{J?S9?7YNs+sNMCFLH)nNZ}-brWD>+w)<$2;GotU&UtHn z-v%$TJ|D4SPitx5j|lD*l0IG~Waut419M2xIZC#RwG`=(0y{h$rzcQtCJWN4i2bo$ zPLrBEa_=s^YkrWZq?txF&(Dw4B>u)ixn6HLQJ!Y3s{f}`dokO|)@J%)mVJIB`>KZX zM;;|lQmFw8K?PBa+M%Cy@!}6Eg&)g%3#@2l*9J{pg+kWRQ4Joyq!hY61#G)p>TmOo zUIdU4*!o17ae>ql?41kJM#n)~wVpz`dlXHkdodaq8R>TQexIwifp#}j>f0M9oLV)0 zKylcnDE#;>%wo|=AD}^W^#$7IKk-UOn?HDRH4$+6sHq_ zAi6)pRv?kngbE8An{GE090Ha(;!%GN03X050sJFree+hWT@Nnl*>2Y(u7=&`qt}6L zUeI?}Jm;>^D5 zvUc*xD3AK3g4fAYa!_bwV7`cA<%zY@HIwDTI|BoQch2dYqAqGO@M^|=5fuPvi$`&P!ha#jFjePCZu5E3B2N_ zppUQTePUj5RJnDnD@@pzg039TgTOWbnu`!3u;%k@WZw(4pT-XP&HN1fo*6Tq0d+Ne zoHcy1dUFL)x&$RYV8JE{0SW?)MVxS`sf=wNuEY5glGnz`zL zY+DS`q2^2<-8U(rilwiUphff-Qf%8rrEa8JcT6*5r*qpAsEYgPVrXa6_`nB)PVaA6 z3glFcpS(`0Eg2j2`h=h=69cw?PO5h_Xr4YMdlu~J7|v;e=VI}CW8Z46X21Fx@Kv~i zOvR{-qlDII7Dh?BS-|rBa7mUg&3QMXFJ8#f4Zv3K0X-Kr>vQN-E~o2_yz)?|_33by zey_FddlrH%#?O=xhJ|wkb=lo1Q3D(4ZqzPh$TY<0D>u)j3!k0d6(}gwm&SL zt|G!>zJK-@_%5&T_A~Av~ zjsa`8MB64bHElN4D@jhG<>ErtV7S~4G`bQ}P^ghxE>RvVtvkOGA$4QQt4Aw#*HHoi z@tzum0beGi)E5qaAJL#KDfDxN3&Df>O$TY!^U5@BDVVg%I@#@Ok?$8TXgt$y{nW+%kidhTKR(uHSwXUwoC`R1b*P8RmChCrj zK}d|TjeaeNDg?FBh5CNwU6n8Et=djRXT<0X2~g%Tt|#)YR@?I^xBNtFb3-Gvioaosu|=hsT+shMSzC8R*H{DqQw{B%xr>8Yoh z^7&3Ueb~y4*W>r=y~R3KRhC5E9@-+hB$obW-PJa2v`;ns;Al7ZHJ?L6kr!&r{D~zz zGg%MB(Am$3!`zQFB~v+Y%x}x1SN5uqe1_OOyJ`|tu(*ru$j{Erpx{RCI|8FS;=m5y zGpuKSgW5e*1&%iVb ze^CEWxipqLaCv&lPrdry*=(52@RHta$KY_;Dd^b3f4rP|0Mri!rS0L4v{pge&Fw=? z;%cP>spqptxapAo;^N}w0ipjF_stnxkm`!zVt zatZ0{+dD z(UP2?uu*L@u2X*x1(HC1yVX8k}Q?j*Wwjl89NQ>DWrE zagK2zZ=!}A(3tkP6JMq;YSN+q9;ze6ad6hQi~tp_%JWey-M)t&|SuBjPs=r=i7 zub3b7j)kBZ0d8a!Azw3;wy`TJ2>I3a*TiZto=}`YA2WnFZ)vUOqIErBi2=t%DSl9PMz4qHt%ndOPXsCy*UO)OZ>*>IsJ6mhQF1XDVd zBb$ouM(Vk&?aBM%0tV%S;Rfks4f#c17)&ZsuJrN(o9m%pYl@7Xm8#*#vg7cgtwvo# zLl?>&KO4M-n5iYGrZUH*dn!k*P)|sy zcty3@EO)WyHLJXQ>B{1Soq6t8;|A|%HI z160G>kx*ZS`@N8yAg6WPs|H%qCUU$@2SdVWG&u^+k-bR=JSqv^vlN8Rlsv`^36Gqr1h=1(b8yE!V%Ao!+v316~HR?t9weK?NBuvn?Y*6)+>ja59xp zm3o*e$D++PlES@Qug+)Br6B3eOn_d_{rXu&IA*YqAoOoqNR|#{#Q+nkFKF+13fXo0 zRiF2oB&zS*1D3U79i0Zg$D3?4j_sl37z^R(+jBHI&H&}pvmksm#Fh?t*_O#wb;e#ceB@o+*HGqI^|y5DMjxK6N*d3jqwe;mKvv zB?b#!_rOdm68EL;>dT;I>4;#=YrbFU1}%|P0qN>g!Y24fEf_%{brMG>$t^$kZd`5V zzN@pcxnCYhxy^{C0M-IW7RdWl+H*TgyP4=}wT^ic!T#(FuC%Y0clQqp8X8pWEFS>| zQRtER3htMvybEw}+D}=g;v@qnZPF+g5|mz7LBPuSy394_%7+|r{;ORpN;#x?#my#t zp)u5UYnSt}DzcxM7$+s^W6lKz0p8Vhxo2tl;SU&|NAF0M8ViZzv;S86F9{6{#~GB24I0);=PCLg-B%w z79f|KlTcc+FMegk{@AgXT--|>7eKPXH37;{2~XXVS1M{M8|R7VmqWBN z-)0|{%(_+>fc#>sy!8M7N&dA~Vmx}n<3$m-YpY_;L08$zAE=sw!xjQ>M=oju@Fz%(e6iUUP>u;QaYpI&X z)o?v>FtNy)mw+RCxt)%C2TP+=t1|US?cV6cPD7+6q$eCw=u}(Xb?`l{eU$WBXsiYr z{pWLWEADQH*FlLgo!JgiPEL*v5b;##bT~1U{Sf_m7xA}S;_qhtT9n*?m%aU-P38ve zvb~K)=bkVEy0O-gjeb7T$L2^yHX9C1(T3R_)o%a6IFAY!A6#%LQgg4aq^(%|T!|6l& zlWDz!mqq8@<#Wu`SVQkOU;s%pX}IFHw>N3U+Cfjlf~faj^}6@|+#Obro3_E#_*Q0= zf=qh_tD@qR&3%haIu&N128pLFPuxZaosvK~8w*^DV!GYmkIdu8k2&kd21g_e41bUN z$T1#ULb*~6_U-ps)4zLYPw)^66#CGBLW?mk?qn7akNYbcda&^KGXm+PuG{ZNdl#S- zNFsd$MPfA^)cAPRMEc-33@eo!^CMQc(+ZT!;5f$ImEur|Il}$@Et^?a-vjkCEU|lY z>~EVKsZlxMpWCJf3k`k}?rPXl|Izj}t(WAwn^;@eC>K!Rdb8e#;;erG5r+Q6sf9z2 z?(N-ileEEpIBzGryzKTfqVr{(gqcE}Mr%ri^x?;0V*9cgjn(QT0pdrXt#AeXaY5qK z;tcLXWY=1BKK=eB{OPLK{e{Jr;0w$E9#6-gYG@)|nSg{Oj;hx+%dIYAuF8#vpv-{M zF?7gabmcXhac5;mSj>27>4>#;`KaCAyd5eYJ)bdnym2;CVZw)Nbta;ofqrFes!T*X z_~@vp#HJItm=jK*VZQk_;n0`A$|ny0Qni+5EJvaYMDhQp)>5a355TwyHv=%y*KtX) z5p&f<7blhxbO8TSioyD$ttE=|)O&k!Z-4q-M@9U{7M6CA&AtrBqofw zu-Qq$zI2@BHaV&c#fqC()=H1=RWUi4NMd9q1LNtj+x)l0`SA9E0X`cqi!BM$O)Ml^ z9H0tEHkRwrUc1`zD1W5R;vT+8xlDQYA$HYu#pBvxOs7Dy)VX=(OV#da587(MC6l=< z8g1(hXM>)~x7$*!mH>9UR$+Jkb-g!$GC%;z)VD*uSmAgi{OCHk5S*Gyo#)8`f`Ne{ zJepIy99XRU7Z8#WZn4S|fZgEMuRfP+cxY&(OeJh`yT2Y77|3Cp`?8A_D)SINo6H^I z?eIZgLgf|7p{h^86q`Ax7ew?TjM8H#QtAGE+vSzWpuM6t5E=hUg6jxos8;pv16Pe# z+v>Y*Z)cirHk#l5+?%Q>v29=zo(~7Qdw%5Kw+~fOpi)0U+SowuiC!ko^A%9zfUX8kl-tK z+^fe${Epr{?1mFh>GZ5?GUcZ>8p4&WNqwk@zdh3um@vQ(gcYOD*?vapcngQa_dRKP zy4PVE_n<%3f)?}><1*n8*TcOF2JCr=pTv8#xL5ZOJd8T^3>DPo=_yAWurUbi2U|cP*NgWIgY@&)>_n+_ zTtkP~)m<-~_+FC5@diBgV_!~=fkBkdXGWIt@+Q!x)(ZdE64oae?#wc~rkPOUH$@qj zC-!o3<9Diz3=_J>#`&d>YAju2nWOlOjG@JBWcArK4m5^=t=YlRKmo{S9z#vGwC+xS zp18}!FPDD_en7-65o-~MoM_r2U5e2U48brIzwMnXDCYCZ*CBp<78dDg<+5X`4!<%v z$2SrQ3g!^C2s-OhkA9E}9@2*_HO8T+0UCw)TDE)kd&~&2uD2v}!(kRJCkT8U zke8dU|MVavoNfJOdzQSNap-Hh64_G#Y(Vn~6}i7gh5oK3FeIS6ys-To0P|!+9RQQ` zZcgd_Ut~j80#dy>nz;=aBxc_R(d3pznmpL-4Q8#2A9=VaUa$rxk1d)(#wJP&FvgqfZciQg_NF zYWXasDImVvCsF#Y&`{F;>?aNR7n*Y|`m;2egO>ZP?X@kpL7Q60^E?pAJmS|8Qm zNe2=dF1&;Uqt+w&7z(d^RTmW|m`N*5-qY&W#Ra1B1p0nBKP z>ygUT<=o=IlF}Kb0;c*u>1J_8Z(E0h`|X=H&yFDnyCOmE)OidzsN+mCxxclgKlzdr zuI;ye#n{&OV9lH<*cz4+_!rB_3w*9p z^9u+_)PQeNFTd|zj(M0-7~`PPngZXYD$o?0v080~erUk7JyL@aZoRSu0y#{nsp(G- zl^fTbi=zI2zo(KHfZT@bu)$=F*u^d1@7i6(!9pVGxZ*vLMaLhmg4PM1O9Y`8Hl=!{y zcNjDg#}H7Rze-E|P`i@|IiIp|EVJCI}v5)ms_EF@^ z*Y}a5%FTX$G3Xx2z08aHCtbJ-YE3W?xW6fYPd!=UTL{@*88h^HstQwm_57{}*#OMFQsQ80SEqM*%#) zaBJgBaM5YQqs`GLyHVS_jdjkS`l64=Y`D0=o3s4q=60+UNDBI~mjPVlBDUfHJw;HO z>R%G;F+$PsYdp?h+wmtVY7*pKVme0JtE3ATatY;(H}Nc@DRYK~L#=f#-Vs1=I}mw9 zS9+(eCwcDaJlBNLlR*~QCIG))<=ZAt6>?Cpeds+<@-{n3pV&ZSwA;IXGNIZE1Bp>V z(d$EHxASTl4~H|8AMtl=bnFo2x{{;GMpgC`{a=+kpEwMQyp{u}-|$czXARWA7fd4B zn260G;uMs5RjK0IUztma2W*Rrb?jpO^zQk(bANtl$yuk%v9fZ?!&JQID<@U8DJyBt zj8L+4pgXe8LvP)+%Z7~^arVw#K6*q;>SW$qyMp`>V&&2;Bug`9vT%x?VFz?y@jTGK z!3NH?loQtl3ni6n{nLTzlnBkQts~}ZpJ1@+u@noV)&JL8uX*BqX=!T0Jr+LBQ~|rI z#ta_So)0QSFD+qGKAITiKwPm2=@^)h zCWlNZIUF0Pin=3;g6_S&p)8crhq7&Gd4`d+y8c?3R-m&9fhjLpUccB_u(@8qxc_PY zz#wddpOA)7O!0$?3MTWx*p`@zs@mr0^NxPk)6ejIcdn#Ppc&T@N8O*;ONOB^8v5lJ zw;v&hN=fvYWv_I7Q@}qtpH%f(9&w)d2j&8rcTEYfaW-w-^8`!E=JM~ZQd9y5X@1uO za49f;MMQ7JG_l8;cY@QvqKKvpl+J92WjE@QfW_&R=}?antH5It8o#JW}FjZ?g7+b_^bh^gn zh(=U0q67EC?sj1`=x@1^>RrxBq|>=WIUL-roXCFstu%gNH}2zJjCfsS?H((tfcTs9 zv%E`%StP>g&nyO~I%Jxh$(<_`!VMbeajO|#VLzMPq0E`(W_uJAZ{=$vY84NP&I_i% zY{$#xX>fp}kma&{=v7T>oVyOw6XaYfZ9E;1g2UCK-q{SnN6P-@4W+7NFgSRhq;xo= zBC+8M^zcT)Z=ca~87SBFrMnI_aXzd_b779MeUbZ*JzKg4YAkG4c{Vy%b)d*0hRL3M zeZxnjI?Ij4)qEN+@-n^#Fl5Qm7IRcVlgBVH=1b1EVO6}FI%~qwFTYQmSD84+p0b|k z@mG1@jG+Y=TVC>PKfFf=cbL`#tf(#Q!QmkofbZGZ*|+|z_8+M^$-pGr z-gwC#YaLGp@t*j5^k>w=r8nPv039*!`RbLocQE;X=XhrLt5Z93eC(D{uiIb5NYfw$ z?+s1fY4`R~=J;y6W-6Y-4ME(b&DnTISijgnKtZfTjstTqEE^UAf|=KmNJVc>h67}v z0H1W#)~Y}E&cYKTyX|<<^W6gLabWQQ2AlQ799K@J3?__+AR6JuHMZTQ$M0xbcH&o= z@%@!1`o+Vf^VK{l{pI9*P;*w*%tGBypurHy=0QbPOonpv->lj&0-17M>+1Kc(iwmr z$;z^AbD;T@0+5Y1p^J6(k2pE(u<4lUaBT99&~Z0gpSmapB9S|b0Q{Hd=GTOn^{C)hDadRfk%l(xC)vmX@Biii^cA5X}Z@u680}PI{Y+ChF{%`NI#0=`_*r?OSj)K_y z8HbA_Tf1$=xn3l`3FtZ%{TmenZ_N#Vp|lo}qb`42L*7KvwWCd;3bV>dY|ND}si`H6 zVKQV~G?oDe(RTkn60o2fc{Z$MtN!dE$X%N>R1$f=yfUXOSaC7cORjBD(jZ{dyD{uN zJBYLE#~!Ic)C&M~+bRvz{Fd<7@8O^WnHpyuoSLPAKXRLZ{`i5Bz;1>EMEk-O1oF00 zec~ZNob}Lj!~@(|xLp|k%cA^8#|1G?GdN8eWPS@*PYK5VJi4O#S;WC!_l6Ks4B`uz zlT)1@wNMC(lUfG&f_$@ValJxuwGh-hvUg<1mO>%OOUw9dL`3+&d!JJVyyBOg`GeY7 zIh#H>xvw-}I*xGd4uAikdxeaS9)vH@=a)DNgM@$@4J%P@%;G4R7QFp?}Z-f&hHY~aH{Gdd<|M&IN=aoO=PajiG zt177jTHWM1)J;-J=I|-CdHQ(ibhH8U=!6M${J%o{BMqLn6W?cU!WHmo=P{$gkK`u; zvyS^%_k#uUHT3Qt+DXEfQj4_K`%|i%t`~y&k6IP4&+__nHoZKrUO&8kUA{d-FUj7Z zl)r61m{Co_p|kKUd{3kLvGwS{6k_aQI z16^Rq?B0yWTC#0e)UQqd1d2itBd{ZhVedY=;#==Td(l?cjZy{H&t>FN$^1vWAjlVO z0PArc3rH{w!s{Geh2I^~>>St6=MO8i|FMD4!Iw|N*NIn2BuOSh0wri zB9A*F9g)Cg?A@c`%=br+aiKt<2v?$GSDFn;;cz%ZMpD}pc_@l9b$!+9?RIH^>py^M zfZ09Or>T5O93IcCA%A9z13}$;rpq%g{YLytyPe?x+(!368E$gl?qKB2&Yq#Yg%X~t zBRj|C^!Pgvy zC4}()#^oDK^uVACWp07o)zQIs%Y28^^t2cW3_IVi)UGit<>66WAS4JY&?*UOmCnJU zlAyB^Ax&t(aDfbVyE0c@J3KUCffg3~3?>S^*18CIb-UfFS2l`tFA{?93~wU#X6rC# zN>&S*3C^}gf_1wDomfD_Q)mbiwPc%mpRfx=%9z|)INcHci?LS}LGu_a8|%&yWE=(H4u{mVY*pPM64XwK1D{_G8yv(=J|InMx5D zs2H8m1%isY`j00PnfKX4R!bMOwU*1@Hq+hZmCP8IT0PL(p00MlNK!Gv>wqZ|`)Xp* z9DBf|=yX+UBx(r6u%OQ$v|E>~?cCs!yJw<~$!ikf0*p)7~YiWEI4mTz8(!Em#! zW|>=$3r1=QT)+#3@;CoJ`R%M0>Koe+p|!}JKk6dlybdojuyT&jw9NdM4I5pq4*A5h35(VW-p#k0#s-N zUx^icKrq?J?R*NrKIA^qnSavO?3uF{$!m>|XB9-wl1iqXHYTX4@cK+8NB0;ibu1K$ zI)*wemsO)X-|H1u0Fs|I9=}|xGjGr4%Izw&Rvhwc5vXK zDBBB-jK8Wz5Y(`5Dw+fZ)mEK~Csl&^y&?FJ&d$yo^Ng&Iu7%u$$hKSkc`}5Rb#=2w zFgR&xWZJDU-}a*j`(j^jEQ*&OmV8GiB9z+ySa9j$pt%!bD@pZ4)-6^6@k%_7%Cyk! zYDvg^wL<;YLM3lf@POA3J)Ty(3pjdGHVs!FAK&vWaDI#M;kG_0k9zk_#$+*}?f$&r zQQKyJOErc{?%iw*%iFC4g4HYM1!yR2c#)2+BbWXr9?Eec0B0g+m;tYGJou_Cy+{M~K47$YT%eBykL!N%vi%!|{+fceF(9B#c4Ijwz$2SPN zRcJB3Sj)swC7PIT$g253VB7nPdt|Ox7$%yy#L=|!A zb%!^P`em;0D8K}r@t&~5@VLE*G#cGeydEzjqp-fooL1rKcK2&nyNDFTe)Q4>AAmB; zPGPZlU!r>|d&>ayp-ZYrb$@DvkZgRO)2_o%)D;wb9V~WCfaUtgA$zO$9xZFp{>Q`~ z(*QhWkak{qeQ5BuNNz~i_hsxpes*liVwObdKmGtR_|BAd0oLG%4 zU}Hc=Ya?xflg4Ey!hU(7J-qjoEI($0aN~yp>-J&!s}L0Ei7+x1I$G}g;w+aM+0FY{ z$j|1cJ=*;8+rGS53M>jDpWaIo2$UGaIUj3`ReV>BLG`Jz?f!%#9z&M(h|OfGGRw&> zy=m)L-Jw{;{DFdrr6HZmjn5>3ElX`$JW2h|-ekPqrbV=>!SOQh>|iVCaK5T@|CuxZ zJ+_D4ezVtMT;mp8_YbP@zK(sxOt>-|yWRZa2R?)8rGDmgi66@e-p;eXJ*(MAAM(gM zE!L_6p>8$zLF~FO(ofK=ne6&D=xq?0mO7T{p{~$CC?cJ-fdpB)icpZ&9LfX14pk+e zDZiy!!e5ZbN#Ju5;?Dp|b>crt{|V8#)Sb7VvXD=b z%W|a|dD@if*$Z@ho2Hepd)+|t4SVk9Mi1pX!EU0DwL-sC5#i?xKK&U-wDlQDeX;Xd zam?ki!>(%xT8pK&tfa&|2K$0CR|!l0wwEF*w$i3nUTgieo}0>H7<2Ug8!Yhf8K}SGB)|$<-Fnx;wUKJl0Sw{M1#8PKmA{ObpT>jGa;Ez~l;m1j& zQBE9{t-cwd8Y*Jzvr`AoQ&^V>_epV{Ec1?qlPi~qQ;AmJK&P=NTZY=K25zB)Bmu+> zKPo#`_?}yJnhIuvD}g`9>5tO{Rv)1c%sELIi!mC>V(=G;g9G?3R&X=FX`!$jc7Kl$52)fjdc z2iCih0&rR@CwHYRe<2*&KPvGX`TY93V)X)JCoiQ6Sx%5>R@rg(AuNy=H+vr$7hnjg zK~We{0;)V1it8(Bs}EHq&M#~xlduQAvIXu<@~jabbG5vA+hl-$mhk_@JVYl?NEwO3 zoSN#G2i>j)y0;$@&cn*ja`f&AYRaFIpgA8~q!`W9>ar$c3gAeaa@g*-NZuT#=YOX> z1M=+sXC+b7^so1p2|3kiYgbX7=PR#>`TQh!^)5s+O zSK-mP($6bP+D=@^`+K3eBi>ljKj^O?+VUPK5<@rokYMSbJK^jXPTwBJ$Yx4ZxN@v2 zu_tNR9lcVs#0k`LGs?8yKipG$2#*ZW-B!!gxC6a;ym?=}z=;#Ttf5d)6#RJqsoK^7+L2ww=Y$G?Ij?*!r#BN2?Mqsp33NMt!!O457PD6t`|U0Fx^)WdWJj6AiE!uD1i zC`~e@?GA={h-#m->row7xqL;qtwzc$)A9+@?ws2xC z91Y>I%*~_lO(^PJx%hB)VH!<7D6%#c9unwp@?s zjm%r9iQ@YpoR^#aG$5*R>a2%L9xqh$I;X&@%C*su=gy{?m&MRI0P$C_V9#0R#`u@-3YSGti|-zxQ; zs85Vb!*-(yE6&kuTvZndswJY_&*o z@DkhneKm7|+=V&21<)_}M6N=ow79%#-LJCCUX3Df;iz}vp7Ln!HPcWe{iNY#joN0v z6r$HasXO{D7WL6fx!{d7Pph}t=uh<=p3_TNHB|4tDyv$dMvXAqr;;n=al28;RMv0u zA~_Bawi&mA*hA#_Z5;HQS&N$3k^AZ$=G)eH3o8ivv5w+9k1%PpX}XsyJXs4=Loed- z=0K#d*}VUrG!qydO{k$s{mdd<2!i?tiTpCnK{lXMVL>)I^pk4}qi-8CiE70Jn9$L0 zplp$ZPMVnp-({K3Y$UiC*#&VtuW)2~@VO^dl(XcD8vYDwWFOqOjf}Ys@MQq0s1YxA z7uXUJ%T?9&Lj!58&vF;69##gwRWO*5rr;U9LNw1>v!75)^r?5@Vo0jKkt}9n)JjN< zRxvp9`Q@KK^YZe3w(Oa?3MX7H)m+eB`|ApB3?FK7N*MwzHMV1ALC_Yp>v8lQXrPIvN$&Ixd{eo6REBAGQ_z zw+{W=F(8}Vk25j5w$Df`OV%Ae(2J*LJy$nn^K2gcz4Lvn(-j$3et3`Y!(CSCo{{X# zuKSHzo~?5>yMEtNdBIW(b;apIgVLeh99#o|S$tJf83k;OlJNwXX`D{5QGH-9r#Ofl zR7;B%;bb3WFrGGCA%BEox4o>wstx)*YhmcsYF+P8yr(t0JIukXRYxeAl{6lJzsZqE zYscTC&@-df{@Z;Z2;#{-`Q&Pgpa?Hio1E;)^?x@MJQA!+tHxYz94|pr_DEtpoHuX0 z%3nLag&^GVGD-7q++JL-`bu5nJCu&*?*EFod2Z?xQ2>s{=Ts+YwHW3$guvJzU-Q}- zab<#Ld|gD-nTT;*n($>GW#OsWD5=AV264Luej4k>(U;8v!2G8AlYR~4N!J&4sp=oW zQQB2n~``vx!r z$Zp9ojsvGEx6TNwNT>KjGG9Si1`&7ca#0WqBFLHH9fPCyHaUg#JGCJx(O>K@Jm{$+ zI=$mC!W@xwn1dNB`B9La^D$zM2g%e>?4u|&HiMC5WFS1Q{!P&7&pthCR6zeu;{ej{ z)X{{E4&ZlGh3n}_d=M{^+Xprdl0JaKDL4Mfw`>{!^Fy{xi~1c!j0~idMa-2iWu8=Wc-1aV zlB!6?;^82dSHW{w-kffd=E>EX&VR(dOhg0< zejwK=JIP{Lt!S7mHPF(uwB8A$%if6n2ddBu0-*^y=z!60D6v5bf=D5Ha&p21doqe) zhaW-R1sxF)!Lc~IYv|mQAo8CN5+T3>NJH?onxJCV<`QETOQOtg5a$4zEet0(7&CHm zap6;R;Gysu5t1NBCyD^v{uUU^lf3_5oGJq23%7s~VebD6#Npu}C9rs~xO=#t4pZB& zeprW{U*&lPT$a-TV9!ptmkE#-GRt=G zF0B9g2y^t5`suyNrUtJ5$J?3m+RDz0$>j2jGt1O?&WhIov1a}Z7-t={?YKi_hh1Te z$tP-$66S{C-nr@-rnMW^*O#3FxK7Q$UDB6EN=E?}b&>l16tsN9ygM^{!D((rdV^W3 z){ni^l1ZG%@idx~x9$LK_9rU)=O6Dne86tkWuoyd7p5z=SLRlgZ?47`Xckcb#G!Y3 zdfT_Ssw(8c81i7DQ02sl8I2F0X`1rZzeT=P(t-_vXRmLMp^f@#VyEvnM3B1LBKVqZ zfn)ChhxmP_=sp&D;oxXf`RfvBC86zMA^Vkl3}^su*LMw--%MD(lT1|1A6gvfn>|&0 z8kL-Nu#NE!N7B-8Xp3YvW6hTBa93$`My<6_4Phxs?h=ROd$AFsc!gj9A1P7;^~m-=izwmFN1@CfZW*i zx+^3tO3*G{IDd`@NXGs}&Ay*5T=d%#21gEPhmKsn%7Yr{n3nZA zyQ$F$Ub-KSUAg%bw@>6dNim?;_k1bmtk3CCH5YQv?E_rZOTh3D2*thlU(9_&XqlT|$TIpqI9G4dgevMsh9KRE z!m6xrY!N9!7Dqyg^vz2QX>om{>O)?$gr!r|N{5&>nnd(#<@D96eny((Hs^rzQAc$ zG@7l7YRF0nCkNHCA_zBkH7v0Z)Ql2mQ+Zn#;?~wb<~2)t*7B>#E7|iHw+)p~--?gn zt$#(*F_6B>)0){bS$jJ3|8^KMbU#*R&*(u73Y)Fv4`n!>`8Z3aQSeHu1**OEQH0KA zkV>P?bLeCIuWUyUl{Ye}bhhf`owcp4U(vy1zmoocFLc-oRWa_<$aCGkM~{4J$@1bl=ls;QIEZFrE%~jGc^CwtQZvb*&T>rQyCVj_LLd z1jg4qepo{v`~?IWc$y!F3XxVBwSz-BesG2py8<-3FxD>UF-|8dE-`XDSS~T-!UIeV zQKWOH8F~x4B@cp3{fcmuWrwT|td_%gITFcl+GJ8PC8bQ)`*3{8g6PI|{eGQ;ZYC+8 zk_kBde;?@^Ye-o}0@N8#AlvjMo~`)e>Wc56EV*lC1xLSE3a;vUTiJ0lKQc*IAv?;s zlnLFm1jC%-Uj8vbTh%F}RmbazX+%0TB5pUn)_b>6gOIB0J zf}fjSO}N0fEMMfG?x3N6KB|+>O5(84Z$gqp&$N6jTiZdMYK`iZc~RgX8W6^`|o`G z>Ai>(Nk80kb^%A2p8f(-5fJ|%BFtx|%-DDZzgE*}$@JkW%SR>i#ahN{J;@i-=zSf> zd#r(B(>MLtl8Q?z{NgyHUd&^^Y{)vps^@h!(vC{n7sP3rB>_Z!bPLWi$a|i;v9rP4 z(a5st@w8h7qYlyd9%06Z-_#3#hD~)TRk*1mDOQcGJnFTFEp`Zw%8jeNmB zR#JK%f}}XwzRkaucTE$yT;a)s+1Hkl)=b|2jH6X2{pAMe z2)_V8#AADX-6U@C-}1Ew3IpWPda<*8ihaN&R@ICBUGpWOGu`6Nk^BK8BSTx?xbmE# zYJK(}iB2++0jDa^_L|M>mj)1nPUejUltt2}HTWMHu*L;+TK?OiZX^KW+cdvAOnVWK z`yJ@@@i^acVCBreQ^SHUU?>Qp$JX<#8?N9>1w!o#cS!qenZU)9+yZC+eu7f|Pdl!_ zv50*bxnRiu$np;xfe;BX=4}W=Exf|XZgX}cJyk3>Kc&|Zqe{2GS(|szFUUY7<=wHZ z)=m=TP|(9jDiiKQUX|tajif)CK)=8+LG)kv>hG7HCIXVvS983+a|#R$d|PXIKRTsX zNF*&jl==Aw2MK{$DRy^3SLo@!gN`IqAIrZV`p^G(GmvAFgi!rL2br2pWoxe2+@6Q* za~~Nk7N*FQis?vXZYA>P)fZn5p>=tMZ;6ARxj7wwJ`h4sQLU;as^@sG zQhH&zSYr@spmt2I_DvZ*PiSWWB*P0r$asBjvp?XVprwNNVcKf+Yq%VvI;4uas{X-u zeRMZ_jIZn@T|42Su2FG z%nx9WwY4fOM$tkgAdih*KyntiB4zvsZS3duz~`s#u&U&mHv;jRlXzv>@MU}M>Xewp z4UVsR2gVSM+y zKb!&nZ*BV$^d26IuceW>-0q%&N|ot#Eb!n;jFP|g_}_LANa~Bf=^($l zYwO(APcHz)(%^8ro68ZJ$iMwqtb!vESIVcO^QCKG);T;G2mXuDt&=m#jd%S;G>Vt^kqi0Y>OoRO{>tM3>~!lJ5;`# z@MQ$S6JI{tvfIpmM+vv{3Zt%z$Z|^8ZFGLTOV74A*h#oqBx`m)1=aN0i$o?JePb0e z`#)6nWaNc(g zZ{4o2y5DU(tJPiQlS76!(Lw z;iOS}7>FhONn1yw7{VVk9ELc$;F}luf;2U2~I)Qm&I@JXpN0YAI2^}OqD94NJ~fDvI|15C>e%A#!%c)UC)VDv=`-JM6 z`j3E-%wIV+n4#GLB(UYyPEB3Nv2hCq- zU0ZT(WOXZ?KI?e!7fMN+`w{N{(e)KTb!=VMF9`$>?(Q1g-CcvbySuwP1b26Lhv4oO zoIr4g;PyAkdo$n6yua!eb#K?DyKndDbM{_)t+j#mj4mO=%Z(64YZ*dBM5MXx3JC@g zO&FLF)*=2ZsHp`ciyQ|bk#7}L-uEOi9LmD0whbOr@jgYpIlpm&`nPfX*@71+3(*?L z(lA;*zyJyr{d>)3<1arWPCMPIf!9IQs2Bw?2GR!nx>KL$0Oph@wR4n~t1 zsJ@wlpdd)HCzHysWX`E${M2)m$p2U-|6VNpNp!CHCNtyy z<#_-C9LG0UpWV*s-&P1*X5U*aH24g89`0jxzq)_ffv>Z~W(TTpySj%(#{W4oaC{)y z0kUuky2O9^-**Tuly8~-J8cYiQiahk1cH&P(m)>{#T&Q-$$$B+?-0PnfFG+PnMjrD zd$N)UCIQnrmPHR0lxU4iP~}x=cUO77hd-0@&-(U19xJ%7K2k&Zuq?z9iIPKEJg~yi zDQLvt_7hftk;rnw5ExMZ3BmrsVm+!sxLL{s6d0 zhNFuqGhJiq5U)(w!Pt?5*}9dNg$|)1t^UnRkt{F!EZDe`?e9h)1W78-P55@A=Q(h1(@qZmy{3qMi^22pbAQ*&JM-#q8Yl}P^!1Vje2)~pN2Q$ZDKeQ z-t>?+zQ{R#6F(s~LWKL&<(eI? zp)QHJfNAuRoSL%@ilz$nyZ0tIz_aqrSW)I1m{|fW@*-_U=F1fMUSD_)?RGD~DTCyAnUB4n=+@&`3Zqv5huPMZ7Pp}G3-EL3A9x>_IPj$G1A$?XOqnKAo{QZRBWx~0f1;QK7#U*@rWY+1S z>5V0mBY?(Y#4sH3jNIzmvQ|^1{L%habL!%ZZNd!dC>nb<<8K3))UDC$oX)pnSb|WkfnXTxoSS$&kp^_)I~e1-sw7UhHLc^*$ADq%cYj zVCFEQaX29aeZn*+x`_L8wcf$MT`j%DSRyfmyZgrjqR+{ zXDV7qB>7ahCQcmmq~_yYvoH~)C66QU8Mb_0r$L9}*bbysj}DvZlS-imfPr#EcYl9R zo*)aBFNxkzq>mE$2PWI1dp8{h)Codngp&iA%$X0n8q^z4znyixhSr;|naH*O~ z9xE;*@~I)l((UXoRD6iST?w@}hSlkP5JI82$@RoL5nCTYwoh=)_N(b9;(yd%Q25&f^Tn;anM*93%>N<;&H^qO%>;U&u+<1pYZ+JOM$y ziE4328fzo)NAJUd-u57@K!;ma@AS0XWSz~ACzSbq&L6)@xC$BR&|_>zW*;Ll6Y(4m z=a#9qr@AXz$1M6Smglr3cOpY#xy^q5rKxo&#<5gq+`rC+N$apLBP{pyOP=L;rES{5 zQV@mePTsrp>(avS)mvKSOxj550Hc7on{WE6@If~MG3Gdl(rkr?w#JBH(_=&vVg zMOPZ1ECm44l$7fLtB|_ELp=n$=Hcz}G+SS5K*Pd7>+$za4Aco+{z6G~TC+Lcj+@$` z+E2AO-TvLGr@<{|R>J$Uk6`2CE->gbgQ7tZa;H!S0t<6fvJhq1dAX}R15Z0%fNKb! zFiODSlk4m+l_Y8)k-)sIsOPZVGLcuk5>@d`d?^Nz&ir1XTBY*RgmNm%bst${ctxK< zeRMCilDIpbvQ@jA+fB4V?kWZz-sX|@)15eC$19o1K9?GIovR$`>GgB{;}WO#maZpi zU>>Id(CHc#+N%5LGWE}}^Fn+Zc4eslb$Rtnf=5kY2AL-?2@Z<4rn?9M{ zk=g6nv2) zOIi5$hZ`NV|18x=Wh}9MeIbO#;lvP2$j+`>9tuWDBu7MA`U_S;4V6;aiuY<4=Hgm; zoX&7W5{t)H++0}nRk>=tzSzpzIJhr#Be@b_9`-IT3!Ba?Z54I)ZXO(jG8j*gcZ?{`5)nv8C^-( zoem2YsE|K?IyOC=4RJWcA~K12)cskk9cfU|A`kcc5Z!k$yEnZxN>UgMn&*w^rRjrojMpST!)0}Vm&yFzXN_@NOce!q3=_#2qiv;k0! z$6c4>i|qH#A_^t5bgxwvA~idCpin<6cd9~WOC8}=ptl6e7fR;rGQAJ}gso^q&r|F; zWNtPYGL$;{V6l2fJ6j}88NfHN%S^N_L0ZJn!^ z%Z8Bti~TNDUrf$i1nu4c>s#bbg!G;n!Z6#KLHc$N=OF-^jaa}##9@ExH*O%VqEPq#?U>prWo|WC=)B;v&vWg&#CGk{a5j1V*HBjuZIX@t`|Fy!R zoRowc0W7Hl1ro~B&x5|-JN9$}PO5)r2Sg6<@8`sX5O6p>@+?t2q!Z!~{7fXq9$teO z{oUNwYlY%A`>86`J(kd9GC8L)@rPqbw*Wu61w+6r(Z~DsS;lgI_wcA}(aOX)HZxO; z)%)eE^h(=V%nPHp`Ajo44wqX5HxJDGa8i{<@1f!=opU-gfjZBfQbMYNt9 zr<7NR?9^Vg^hRUZFB7+ejh1cIZr2}AVruyO)$WYD={Y^l(NyaUgiW41zhZ0s+9}7PpDlhLTKWv@9Fg3$8H3mdU(>bv&Azd;if?d(6(j zQ@K*DN;QNn$Q7uP^)1z*I((&*zIr-eP#XaSxyv&wyJ;2g598}hHjqEwvO^-4@HASF zC-3y`3Xd9nwvk%HC8&>~)$5~iTl<7%)BWP9F575fYO(%ABOVWpuo)uEYd2^BFu%KQ zToKx_*Fu)muXZ;MDW`w2xn43JQjRCr8cG~+6YCGp%!_X_C?}<`T{#njulOTVE*>0B z&UtD86n@DxW_4{$Yu)P>skN){r1H6bz@#ZsZv;d^lE2Pq+z*I1bS5)Dd~YzXnu%Hp z34%G=>b+?k)DI`qF2Z!~0 z;B`{QS#u0;A|2*Xncff)B_)PXL}|6kymGu1B=T@mjE>+%6sq*AJZj=da?bxmVvy@0{ppmQN*8?k3$* zrW|PawC7B#t9~!92*G0rf{I$ZN88(ZpzvQwxKmcwxMXEbn~=!A@P6I2yGwqFZ&GhM zr2tD%m0FAq4QN{Uq8)%I9Mga@4l_*_lVrkBe>U|YcN{JS?>!pCWM<1z3tEwNr2H-x z0UDeXGGU03p&(zqUSCUohbMx(oH>K;*jk(Q0P%*u**wKjlH7OglvH8n)t0N>^@I%! zy)dCn6pGMsBvI4pHiWQ3qDDPhQA=i;u_69 zU@TOzd#t zCqT8n{qZR zHyM8H-ppn|_?mA-P>>O>Pg20kdMK1$7qrD%nX-#QuNFQ9PAO~Gu}ZV8gr@6mOFjLi zOJ|Ccr`^S6Rj93A?Rr41w-7*Sr%M$X9L^S|iCiGhaG1{+%Gm;LH5scWf3FEKygfv4 zHLN_k6O=P~FE?$t(e}eLFem>wxKgAr?9RrN&jQG4h3MP2% zPjQQuD=ZR+v^w?%HNa$_CpZaiPkM;e~`@zJifgP%ufe&PO-JrTToL4McgvDH*%neIQYBD0~{P;$q@hp56Pli(M zgB9EzONrMG#v(!V9cn~vPftc33c6f`AZ*A2vkf7~pj2-!|rvv(76 zF~|1c+}h(y*D)H3!2z5~4K0Lhq z@)w#uUxt?ob3e>G}5 z26BETTsC&5TsRzO+e-2Y4X${eud3eTi#-A@umr8aH7m*#Ji&}2Qt+4~ohmzXjc;|hz{Drj~eVGPT_u^*; zi?v$*G}wC66=DtWt38@-X~S1;CCl3U@xysaO0ZbI2@(#+Q&2f??M{nI1i|u|PWT6k z;CO^SNxmn3$xKFJE~chq{TCjI8qY`X5o=y=$C>V~k!c;LSu}sxfhj%kOzK7Lrqg`p zIO)UqFe$Zce9tIs7V`RB6w@sZ-Lv%%%fmlP;@lH(BYv@OutupJU(Oatxz48KAPr`LMwlj~XJM@Ke zEuRmMO(wx5U6L;LGr@Aw+`UJ$WX2J7CoG!Ro`l@A04`AmN+|Jirrtw_xoqsRx>xon z4x%v_b^3+>+qK$}KmY>#TJP?2fHRNCPMgU($@U*~3c{Z^_X$)&{lyw1)Ha-u;vOD# z9uB}tCs*bo4_Q@z*OWx@+(2p#>;~q|f2`Pre-x!5S(}jLrlx0U4R_N>tWE8f5Us<+{HJia`Kjc{RHwMxrIs>nOGaO{{jkYB=Nez z3H4H-+WzL50QJ;w@;g&@uP-4PrkzcHvC{p+YVc(xJ@4kIj<`bJ{Oj-f(jU0>Z_xDv zAy9R7uHSrPn;I-@v|fi#T5Uhoahw&CGE4kRF%Ba9n|ld*EQ^eEI%g*$leq$Oh46os z_nfh98zsWtDth{{?8PZ3d1TIuWd?}xld^at*D8OATK{=;fU(Zud;0~AF5BDLGh%tc z@-^kINPH^*5?$Zg-uv=`=?$MtTFotjm*W=jGLXt#VDx&!#Q*ne(-S{NXPgldWhflb z5DF}mr^vQhQO>#n@vT~hwl-Q^(Nn?fafM|~`@~ zKeo?;Q;b=3`x89xN)_enEw4b|6p7v_RMB&)2fC5b2Y@pY#q(_io#(^G`So?= zqNsQRRS=`;7yZ!%>|(h*NPwEr7lqw+oov4|;ycMx6$U^`-D}Tm+!eAo_Agp@6T92T z#{mP8hg!f^}@+O5Rr|8V`5@@ z%r=4ojIbyns8_+4_pa4u*G5qFA08ZovzGHG)4BwUx)jo$abF%0878a-$`*b1Yt2)= zusvOb_LPS;ka!YJLhezWvS*`sbc#SwG{fd+T@SF+FXr~xjI!2(N>#(RjSCL&dVFN) zQReQ^;|h8PDY$=azAx{xMe7h}5=J2Y6+-r1ZAoXm;e$zwE0)_yN?=b(U7q>H$JW&R zQM9awVq9Bg|1AN9M}%?&;+{E*j98+Y&#fn^QA>M`xyHi-qWWj~?YX!E9gnaLJ_9?O zB$6qN7%le3i`RF*=?Fw{j_--*KXyIeTFPobG;h1#?WQH}&lZ*87-g+%PPZweVkb%c zYHfg;E;U5_ITQ!v)hmhEm06#E;mgF`5=4Zp8v z#$Skk*L?xHpD1lAJT^yt_w9)vBVH5^S72sG@Yb(`D-_W<5=Y+tu$}qYXeMxIkBTd; zZ6+%>PTs_yB?&h@l-Mj)bDT0l9T&GQ2a#jLU$*OKB21FoI0vvG5R8DbDRS^>mdGPP zmbp~eKnq}ILNqKTRo><$T6AX16;9&H-7R8zrE}I%SNJqVu$Q^k1KPAQltsV*6zGAj zb#F8!K2%5d15npcxSiOhwtkl@ibzO!AFB3dD0D?G8XjCu@B8NqaMEol?0icrY9*RY*b{QUVp7uzuPmw(fWcBTr{^zQF1wn|Q zC9vOxu5N7Xjw6+^edy|v3XwosZ5yHI<3xUAq(0pB43Hb&NqJ$ z0-nY&i&Y!^Nz^CjLRUep9t-8F=XV!~Puv$W(AYCzjg5`X4)>6N(`MN?0swBx7lIEa z$Uf*3NvESJS851c(RB8YCh>V|?~P?f096#c*co~b=NAOEhQn-7n46m$mF7(u0A-SS z#=XP<`-C-cd*UsaNQGYGI!mumu7FBDm%Lbc4>(w!^crU=&TXgA+2a_Er&bMa-RaW|5cZ=usa?b+w9ZG?RzEOj%4$v;YqaJbCy4*1znWGl@?;JW63<$7zW#C2L})UC{^fXROZ^L@QMmJ zQh@@r!pd1#?A0(f`*^nOq@>*^)BaZW4)vx_%YBm*6Izjvgl;a( zr|>1vbk>NlydeY<_bRF&^GQ3C%N?ad34nI^9zSu}{^&8h(nF)oE~1ww4_0ePJNgAQ z*yUvu8;P%|tP+XD2zj_R>lqMEakN?uN@Xf5cFzGjU2DTVaOYbN35n~^{%_4WnJb(x`m;*5RJuJ%zb~yG< znV(Uu-ndxEiBP|vht*5d+4jtp6eb!|AR*n=N6vzeiW z)aBI+7(jdsM+JpQh@)iqa1m%D2ayd1jTH#68!qaWkEP`J_sHdq2)sMni{*<7aT@#u z5ELrZAP9)iIIO1X8X!?5!!j6yKtKX`VYJ7+U7q~j zI#6*T;J(kNGMg{04E#s{($v_fCWW0zElZ@=Ca!T z%-6!zWxYM)@k5=x63^r;A=d=q7yAmr1nlhGvHwB98-Zws*1Tvm%4xhZVH#0cigI5tsy@E%OX+ zqvL$pq^q7fj%p;pDWUn@h&y0Cq?^PzC6jYE!@6aRRN{r>fnN{o zwkwMYc(+z(SBm3HXqmN~eS>E_;C}Q48apSDpfLRP|Rk zHx+HJX^t?lL$KEB-?RhYJAU2(klGsS+U1^VXU)nl17L3OEaGl;KmT%$_BD>D{ zCWZ&bGrK9^`?0IazP>d&Aii=Qit{W*%hePKEbO+OxDP3HiH)9T2%@o~J z0F;d9mpk;)H5(rTj^Ni`8n+)L2=npdB2da->&3UeHIzEBW4{8+rSNvx&1Qo8%Y8nM)RVE8l%3cy&2 zuXKZNZ4BLcOL(x0!Z9G&zK|7C4XhSOITt8?ku`OALt2v%5n%~eTOF05v?Gp&JQ4vM z*c6oY4F?Y2(rYB>-dEq+V&G$BVRwF!?&?D-@C?R5*~R}tU2Y>_c^nD1t|po?bWXQS z|BCc303Jy6^74q|CnJV}06je~BVUBgMQ%Z8aIBR_kP}V&XVN^&e{3DT1@q$ZK@yIk z3VZc2S!sZY#gX)*6}Vw)p`F(Lbx9Aq1*KPSr^NQ-J7m5@>ibC#&I4?1#M{sF#C9ta;E{d%2ek`23;2#N;VR6Rc2rVDc`m z#N+Z#m?hNphdG{qkqFYps%2#B<|zdCmRi^M{-H&~g8VdXsu^Y)05Hnhl8!3r_aia* z8L`kyNaD>d2auOPhfT$!B?Udm(eTw9sm_&)D8<0(GhE_GJ3)UAcY!ki%70~Uc#NZ> z{gY+S3J)E8nGEh=nog5^Ca6AV|72P;nW5eaH0j-jBNl;k@x-xr zO;#I0XkE<9v}*9kQHZ?6ui?< zenq>FeU2cPjy;Lq`8zkp%R#6XFaE%Sdn>&|n#-5BP)Mq{>lz#R2>Nj|iavoB1U|Nc zbf>RN(8Mn!WZC6>OSKqyb12qn;?^$pJoKxZ{&&nS57Kz{y&~&w^rKQ#+VNsj8*{&C z8gs)9GCns---6cD1`r>#qY#9YdMgM3%oN#X8?T)qTFT{mtI7auKAE2d6+tlO=5e2v zio>S5htgPW>*-rmpka5w?H07J8e;hC5eYE+0stc*RFy6({Fn5XGA9SLrB>a9l@|Nx z-Rq-(*wjTC9>-ZVX!QiwaFb6%K`(o9{_!-y@x|&*B$vD6*h=!cg=ezd?0^YK6hM|S zWf!VZ0Ps(@gNr`JM#r1Xv~K=xz96MKWq_5D{}6a zLL9cK{vo8Dq5IzQqy0F2!OG3WSkVQC0wo8#1N53C!IM@tDD-IJO9kkAJ)^19$J18v z;3%#OUTjCIPO?TT)g0z4Zj;%@@QE}Y>(GTURwsv~<%lX}uMapTIf8`Aezfx zseD&oNF&G6nPf6Z9Mu-#Nxu>dEj2kK z4n(1sryF!80OuoIf@iqH6mND-c;RU^xECe?ZmcD(}?4<=JEN2q1Bj}87~ zK!G|~iLs~te1V{6{&43e6y&Oo>ILkiHD zY!qEwFssv-WdvkTOic5RnosME>2m;2t_<7a<0RCXT0P=Vhj4B0v_k2|?-h#As80+6 z*qZEoSvv4qYePRnAqKVwWduG`P!Y?FLFQrxwAB;7&kONOHXS-Z*!99DC`DBAaxsTj z%BY@Mtk5hTBzjL`t42Q98-)6^9^rzEz>kP<2!aC0_oq8)` zMGWU)UeGZ}d%O2n$`#MOTrzARe*Qrl@1n(;8Ga1C<-d3jAPDV~A^S2JOn=hhEkB=@ zINqxl!#I)`%ynjf?iNfD65|8|mYQ=7zt)+>?O6!&Ugp>Ajq)L@F&op*Fgu49z5eB? z)=)b&6+duOGO9$m1HonyVK{utk=-?q54Z_len~LapZ$^|M;rx#Z%{JohG7M=yU5B^ zU=vCLb}i;;ihKd}xEQ36_yN!#{^r-Vnid-3j%0=eXRzRJYeVXAokRMup4vK6eQo?wmprU*V@31O>6Qd_T*;bROx}u~yiK ziz>4&0ziiE(O`)J2rqa>Z%ujL!7R61WRF}=stFh^5FeUr}(!+e+RMHGJ8;@@b&|!@cKuMnkuah zQW`M+&wraX{m=95qkr4?8`nECGZT=i8Bocjto@7j^Dl@#VqaE<+3LC`|D?t6=5&rn zl0Tf_|M@rM!+TqTh-!d7=Yz&I4EEmwm!=F4rROnTx&C6Zag+W+;x20bPa^_qhU~N6aU@FZvn-?#%9oh(|)?ChU zI6!!C$4=T1na%#&ov|8^S2qCklh&WH*iQNWjSW{Io~6RLQK1f&&fYRe@cAyVp#jXqUt#MEbSX^>nFD{=9H~so`EDmtnmadTe+Yp6BH| z{K0Hd`k@^^Vqk7XbOLu{zvoo0ODgXY& zO=41v#rbx*0cyXBvkrQ=y}t6Fr{E&OCn2E#niCLrz(<|Wm+>M|YQY2ARQSY5@prBd z?XFi&8ZCBQt7g*&-c#9GbQa&6ZB`j=Mw(gsS?S)Pwaw3+$UnS_&v^j17yAd`aw$NvHp8|Fx%7PcVnq+ z(~Kn@?#!D&(qt|V;~K_kc&VbfyB~{v2T(N&?W9uY24j0yt`Ya7Fq8C-5_iy8tBc4t zLejaB^CRiJR%zeJ0)*%VJQTihq)tb4`%CLN-{XzOTm#`|RISsUrBZK0^67Y^{4wDIKoXUe zVJ)e5x1|y&3U=`{Wd1NgQ(7I_>R}j+Un(2q^Ebp02a_-RG&a9aXS<4byb+o&2@v7! zqu%&?j$f}eI?T9EoCd3G5X0jOBSpw{w;jTmy|S zT7DMXhV4OOA}UmdSOBNZz)bp-7+uCBN3TD+#(INL5ttT9xA%T6_+3&2H^4) z1i)8aZ1qEVe%{V}@E#93AD}P-ubr^Ng)EA~Ud|OykioyL2f5D-VT%NT|LNLw-Yr2K zaW2Ony2&Sr9`Pu8*#{zWh-oB|Ck!)pTTq_hQS>wOYYbpV&}gAmct7NPk=FS6?F2j4 z&7=w<>MxoeCPE8?%4^z%qxP*!36|wQUI~CT<;vx?7ILX8xB`5`v`ZsOE5Ho$ zeT#LGOj`DAf!8EX#`OmH_9Gd3ZY=SJ?twc%)+LD}L@!zm|4K>&p*yZ=eECNd%*aw zuh}-P#%9_Mi9+EoOEvG3tB98!y}t8Kz=W;*3#@fCfUlI)e4?9YA;=}kWGwOTgtpca zcD={?Z#w7!-5*HrsW5y93ot(m1AN8~UBhE~;Bo_)QLiqj<esV$(@`w8*}3F|p)7t4CB?d@lQZ4N}L?@#OFX=t9QTcA1mg0HhX-F*a3v}d2L zOTS}ZvhN=+fSv%Jx#eBHMQT2C;wy5sdfG%P&BzT>=|$HK&&LF-izIE~Y|$Tn$*c!5 zlIg4;2;jg!1II#la=H;0{i1HHT&5(pL3pI#)=Y&R*DIHjiqqWw#K~ws zO|EgB%Wvp5yIr@U=!xE+@1o$y=ULt(S%wgbL~R3gwd3zKU`f>4^GnhbQ9!B(F{7-a z|9r9-+bS8JcyfN$)ppSfdt$pg<~qdnIY+)|U8TXTBg%TM6^c|QLvH7#_jK*iG4(#J zBLf?7N?{@%CeiLR2C4vR`}6s>TyK5@*c{h0{DcDENP7wazE`&PD?F>iKH0;s`)(p4 z2Bt!S+V$E(2BV2y03fRWtI9OaE%gYnBAl)_{qWgEBDM$pRsW2AGnYN}PWv6apr8<( z!naR1>+WYAX?+OpQpa93=6a#RkppjAD8sOkt8e{a1T948t&O6cIiuRP|1z)LK07^G z$;eoHKI8D<;9%ge9{>UAf);*#M`*J*;rS#T7Gtrb(a$h;_3-5S*GFh9->GU@0FyLL z6BAIOvm%vF?`gju739{hHk>XWxyuV)Y!Rd@G0G@DwP@aU8N{dn8+@6Pv(@uYH z;`y#&!zNFEk(mk+;a#YYATL3T2}pjLaBfZOVMVlq*fBoh0RWJI*1<+x3ff3sQ3bvbkO9k-GO8VuFj;8JsIgl3tNOl}wTC3Fc#W|GYSm6pZbl+>Y^ZmsIt z9-w|{Pxhrgtl799kMdE4&gM87^%L$5kwj!hkK50~c}&~BI(iY;MxargSlCzW`uzj!LH_GV-@lgz7K+eN*J?X8XTekc*yDk~{Y&l`=1Cb3y3y)nT1m1H!zxy#y%`st}M z>}DQ~4BHIoa7hmTA+RUzN(FtoKqA6%K7+%VE z6s1%uqXDy*6lKrejG@|-x*44gXaGMd^+T9}?qwv4utmx@hnr*2&nwuqPBtV$!Ti8{ ztnl?G{kgFDG@b1hnQp0f_hX2xAgz3@L17njbtq38{J93b5;HTi>?F&X4dt)9VTOua zLZ%bx$9prBIE~XIdm-I$`?YG_v>V1i0-;O&S&~R%UJsQ4_?nmkwD$8@e|3 z>dSx%!L7IZe9aiQUk*=5>Vqtl#!QWPO5yqFBvDVLkE}ZVZ2^kQ?THHImBYCl9_sFC zx=2NmL?V%)2o`8MT@_{?Tq&u9K;CCX4uGEsO<1$Op~#d^?ex3lAv#+dHnggRKk+H? zl@y9cdwL1`t|-tD&lPh8b-%Bym_M#|xQpccrAw9aeOU}&Kwo)eN09&z{_Vzm4e~j# zMiw&{SxEeIn|xnc-^a$n_xSO_e4wFsc{hfHgcM;mpBA&>{-Io}1Ab>TL3o3^kfxgY zULzeJtf%soiYYz;ssy^>QDYKQ&y6<>>-yz$(YI5(a&)J%;iqlih zZ|)`rqI`qj-1L{cxjASsq^8E`#GEdC*2uP|61S0FcT^f8&m+`*{?anSWN34 z)HaaG)nc?dg=0DkSPLnV(0ut!MfJ@J#Puqn8vqF4gu+MfLQvC3?vfY#nLZ+}wNffo z5?*;hoy!#-*Vb6vt99!^OK5FUSiy~zH_z^m>}Gfv`j*DGwCy2@$Mr=?#p)lm7{t3)JVOU5YIWN%cCN3tldL->5O1zLcUtPV!Y~ znyY)J)=c5vY6(gH;UpwYi|6c9h9b6a zMcgwiPM#k0GJoFzgeV^cVInLBRe^st`2Izs<@Hb#7y{aj0(<;PHdXR+GP8{gVA$M% zwP=(Nn17KT)2^1J>bw424Z}1}vW5j>^Vpb>%-|lzIxq!CvnL`XlxtUDw~UuC;F3V^ z6uyb)AvL`5478^-X!OdA|4Y2&rL1IIZ!rYuTI++_-j22hdb8FBThG6=2AB~W)yqoy zo636^$;0R|jcs-SHfM!AU`Q6VBLvKh3mfW^^Ab-ex-btGF8yOysl@?@`4EH~& zk9$!dBbGEhB0O=r;;#oinQ?Q?5CR;3$-s9$f^;xiysLiwCI=a#8mUK2MfV+qrf&SS*1*!>@8yV>2Sendfn3zf|y*y`IbKN~#G}-6pe3l8L$9b}RJ2&DkYzd3L3P##- zGov@62=ZMXGBPsIRwj)((k5Y39)oq^eIIW`--BP6G*WL90)eis+)V3D+(o)rI2wWi!OPtF$FQsP1GYRsOY4dzWD z$BsvhX5o>#_oSe+l9{WLLt1S{@P6bzL~StpGeGmG=tob;ei*XPw0EI?Dbxj@8a}LNc|~Gh|WC8-R8Sc~JjSU==DtPgk zBnF{>agVh@5rTotq@0_c*~#!U322S~jHP+T4Xn?WAaA$;nJm zA{V}iXG3QwVlSUcjh##x8379A1E)!7;}VsGF)An@AEin*0^|0l@Y z2=U>R+TLI-vy=R@0aMuL!$QdiibE&G4Svxik&WkYRK9u_2qdHH_g&C%tE z`|p4n51tnLohiC5yV6(rzi0m~zHdmQAufVMEy>QYTx7I`SsTb59A#owo0Q<2*sDWB zWYs-8>I98903GXN+M+iMg;slYvOe>VSC$ye4Dc(Ts0gVDzvB(sm)9Aze8WC()5aZ@ zw{TqmTyzv%U}(tW?<3z)!*6OD=yMEjY-e-#OP}wdv8cNzn_XP6EwdQuUa>7duF}7L z7EhRrjEkrF9V-yMfBghv@YksKAm@nOpP26Nef<;S0UtNp_;@J@JJU+OVki6^`2FuM zee3%0t|a2lc`Oer@b9PN|Lm<36PQG|+EOT%dP7JXad|kMtu9ADxN+Ic$;q^jD>?-LaB*X~+?6a{zX0Ow1b)C;>no9P)1(-J zaDw?$Ir(;!lZ;y+Pem@_iUM$NEbQ(b6aX!47e>i8u#9=;mj=*4&TM6(N`1qw$ zasWu*gtWT(kfGp8&XM2*ON*efSlwKm8>WOY|Z#mJv}d9FE0~O zX@E#36N|}=xp$@M>?_4X++uXtgO7JF7SQPz3YF$TccpPH3yY9k_Rrl;gS$KZOeo%H z;VPVwptf z`C24liYv6)0}v=N!9eU4Wu5()&Kk4AdeNxHgxYT;1*+vw`RfMKSqK%BMq<@y&bL^s z?rt<#SjUJONt8b)_wWz1IOdH_McF;ga1%dg zfNJB)lxx=U{=7a}f!UkH?nxLWwcVdmdT=jV>M*Rk)E9B~+0p2*6VJzFsSFNBje=Ys zPfLP0`mjb_%l0w=BLOmL$U`%h#UfQ*UDBF$X8UyUNNdA=t2>h~w|od7kh+tnj=4Cu zO#+Y1%k)l>tX>{TWZRw0W(vyjj;BwEpKzB6W~gY;xfXkat{0=mufBhJx)Xqsvl0zz zjNJ#(XWTx6Xm+?rHnBcRM6Rxv%oz(YBY92aVr3D)Rg74<{oz{f#Iq(B#qr*gVZ&dgs2v*bd{W%Q&C=E{S|s&PUu zfHr0NY!OEdNBX>OcoI~dl(uHZFUz_yQ&&yUe$?{f%;;n}@E1dN1QnSdUMyX+c!<2NjHS;+O1}2z7Q6!xfNw{AR&-7; zT!6CBY?RwjZzrrJ7iOT)Jn4p?v90;sz96QdA>mu#TBg&fiomP!3Y0VPfa=%3CqXn} zJX1>XUb`;QQ1oXJl>!MFgRumT^&2evpMDZAeq<_T)ZAWoa5P=1-3!c2hjW!d4M&VL zDTnlwl=k&zai|SPBp$wImX^NMYhm4Mgr}oR>4Dc%sXq_D>{a&57HagMGPc?+KPmVi z;R`v|!K`zzs%(Fo&YJqM*Hf(a8MA|z_+(lvVdTB*rD1lU=O>5#{0-}QxQ`z>?jazz z%lRB0h|J5^X0aF z*%{F$6J-`g`-!1URl3=t<@S8(B077Um+z@Q%db0!)@vg#8Og3wx zh+UL()aM+xsL%XFon2@&>9~x>G<^W%AOIN9=c+H>=lNguMdRnj^z>*@Z6vcZQ)@98 zR6*=sb#4xX^sipj!Kcyd^LQL|b34(@m8&yKE5Fr+H1+$P!CX=8pwvp`${Z2_? z2dtC6z&>ARcL2LcyApM!Zn{bCGKXHXr4Fzh!boRu1o?b%>+K~(V}tGEWhC8EyflNs zZO(OD3}c z!BKcYy%n9Dx@ zAZdCqlngWNeKI=7ezH*SXTAKS|N2uhlS^T1y42Vhe^}Pb1?R~H+8HMpDB~g^+T%tQ zp*?zX*|U-QaKmYFxS&Pm?tEL2nP-%ePl*FCm%1CTh6J^451&=)O$Den%Im@=Cx!gL z9Rxk=O;P%9Mp|EXKhPuP^Fw#7p4+9;A6bFYu?QEt4@CEYOm2rS9iGZ^(He=#kBvr_ zmOd-Dmi<55)rdhs+u%+1oqAaHh2aJQpgs3C=D>V>_>$>#{kOI&$5I$|4=dgP+1lz7 zom3jVnEK^s2;lsJB!>7{@Nlo#O44q@x6*RTtEx@Duzr38(s@%}ai8xNC|e*wS@ zW_4DrD7jvh{-Fs>oLMalo#5bC_3TD{a!~H~njhw%W6T<%J6nEX=$_ZJV}*a#jyDP$ z#ro%AXqBg-yZ+M*ay1X+lTiq4gwn|nhBojsObz^QrY%+iQ z!y}QddJ6!4hS53;RUjcCNY5^O37es~+)yv)rD{CfEAg0^U?wvmwg4$yjmssQ!)XK2 zhBpW`cCt7fO;eK9a-(2bYt*=**I%G7O5U<^`m zaFZh^FQw`{g*xo?KD0&aV=_O>$QkbrSdgjKkS(>j_6C+)+YI}D{vzT%{tSnE?|)dG z(F3wG5V5K^Jzb~jhABgKf5slX(assBsfJJYeEN8$@c4K|NTb~m2n5iJ!~AW10Ey6` z&GU@}m39-0XD39p7B%#>OjUELNcWtLYkazy0~^g zjm$1l@@P#gmy6Cn*V1GC1(3I+K@1v(Dl|(=Ae)B8QJ67eEzBdG@ijBzDF9kSFL)|v z0Y$=SHo%TmX|iT#Ftio!eDAGxd+?NJvOt=gu~VBW9iCzw=6Y>QCJ=}*9>IE(5@&p` z>gQXjbIfBq{;NfYH}nHUnmVV~<|u3GtNhJrfZ)>St5WT|6>tSGC}i_~q2zPAR=%1) z#qfI%$7RZB?py;>ZjQ;U>r$Hwgj&O|@F2Lit7}6#3MDE(ZZ|kR&pL+QVRk~mNLE7G zbMywhcS3EjN&||Oa$loxo@T9Bf{J!yNYNb6XH?hW25$^R^AvA7OX6VjRIuoJl8^06xlvrn@N)|U%pbQ&j&lU zGXFvKa6K#d*vkC6@zqO7=qa=!Pm@)k9lTktR9bqbDkxh?aa@9kQL#7?W!()0ZOKBz z2}9vM{6!w2RJTP;jN}kHkwvgV;}`(}f!H9h6jlAKhF(Whbp@=t>*WFAQGbk{L9WA( zKLGn`a;>F@+HYN4I{lbTaIvh$7nOB8nY)t)3e6@b>Bb7OyYER zc()Oq=eDY-*40A+^H4$Zm5_y|#e*5_%R0vhx4QKhacQh%%Iww`3k$alXYbFQXK2Tt z{UmZt@62xrlEWRj%8&L5Kr>dYa+AtggDa&RCzILoTYeop-=Y1a6{c4#u_t+@FUF)6 zmWPBn80QJf5Ay)M*xCQ~iw`9Aw64x9)py_nbe-cI`As*F-s>lS{)i=jHiLJ7c&$Mr zZGRP7pS)6BEC+Q(E`v~)FvIsO>_uO5K916k8W&2O!=THRcdA=r$Jxdu=vsj3OtOd? zSRI7gn6HQEJsoDAv!#Y|EKT+>A#GTXaJgSv*Z(nHU|lC2*0`OW>}-iG&DG(1=kNhx zW+#zHSKBoasPA7UcDS%x)LAJCM>`EJgvE^d#UpC0-;b5PbGk$oDqA~-L^N#%ywNWU za(}peF?Cbi{SBcf!rjo`zAKTsb=MksED^kNQ%L7!h+!ys0Se8kQ}7UDL#@L{$}Wdb z%vdEkZ993>?zQ2TfgtBsY{&_+9Z_lMS{30aZl_x%o$I{en%lcpyrEM=cjk?ZP>TSw za$V`4Ksid9-C!%cHO4~WkAYiTNiU?aqo=(V?1BuWw%2-xRU8=1B?(Z^wGM7wqfT@2 zx0rX2(pw<2YO&~?{T7W%2Bq2Rs6ZrvOiNJ#jE=-(RFbctJNeJdCMNS~q|%wN|4x^0 zO?Ho+9zK({N#}B&6HwY8+`15l0O^fckbZ$y(UjN10~bZ~CD1f9&x_4Yv{1;2Lv;8N zJ)kf9Ld_eM?`zEVVX5kmnl*_e8q!C5a3E2(mR(KWCypb~2Sph0XQNrfi*~%P93KnA zNxyG|H~@#&1sqNd^duI487ixTeW!-WWM+!LHujOM4FO@h=h^#0CWE8Yz^wceawD#V zj}IsWw&4t^fHsQ4L2wqXqoNLyXTX?=$hwL;!1+fl(;~emQ|zmk&3;t@TqJF66Od-` z4UpT1jS`F6+ZVVuX`zb4{%PO7H^@!R)A-hk#=Itfw~*>r(Y|jjNZ1mX#BZe`r@>wU zAq;`YlZE`|5v9gl3iVJ8+^6YXXXOS^Dz(&^4Equvd?*URP;UPX#O!9aUJ{T&5*AN% z`-uqAQ$iwNd%ebQSTTJ>k-4}VrVB@5=8W%bVpA4*5A&uyvz9??4Qvcoa$i*48qSM_!H;U<4>~Imfnp{kEOUI&6b1I*y7C96w ze|#*jtSGCVh$LMz=nalWN9W2&RQMygCf}wfYoD{5_L7I=&kMA^OeOybvJxa=SkQ*Z zflkGyrJ%rXKr-SiX8T&J0cY- z&9xCRMpeI)F~DfL@b!dFjVf0R>JCd!MiG+ZFSzmajGeQ}v5Bbd4acfoRukk1xu8j| zS!3raX$dFzMiyz%`H@kkk#Y~bCd0K(atmLuqeah?qqGPPqHVJwvlz(j+C8AWpQPh* zpX_%nDJuID_)<k8w&zoa1yQ6kw`EwOv0!fS$UD_ z)`>vFt&&J(I;Tm*I&+7n$HXy;T%BY9K8DL$K=;x=e%c)-Ln1q5kr9y)P{hk$+i$ zUZwzRBUO%eSvbS}*)dCxrIN#tYk(&G{W+&-+UKYt;$Od`^T}}M9gN;5AU^{wi?G;}yXns+$4DE}qo=RGualQwI|#*0V7$ zr6Nt%%Sy`2lW4Q}QWi^G5fK!HqJ)|z{H;IkbkW+N8>?oe3S=-@HrV6Se5;cI z?#$yXo1I$i?yyT?8%{UAYj=y8_V-twY=$Qx&TBdwolQ+6e1+j3EAsC^8Jp@Pt?*?x6{Nll8mME6ZLLx^ct`yI%FfQCr;Wl!?gml%{L< zES2MqSzH1QX(TVdY_w65I)cjY-+o=83AkyjS|U+2oI-NB1%IHzs=AVyHlXc(#SAYH zCX^b@Cj!3~EMu82(p#l_S9b>yNd{uJp<~zu@*(AySdaYvyeHj*KisU?(oIy zNLQj@=2`9@E$}Qsc^5V)L#|VfMzk#K2y5f$)a(CS`rfxdejx>@Oex@W?aOLTO9oe*d#{kg^$acjS!PooL zpVIU|1?pwd5umW>YrSKO7dm@06wh0FAmpGkt3kGJ8MS~Uv%Qs{yveLC-{y=&bCT7G z5f1jE_Yh`y8R>wkW}Ym*+CW7ZuqKRPrPq^(QK0lv;*Le>yH2N;JRNDvF9r<2^yzS>*`~j5KM@d8UAP;Uf43d^Js9IMu<8@0|7Llq0#d#VR;SS zD+1$qsHOESpnP~MnSiSiD6A!342<~2KbcS*FN;wyCMVtinLm!E6}?Dw`iYcud{ai> z0-M7=z6@?m=##XPbG_-ZAZUugzWAwYo)X5cg@ZX6@KrAbh%@oj|%(T?L2U4qg{ZP=S-;@lnZny$si9>e)KU7Ou z-lNm+4W~3IX3yAr|YatGjtHzqF3h-Cb--kWmUpU?G;O zpTYKY@r+ZSnELnDlUBNV4 zgG>aPI&xFC<|oNY2wY(Oh@Qaqe0$Ale_}@Ybep2qO2#x*ykv19<)Omb-wP}3@o6CW z>4xq6Oy0D=mI055NPdkGS3O^4hJdkpkKg7~vdZWFzMIj7Z_*Q~8TJ!yk9Y$mKGfo8 zGp5gWCwaU=a1Vo%8DU#PA@@s7_3Te%tJVoti4|bn$R5zJi(GES)J*!rfbKTlyr%>ZGmk~M<*E9kn$=GB9Zy}X$r+W{Rd1f^klZuR168C1PZUHqW zD=pF$Ttc=>A!ysV(<6MI1q4eLsnwL9ryD z8C7KSo`18_kNlv?sy#&=kxfq~M55G{uI%Bz>V7ia2^jMWvO!5U#c_CU)ZMK%JhiL= z7mspvC@l@^SZ2ED!C|uo)feTnexCDGQ)$gMYkU_wxv0rE6a3V2a|pXTw0&Op{S9z6 zAZLI6>|@U`D7`&kvp>SjA-8KKHwSR*s|*K1cHOFU-w?Sxp0Ui1f~6Za&>voq)uxgP zHZS-9EG;FKW=pE0^Df0)Jd1th*M#n{4gkNb|4`wu7lu<2ar`^+g%nKCASo0WxWvuq z0tSPl;vA;;AjhPSS37X(RC&BuD)WO0&72BTy7G7K!Ju3|{1e}!bpr>~!reHFUy&_x z@B`l7c;?G(zVR<^f?eVRKF2}0ts!7Ulhl-C?r#-3HuhsM-8wzW{07MkB3N8=KJkQT zZBepS{oDMyIrhD>>aQ9$-UEPLDK>4BJ{+AMzSXf-s9XPRsad(tcbom;jvXJUyN$}s z3zocfIA5X8`P1T{UeD0tcq-EAW6XawKu^gQZPa?tE!13XEJKOM0ld%B&zz|+gXGC1 zvjD!d?=8ExdUL$#?6~%j&2AvgR|OWOP<5_C6D6*2Y$u1U?@D!U(hMt5(5Ol=l#*O~ zBAw?4sYxB-Vn+r+Bn)LV7kB%Vzw~Xh{dC;>#R6I4lDL1!?(F3zoJ*=Ofltyr;Mw!} zfB`wsw#`!wLq!__|Dg1&a%;INpidqMwSFn}lY8 zdJ$>R9jw#zxKInlq<=2b*})oIwDkybj-c zrwH0)(BeqGxKjFQ*zcqr-dr{?a0WK;&$OZtZF|;>xMghmAGyf$tmKb5kI!Yt-23viof%NjYG0Y2I&a#%@nCNK4a6 z{<3UP=fSVjcz(Ji;<88k+_%RPp#>QSRSXLBje|ZH{Rk?@&GYI2?m-OS5y=GwOMkqp znr&=64tg}se0dg10?e^qjx5`Php_P*Ndx${OJf5IDdXCnGXnao(a$=RkeR^emE2Jp zH9R5_X!(QN_k1GPH+kPRKG{+UNy9ORZ45NTAPtZm{Nf7xpCP2e7xy`B_aS_C_;npb- zS#D9Q3qRsunMWj%N-{l*I`^BS!Wnu22+<+A>U>?YHD=I&a$lEGGo5`%7TIoPfWg=5 z+pRB56#M@8)LdjF0Z0p2vt&(8=~91OoaRJOIK6Ko5JV~tWyqmMRLV`ks8pI}&|lEV zO9d+sO-HnUw>>N6xjkU;dkMtGAx}m$AKhWe2sIG=6!Nz&aoPUPdyV^s6f7jssKAPY z(vjE4X^^?9rcjq8Ecg&K3U;=BAZV zFvF2nkGJ@tynUfbnTX{bh4H>fQ42J?WzywJjS<5Z62Fp8)S?;iIkJx3~ z2n~L-eJ@Lw6@5Fi+o;m*q!h|JE6L=9MI9-`vF8xrlX}*4u4t_}_ z_(y)|^7{Jut+Z>>-&;LK57OgBSOv$rEHH>?!YzTqzsLQV>ZrOy0XO$1y8~v81-UVO!CMsGk{sFXN`p*~C6J>& znbTv6kNRaDYiYD&_Mk{W1gD@d8P-%B2E5FkT#f+=40P1nhEo|)yQxD4KxAE!TB9{pI9;fvas0trNYt6vN4<}t)%8o_bHH!O?rgQM*s5fXnrl0#8K zE@SvIPkX*sQEr<+MX^-w7lpiEO1}5@TA*W=(TaE`zvNwsg?@9jx@2b*O69@zss}`> zuT+Gv+OBnV!WDn=)VMbzm0Mr8Kw~LM|i)yoi2t(pXJnIZQ*=tCkFF$ygZ>mGWI;R?r*eBeGRY#s3 zKVnIkxcUlL#&ty$ci@lMilw63|GI&s_F;B;Lm>6A&r|%S;}S~1uZ((OTY{#1Vym@P zf`V|uP*1?0kriE6%-~F44x49O^v$zkJ{0mmzw-%^7%Fal>FY`YFGXbh>swTDpdk7< zYhdnlCG8NuAsSFtpT-Z^%?QFP#l>uCBG$7$*nX6CP^%LRGM z`Ne?A$AG(zpVspAJHxFy{T#2t3iCkkB;)9NYF{Te@RDO_eXBF81dgK$d6EC3&(N4=nO!$p3P8?jakb0HcXkP5*$AzgZx?RUg^f{?|BP5 zBq#CbJ%PiZDI+Ez-{@;qPSu20QUY)=!8I1E+2(0k{yl`@@i-?RXHm4;;cF-q+d;(! zJz}(XNF~bf;s}$((0$}s+)9@47T3pE-vj$M+MjMFy<~$XdMqX1V*$84qWhJ{l?i5< z_fp$c>QNBqQwSyWPgo5$eMju_U=v2Ou-h^W<2q6~DlO~J0znCb3!3Et2|_75(Dkov zkBV`B+FK;WDmDIu1xj)KuIr~EgtDRXcQB*Lb&-(Yn;WC4S+3C^?g@hm+c-s0OMjX+ z0U;bzLfwygW9GCF_hPAN^)0c#9t~om1Yf2Y#bpoT->_8YW6umj3f7?Xio3tzU z%JZBons#lNCcG=(WnAe6wS$DFq`~f=X}<#Q1$2apcPT_ zq(3|al(UHyTG4?8cJyqxZ6wQQ*EW6Z-eR6LIe{;eU+!P4eG$U(qAo9{AO1M+L&Wmj z^UF_y3!deD1cg_Mhq>0ks}Khhc#|86&@7Zn3;VhoG&^B}sW$X0vsojLiA^jK7Rqou z87eJDzjY1HnYIj%#E}XwlwGSYDo($QA`z=8XrjI*TkET_zXDZChaK&fs&%q+#q9Ew z7=;s)S0(D7)*#%{COy%cwMWCuC`j8U^-``KRTo^GkbI(`UE!i)kJiK<4fgCo*BTft zwx%Wn#0Bt^&Jfe5kA9|?e%4=0fmEPO3sRdD;CJ8aP(;v4^1Xmm7|H@ZkhIC?74Pbo z=&(UX6^r?3K6y_%II`1CmTk@*8Yjft0&8~Q5&fk&{BJ)Wq7Nux^cc5{O~$_ND+AWi zn(Lj7=GCGoI)u7#+c#G}R3v(m+E7rrdxB5f_FQo^Hp`Sy{=-VBU-NG(44!_3WuU?R zIW6b#SYg}l)Tn%ia~D z=Gx-;QQhvjoU8)N6dcw&C8i7ur(JYOgF_ArfyMh8E>xXXCR0PD*_{RZZZ&bIk4ur& zSiZ$5LY)7&XN=K^rYol()38!30jWElI1bx#J<=i~9+JK$^q=`ZVKiYYBhK@n64ys5 z1Qi77zcjg9yh|wx!rNN~BQem}aPOS(A~jvrSVIqs&shDNH%Bbys~r%8A}Jlw?<;SK z=U&*LkH0t?A^}h#xpe4bdOKi)oD8Xmrv{Gos{Suii zD~814bf;C)8O|GdNxfUX?XZ@6`~1>j)M>D~Ndj^<>Up}*ZdGenqx{bV_J0y0fa_E2 zuNRY-{rqE`?_${l;`KjD;{SP~Hk!|#cB9L3%RlC%|DUT9I2JQ#M-hYX7j5y_f4f6J z5l*$a2<(leoVR}Rdl?qN5r5`@oGX&UP%Kq?<%k$n`e$(RFIyrNq`RD9pD~6HGQ~e? z<|Y`(7w}ttKk(Gt@aA5Dpj)AKSLV*Jjz+UZ%(rKUsK&|`{qV*fG^0x%FGzu)_t5p$ z1>NNtRqdv`K33M~%#6=(ZX{Yi5KTQRlZkbQYD)gI_zuXwE>0nx#0XK)4jhn!gM+Oo zqL8jd;orJ`YDHS-FKg?6eUQi$8su7#op?L|O{xzw-P1>0hzpDUZk zayYGjmYj(Qd()z4alAK?cVZ=*x8nL7qwe@7=%J)C>ERb zg!5?QX~Y=D6;gW3JD}IR#zOXthGU6N&3+oeoP{k7uHHtTQ})3Y^9;lrk;`tdnptgo2woww&!i~TQpK`TR8Za&6qlX$!FXDz1X@%Gk4zRzW+}9I(nO>$dL@#FA=Mz@ zI3)k;CI+<}d4xt8DWqofPf6q>`Bx6^f85HV$RPAq9w8;~hLjHH*GMA?)K6mH$1^xN z0ksj))V%gs5w67q#kWSjOk8Mg?Pv7 z;8`?cec9@RqWETS+ZVBlK)NQ!b5yN%*NB+j7t)f9|Ld0%P>O|grvL^2h7-VQwb8Zs zz~Fk1m4~AK`v;CB;Hy%qP>X7F;Xb;kHhOS7OU@?KY+-wUHfwP9H2YZ@j>GMVdN&Y` z6Aq2`I@Mr-1_}=DwsrMj@YHgQ^FdQ-57{zX9Xk+&xo#{zsDOVg)R4vdk$vc(pj3 z1DUhyov14XdY5a-*bJn0S4UJTFDVSlit<(ap7%GA=~gGSDh5HRGPcKT3uyC|IwZfK zaA9!?3CWbQ;=+U7TL9W&a}`TF%;5_pMuPPs`@5X6xDNt0hd}zq#$Y6p#*hvFZ7sXN zxasHGACLQfbMQ_)Vh(^7JrDnFnVY`I;(YfmUv=!AVIT&!v^0;vI)OR4S&S8=n-LRH z)acAofp98Q>PKP3I3r~Oz!46m*C$nQbL*-G7)uVu2r7+^2;>rH^yvrb)ut4CgZ*GpRxyvdj*r?VDFrgB!^)sz<}ijPxJpTNZfI zERFe9;S0iA1Vn_|w4x+(pOgVQl{#l;a71CiP7jauO2HS4O|ElRYy4TyC*gN!tSZ4J z20Q@I!tCkkxlBiO2i!a+>PsSFJM(5Np)bPUPJip%M%v$C!{pCJL#VZzTz&f1% z>@8DmW3>7V4Q&U2Y#|*^8sv_XL2rjJcICbZ5E$n zULHfG%FsiD^#%chhU=gy4fJ`S;kby0oXr(m0A4Q(WGeL9+R6i5X4jl1Zja|SmR7^C zK#(ZUx4@7#Xf*e!=mXzky?%zjEY^cbZIVA3>5Ms2r|5=v?QU>%4kzYvO07zYy1I0_ zJNDUqCJS{uj%Q0@0A*zA?F-;88z8#}x^}pxf7~j&-?RaWg?Zj#AnzSH$yZ9?CZR>( z<}BRvElB_2&s)wJkc8cFF))OgR2a;9@h-=6_o&nXQe6BY-IL`!V{>mYCjXU*Kn&_~ zDhw}DDhD}7cR;2!23&0b@A4x!CW%H9sN8@NF?R@13pQ%P$8;&FG-3geDA+JSh=Xwj*SxGoZVrm!?6`{?NlZ#PlaOW=g z;NB#vJ71s8nXe9{Yh)OVvzxSOn*8b>{D^l_V_buJ`sou7qnIGyPiFp&hGw128JJ4k zw*GgVLHKJTP{-z(-wQn>bd5{`47TIH_LoI3t%{nlWANoflW3_+B*~#EU*dxyL;6yN z(QJ%Qxh=d(#;AfCWdx$}wO#YZEyIQ$VwO~#(8#~@{9f~yAJU*8{4oOYp)hG(mzC7O zOSLuL-l)bd?)#!_Y^b=@k|)g2L%R3mhIQry(yiUq2ht^=- zK8y6iuZBh(`GVTMH^O%|o<}C066?vMBX4STN6PV#QVCOtv5Fb!Vk)Ybo-q*4?~w>k zQjXyQDnHqj7BKyJC$0MWy;ljmB;F9vkDB3G{od&7*v?BlUxPs~)}q-Rz|Gqo5WO^) z{NdsU_fl67dL1d zI--Sne*F{4;o#}4`_GH9P-01(BfqxTdqcYC5KKx z&?6L!g1FvNKWH5PEvA45pG0|Z6u>@1ri3H&OF#gS1t?~J8!WsRZ3zC;#Yu3GI5 z&3R$MV)Fz7n~wgS?X-}%g4|!zzCE@(y+LrdULz*<7aLjcQB$uT%F1+e%FJ+CbKMp2 zX9GFW?5d=65$NnbD^Fj5@N=#T+(os)v6^HSkBBakas#+ZhdImIx}Aw8p&oso-R?;$ z7#vRD*cVFBcoy{8QP0IXM0Xm^za^DJuKfBcPp>ZC4QKSa``eicYgS8D5oK%~VfNen zPxLogU<4L0Zbo!OGCw2VL#;9|*4>H>jm@wce(8=P6(|(yy*pN_)${E|V6v-dv`e2M zDDRiT-=!rW#QxV$_9GXhyRs!F3?EKZ`mKB|WYSSUk;5s;?M{NEdw~=-WjwV0pcF!@ zp~s88uo5d8;3hWN-P+p=R;@+T|M1Z-lI>u^o?ak9&1oa7ciq?6!$+FaY7c@E0%f%3 z3UMD~3iIZgmmjxg0z8Zd!Sa%5u7q65PQE871g6qaO)G5 z7CgmaD09ejU(r~7s|!!%&Yqv(2{wd&FQkXAxVmsQ0~@;BwGBJmRWCMgv+q{Du^N)d zHIs3$%B*WW$K+_+O2mva`-^8}w(Nr+TiBg|{e<#t=Xq}(`j(3eI?d8$+eNfW^v1*a zr$3ofwZjk7uw;5pmDTPQ4Wt`F!u(TX+K@ZeDE+fy#b2?tROHaQK|`9hppp@8^C1b)nlGPB>iNCs_@Q@Oin$ z<5M>jr$4{Sz5*?ihC-mTm7R`-*w>I(USR6P$MUkWbgGg}eETEcfO0Y6cv@vl;Ix^o zDIWY)RHStx11Bboel8`I=+|1Hf~F(skl!Z)WICH;ZcVbxga_k9?%RHLT&9v396bAtD0Fg7vwO#;^hUPimx9f?{$>Ljuf!0gPOVucoih2ZETRKhf=6^R0WEuI4GE`CK>{* z#ks+(^tv-J3Z-H^Azj8ITj#6rEA5lyzCr_w$yu9Ew374T3Tl}wodc54FtAKc7lO2qpv!WLKW9^ZvtgG!aH zq80lvEjl=KB`Pq?@0_l3;K*Sam{K*z>x8n;j3gD zEfuL*?KCOOgpU>}5EL1kAJh!_YdAC+h&~AcyBPVTjF;d<0ylQaBrbqsG!M2c3lsM)L`Jw$!XL@4< zsnGHTjmQfKiN(})7J+dA0+(-#E3R0CJ*SO~E0gp6m}X!~(RCav@OR3J0u$h>!*>F; z63J`)H%BT3)qQcb^dk`ET}ORkX|(mKx|M|ft%0#NZvz%FuXCh%8gQ<8Og?DYl`$j% z;8~I^#|U>l>YxlqLeA%pm?A6D?Ur8mF>kxQ&c#!HWm7mfk z?Y6pk$uoOrjVEmm!dZb`C55z5k!C9eiA)M{-`|sQpvKT_2&@+gX&~x15?Z96KK$74 zPZ3z?wtK;!ms&62$-ymmy!I-(tIoZRY; zl6|QR4hYz~A01mBph&~((P-mP-=e&Fj%C5;G`oW^=V*1rSfS>)SD4F|IQ z)Wu9{!D+SnUe_b~e{BV>qX0N1@6GqcDCvPETI3snz(|xe&DOhKfW<%-IADt);^W8J zV795ynRnEz00mT|3ZmkYR~d~P5km)7Eix1#aa_j}C>*M8AAXFccs^EtZ?;_laBdm= z)%&MTU;tIM4`AC5-yK+mqR7WdJF*M&NkQl>{_!Kwj>+y&Dp&K-@CXf6;W=?n`3LCo z7u|%X3zc;BAPb)47Mz)3af?NARmDUCh-ho{4{goh=Q6yZ#_e=ZS3HTTD z7k#*J4CY`hYlvOs^SWw&zYrPxEt&lhLwd_Gco^ITI1w`@G{aYB%QJWz%s!6msC6k? zTGN_w^W66O@pN$&5o=*GRSfGjf9`WwpdnGL4Gsp$+>zblDqfGZD#u%&qYcg-x72mX z>|0hW#=U%P+Q-(CetMd-+%U^=YORo?=^#w$s1?E$G1UD;5XkwuSaWvqgm?su3$r+C zI|%cIw`?-;2dvOspaPnlA1tx(gYt$33+qA>ZI}=J=Twn!UwaR zyo>N5L+Vw4pTEBKT|>kvJn(s>4XWDwy~@|mZ-OGsm`1zJAmQ!ig!XzLRj=~~qY5eFy zu-Vtlh$Rk_{Zz{JYr4&c4d?8vc`3}+vG-`k!Fx-)?N>|FHGh@J11!Ps6|tI@Ey6v1 za?G|=3T2A0o`9QN(B`lsd5X}@t)KXWGic&Lx6QLV-3a56Zy6qNWO#Ys)=paR*!vB( zlHvaF?$4Ct9KPR`EAPyO`DWbU5rb7x%{6*&x$G5JBZes8bNHd)(pEqas#BvGkd=Im z9;p7Vaq^2w9Q1p$joqc>UC<5t4`MI*Jh9K5aGZOVvD9iM2R%@cFi*3D>H@6YhbkkV zO>PEM!20wS?0TU?Y7E0p$?4PgA9i?5n^3cx5EdTsoeX=!If&87wuse*Z)sF;VU-*S z90jG4a;lqXI-R{kQ?9!s%gAFX8#b%i^ftNNZ#4R9e(h=r&23Z0J=jIei; zIPnvX-dyvD9jy*`Y`L=h(#$dmUZQl=6SwV zkdv=I^i1ZMZ1G?zsM3@h;U!b$CxbdZ6A_03Db%ct`L38>)4t1^fy%)&7SC?F!+WL=+=r8s@KV`e0kJ| z6pyO_Vll}iG@IcNkn^M1>}ceQh)X03ArW%?*guqu+HUKlMV&xNpo{}qn?EUX>MJ@H zeCz#u@PUjB-E76$2=jXdM9QrA3`wCLwp!t@8Xgurk38*+M0kv{C1 z1;3A&LVx{8Fp|3Of$y<{GbC8HhBsnlb5(vfB$g!$9~tx9xAIPxcJ!HNO>`a);x zrx+uo?fF<~1AOSwI$EHxDf5A8YuI}v;yk0Q$7)F!kizu!XGBK%#Qh0^*T<$=$oc-lt_ew z_Q84HR#*x<3egx(-m3->*zcCs;r&)pKABq^6 zS8F*Y{R0pxwKDb-CEUufxW7_$jX_Os`Dzvo&1m6CQas_m#zP&%ptk?w$)G>fS`}N> z(Edv;-IBn+tdtjaC!aFlMD)1;^Fb!3614Y-%!)-n4ZSc-ugThk{X6B810x1f7p7pl8?P<4X+Te?E_YLrO$J-xVQ6 zjjz4t?MJ%*AM>#PS&lCPW zynF*LS2Ds5ucCd(|57sk&!Ya~srY#y{!2IhKkIUr`#bLo>!JQWD}>kV!m!ko$8Q^E zbts3$>IlhFre3tF=#0JTGZ1moH=Km=|2|GM9q8V4roVE@&xN{24eyRlnBIsqC&a)l zrwNP95v=kk<{8e=Xzzz56|=$(1_ee&2xF81ilITk*YsyCE#v7%D`WGG8cOMu zvH$a5|NG%ALi7k^&qz-Xh_p0D3`<7F@z9$D8{wvqp2RG-9uv(xW3FhU`_g;wXTkO; z!Jof=#)_nj3`0eN%?`%IRn`U#ZO&i8`&NSXX2*Y#&ua+oH74uj@#4sHY@q*{e)Rgk z$?Yh@-AVG=DyIiE;7%7CfKo*%&@leLKb0;f(09g>U;x#UqdXZ21S9zk3_yW#PDt}j zqVC~+!ca6{t;)OcfV2DKB?3T3K3dR+_k7Ez{7X(BkmAInqk{x?HGNhBFY?PjG}@e( znf#H46bbY#VQ8l@(Z2loEgNV~Cu12{ypdLY;nNr$&zeCQm|za3tS-{_4X(e$EU0?# z#8Z;$fl)qH_4maz`wHs0d|nUWlc;_@!7podkxZ*hbGExEA98(Q64cn-@bD8&Am{<+ zlkwl>KoT9v;qN)H1_Lt&W|1aAtxQ?J$A9D^&+JPQ{=s$S>7Mq~(g_PQYCY|t3c!d> zAr_#NiMZ?kN91i%8VUcM)(v^>L4HDh-S^D{!<110#W)^U6Xbw=9JG|cN&TiB(&ZTk z<%7bH_1$WlTS%W?&O=Lxi~Rw{^QHn{W^iptm6y`rEZB~s&E*!>ZAg#s_Q@?@6`5Kd zp4IBOG1BFp>XX$*8{gdt$}Slpi411QHHx_I)Ae2Q(McDVk%pR*_hdr~yNO2@_eW@qv9M|gi039*ZZ=9Z7khSr{ z+bV)~pk_ZsiSF&Wp^`>YWPkf{-rKViJPP2LA>%kb@CtTkamyMSv1_P%LCZvP_XGSx zuz?kK$LHo~MZF*RDy!<-L(y?L^1pP7npUD?w*~efBJiFM+{_@%Y^)M^h|M+4FNaRa zmx%MmK0clYuMKY@Q*TpjcY#J+l&|l{?`Wk zzrIiUgtvIJ!;j{wsa3h$e~c<=_9=erPM~DHe5^J~`WTr%WpiUO!pFqG2$|4));&*s zT58rO-st%M>blCXD7$VgNGm1XB|W6ljev9vAuTPPQqtXB(w)-M-5r87NOuekL!Za@ z{rt`s=ghx7bIrbq#woV8+Mcyz!uti7&~zgvg@fTGvy1^)S&+homVp{7gN*UUX|PocT%*t>cZMA9gJMkTBk)96 z>@L23NMlc?_(ws+zZmfMOs>L&D$r38lbEgD^Rq@$QgUM79&=~q*I!d(Gif3z7mRR9 zNpNcj!UdRVlNrc7NFJQ+9zD&$+d&|0Gjx)^qAN(oVkq{V14f1{P!zuH4$J=K1z!2$ z$u(XLCDv&>Cg$?_!?b9Dh&V|hcP#Sqkeg~pxritwvNcWWxVkUiD=)xsrc1Bo70x8` zPxB{iJy6#c>>$T74UJckiL;8n2{1dfI@o0W?2$#R1#lV+*qwDIcNia21C3H*$xfL? z=_tQ)o$SkOTE)qvZJtty=DuEc!PKbcCc-vWU={$VP(zi+*k~?#lY_hI{-5pj*%PvH z&u|i;iNjUDwikJYzABv9q|)@6Ej!rd;g;j}VF8uTnWTfSI+|4?pAOOuwI{i#R?!ra zY*5@~QZe>aamQ70g*oO3Tm7j}ZaA3m^;xLC(wfVyJeFIw$Q8H&_W}d5SDnSK0p|C- zgHkuMi0)~`IbxP~MM=10{rkO_{cb?%~(VTdQyeMyao-IvaEUGu^-+iik4 zFKqy@TwEjxv?g^gB5E-e-y-bJZ8!mqg)w-p%L0OIMbgbJhJ z@^NX2Me~K^1nY6uS=%}emX=`h?FkPBJM6IZj^#B2aCnwtr~AoiD{%#pLfR1fA9m4y z^FRP8q2%L7{NtG;H+_H*<+S|?p&5Yu5=U{$G|gcd&Y*rDTXAXWYOJU6IXR1?`EQG) zEeO)w}Mz_O!@{4ow;3ihMG9#a@cf=1YFH+?-d|s#@ZwHae5BrJz(M zU_M?lQ$(o=MC!g@MM^1E@~S9}23a4+&vkdUmp5r%mn3Yux?7L&9P=LE30$Ast?cj{ z&L1XG^5GLdQ{(-5YYPgh8JfV*Ss32Gkzq(eRpb85a)3~uGkwC!j1skB81u#gjX2wB zmNc;Fe0a0`l-J(s02Rl(dMFyDazH;DRylD`Nt48N=~a4YCvOr*4jukx`kU(noPcb| z1|;MzR4eBC1wFMlXA*-SW0vV~7XwDVjvZgTxfb!72(LwK(yzGw28Vr8dMwLM57dNL z^~Fn72G&NyNvPD#iHd6I3j(!_=S_Z0Pwu zqmix4f|@apPz`72{L+1q_m~vqaQ@yH7_g$kNJub$HzbpV3lt?Rms?1huMgjyZ_8DA zt>9WNL#c-1>CMFY42R{Xigic?5$j9vF@e&YJ<#-anC?4F0)hZQ9T+2;~9 zTT_5oiLE>xyWjWoQMzRxme{P$q%wFL7m_e3m3?%r)Cv@2r>WIr1T;dEB>JtGqB#mV z#z1Uiq3j;FumF{Ru17PjIe)hhQ0E1&HE@3##Ees-pPt@Y*0fp5ND0_7FGKj@wsxXY z|JRhW>?eWJQqbO0G^Da>5TX10bKT2ifb|d$*AMYp9FTjB$jH}kq*oMh^9+AQEz8&{ zSDVECXIKalgmGu9Ibs)<+l^`?BZ>VeF71#e7orN!c|B^kPSAzaXy6co$m6Ri^F9pv zf^2K-yb0hVjb5X=vg);*)h;>FG7TbRv8AyQvN_8;q^4HmXo00RGCCXw|qaWMy6P@D*525xB8L5IK<|GHxTvi zmDi(d1okkWvcT-kd7(aJskcG&G*8{N&gc|$v3p8g4zD{aG%OmBcCq#TLB8X}6W|}^ zcI!iIw?63rKr3Yruf1qHq=tC9;H=dkf=?pVuYQ|Vm=MV*^eZM|QbU7Fnt+=~vuyqQ zx|W7_d;CvwYc7~;Mj?9A++`-=RrP+wCQ?J(!N&H6_8ak#WTQ$k_z)b-z-eL@O6uOh z4iQ7t)Pr%0sV@p%)-DDnCV`bfQI*!ML3ETaI|mvuSjkyG&pqjVD*R5quwF%Yhfds= z#uKI*wz`@(^un*)o&oMr3D#<{MWMeKU~T-iMBETN`U?={4Ft&hCW&_Zc7HbC$=vM{wQv)>F$vxuHazj* zDaVj`dKB2Ry5>B*JX74@25?Fk2%(Aw7cR%Bz5cJ%Dr$bkT;(y%9$ygt_qXv z;2{Gjb+mCj?tlUlbX}~d;SGyw_jzsAe#@Pa8+k_gQ>emNx=jx*5}||1Lb;C2!viAP zVJ`RiQfsT%tPr15`dp1&fFx|+4~HB*B>=zRKx<+T0)UdXP2|@0I>js zBLHZs?`0Fx=`c0vV7J=mQor1APjDT4y71f_+RCySr%j8IV&rlZdR%tDSHhbPx`Qk< zij1E3oVM;xJiL2QZ;^i-JHL+IQEXOo^hi(pv#kyw!HE&XU}of$t|cHXUFDaO2 zX?c+lfMcp~2gdzUm1V0t6HL~fP{qEHYpv5!6(A9r;$4dU#$@~Dudj93SmZX#{0$B} zq!L~N$W>KU08t?WM5$zV4Uk&ky{+;j4KzHvagJ;6yFBnxlJ#L5;;^0UnFvYEa~VbP z15^g|*YgOV>FZN1ch*=#C|f1BmQcq4Fn%}zA3-Xo)jL48`XW_J+3zd`#8h^n3KXZZ za@A*XBdTEw6=U-{naVMn%1jgCcFXh@9;XB>&=vktG8^@wj9jBJ=}VflhHQD zdD%nI(5^yna)Z|J+0KZxTL~pC`xzLCxKhv=Gh15G^|1x`7-e3RYBkHsS#)^o(&;R~ zd)%RR$J09~R_HQ?5^WXq1qTOr@C><6wLb;FmRbE|ZSgHkq$dHO&ENDb93GmgU$LF` zoK`qs-CIoVnF8AxWds_ik2%P@3z5bNf%sPdK_G*v-4O0C7jS{-PtpQd<*D5IujMn* zgzK$aJ5GZOWC{9ve{b!7jVJp{AK9&f82yYCkl62UqG6D2K{|&*VQ!{42L^e zrRKiM-<#eXjB|09OchDII?^g0k*er&d>4+0_-bPNY(H71`FBs%5yaOV%Ti@_d*N;IcIiGXaRg z0@~#4Y0Z+GBW=3+JnyaqhJ1Z+Xi4}S-^^JTf*rz zW#gS4@i$6w6yV&}PH#5S;|?vRcGSuE#_n`IbHCX{3MH|9Ag4%t7`=vKiw^GZ=!Lu+ z1H)J>&^5jq#%IGUomdsKs(T;fK+6wP(J(WgLx7kFIh z`qO-&RIslk(^C}&L3zJBRZ|Yi^f>+vPsw%z96!TTTt&{v^R`%}Dvej*uvvx?+&`4S zNM6Nmz>s`)-j~ibnPM~;``Nv0Z0fWxg4~0xU1vPw7Xr@5kxs=y3`t!4T5~m3tN9Wi zu7(tlZZ%4w^4#Zh8YsXTIkfImMmm?03kVbprE~)lP@^dvYGhU|P$(R!W^%Ei=Jr_P zv%r@7hw*HKfNGa}XcbuO#DiN9P<08LVhY1y^v%*j-uuR))08u0F;gTl!{ML=6jN<2 zca?u`3wrpG1QL3iL_U2Y^r-AJ)5mUjE0&vV3VBlsFpC!QxuYEk@A@I)3wbhJK?L-s z)R_OofO(%_k=tV@&l!v$e^2#jedIJg=a~C@2PFiQ>(>^W_0!W9Z&hcIsRnw|N3Wa@ z=iZq>2d~+P{WnAbHJTI_#TC*AcWY+upF3+p(+J(3N=;mAH(O)LN^)JEn2ALh@f|s zaIHZ-?uUqmP&c-PEE4FZ?mHYUpiXc4p$m3vR98!Z&hbF~0N?iB-Q2T{epJNf*LEi| z{|uuE0)+Qd1k(?^cQWJ{`ktrOR@|Dk zddksXPH^R5@!5~MNbJQtJdDSR`(X8&m|Ch^eTE!)2)8!wct=@2u3Y+|897!eG{WO^ zZgL}nU|^C?(m3m>-n$#CKWOd{BfVv3kBz4>R9!+^E~>5tWXr|^I;K_+<-6EF? zcD-5&C(F0lUarkW*;LOG_AJ%-?z5yXDl(s&00*ZnRv1~PdKi$#L!z?!1CZ(}X-Z^T z5ofd~k&4JOhUgk0cM!R%MOVs<6~#PHU<}MPBn4(+nK1V@{3mk_VKc6Id%rRj?z!zN zs{;&qT za|03Z27f7RoIYG{#ODMX`r0av0y3~4q_NRV=VPGXIs7wMq}KIVi_%d3k){kh1N`YJ zI)Be$fTfD9gTDw%PABt%s1j7q-3z)U})FM*FDRaKOnP1&M&@0Jv0li8$%;a5^) zQ`2h0iuFm9H6}&$1d?s&db~f^>3w2~@#X&I360k+eT^BP^9&;Ku--DiPF7c~1=rfc zbt>2i>0>RyRs>PIk3w;e z@IC5<^|Qop86}}?^LX^Rt8yhSiG1z;Cat+MHiNz*pCLuSu}_zn={|`gr1VV6r0sU+ z`#U~t_EaR$BUuugGWILuRuVtOBtQ4@z1$R z{TJ|{)^G7-@6nEFuA|kb-`{QQIeNqDbLMiBeyhnzB2{kscuo4Tq!D_1*wwe9wsv*Y ztlsX4W&M{8@(m(v3!;JR3kH3%>8kxQHgu@}+;p&DHMECkByaGtLjt&Yw^c=QWmWRk z<7YhicMmS)?7$U@^LmPziy{H>`KbYLSeKtN1eyG7rw zddKq7E6Ufr0Nc+SryErI(gmw)24!t+jee~2q|FjJn&Vroy*?{w$D#at0eRvGdDYjF zjnBzx^uB(w1>#^n=QczkD$l-a5wqkqy-Q&o?^a z(%7i0P9C7$r;K1Kv&PKEMuIai16WNy*a!s6OpQWG$GzvwX;=nUqx$VUC6m3?CGtkz zPvaJCBL%JZ3D#LM&l_p#ED7L+I$rYInrw-y?CFql!dv~e@T|X=X`74W+fqlm578EvPq7tD(rlC9QZhv+L<%$7%J zV{@i=D-cGev6W_!p0Xih=aV#Mr=xrO6a!_$M@>lo_y=rES%tsiH*z?3N*`Iwj>)Bk zmk}n@;*TYfKxO&6i`M?RB?H6^p`Qc+Du*A?wwe-r#nl}ASHk^2wfhC5g-Be+B&ci30kL9+q|MN!@!n@+ds<=z(wmD7}x?3T&75Tiw2 zc3Z9ZbNQsVYHq9tezQGNhn+t&>V0^DUU_c#D@ru7Xw1g4&RXWSuEab6N=f5TvN>g}OJUC%9gCKB3MziG7;1nqr+0 zw~@wy-h3j9Rj9=w6+r37Kr!vVS)uiO1A9qWqb4L=%WQ2Op&MV{<>R3>@cxFqM6Il7 z`(n|?OK%|@zJ&gcn?;iwXKSdbgjXKJM+A7BbYt@2>WHu{)!ndUnnO={mK(ag)`gb_#k_!iDSJ6*z z7n&_Zw@-u&uKtPo{e_z-qv=6ZLms*a@D`hXJKpc04}JnjOAc|IflWIqE$MFu zKdf?`M1$3)NVVit5lUP9by}~e1Q|$uGDP;5+$t+dzB8u1BO%jq&5In*;QufLzbHD7 zNkZsH8Ih*acolS8hekEQmD zXU%t{AKp8MH zFJxp3BhG@Au=XMrl&6iL1IW-XBSwyGdTR{!$oS%(6TI!KuIC@!eYQp|Z{DMD_JW`u=44xFc<31XSlnC1x+SxgS*#^^Y*gvsF2T{QcI8Rh_ zJXJ8LvK>}j@;t#S>zvEu{e<@3ea;fQe1#_ps8KeEm~}=%ZY{sfzbI50T;G+UpMrh< z)U|nR66fm=Tkvqw3LY{VPDHIW-<#YvGi-SWGqS$1fs;ziW1scqQd*kA7SK;@Xm(b7 zXgun=QC1A3Y-iDIK>>;x3$x6acg3aAS$cDk%`a&pWf z6cmdMG|Ivr0X=qWbuEo=QF|kVe@vh-p&Sa8$ zz|B%WawC3l##6594GMVFpG118 zOthLad-)*22F(7%)vLOBVhsG)6HsGh8C|s^D5P1RYkKF(k4XC-ytmXCVg5622EfMh z?+X#p_j5rK-2EQi2#$&a#opE6RdwR6;UqPYvl<@{_edqyTGY7%k7$tGOb!A(`sFzv z{1_G4D|;<*pPf2l;tH$O>v#jvgW>lkY1*Y|Xjy6v(U3c%xlfBu3PS=4Y8;5@M7YC^ z|9+MY9Bi+a(MHq9VEH&dPC7L`**fVS=hGo06 zOGoZzR~IZMVjJFYx~6Jm!VC?_!UcS33ALw|XJ|P#hm#tzF)w zu@5RdqSaDSIbl@pm5?;{NaS&98l^9v9dUH3NM}j=TILF;HN2PDzpN7AVD&eQuov+g zJLmzY1s&-K=!-*8jRooR4fwPdzr52R?BNerMhVr)gveaY+lBJHkui))9MEclqFpf? z$=RK?mDCTI_ylLs^(=Xmu1ikgtHD!jO0TK2p@(uZ2j3Yvp0bA&w1Jx44rlvoSf_)S zcw`67p1wmtVSFgKBNgCeGb`>g0-NyRBxiA9?~rgZ7Vz$=318Jzv9b<5CAaxqbf-t9 zM^KVI*^dR)*Lc1|o22$vOE)TwHrUQ3VxbX*NMVw}L7j$)cgsanqwixr@~DV8`uXzQwkC0pq#Wid677P3T#`nO zQXonlt6mZ!BO{nu>FvW={Bio$*e|zu-J`d>&gNy%qm|;G3BtGXSjTdJ_Y*&|}D2tGo zQYcIe5YbeBgO{Oel(JnND*34D9T368aK%!%U;brx9gDw#SOVtF`RZ+k)~2}~S!4oT z5p|$g-SFz}~m)Uj>>K&BL@Ix1LWsxig!q zjP*V&cU}cH=h3j7eM*Yr*X2j5B>l2_YtOkN<0y6oXt_Uj;Hx;?OVZ&(8kan9}Q>!8ecthL1-Dri#P78j;WQ}@c(qw~?s zQcJlmavp!%aoYVc@!HXBE5nGK{@)<9zZ&<$za59a@~?Y3f!2oQN$&*M&gG_2>yGso z19DXagtDc`Cqe!R=t*i%#a`GuYC571ryM_Aof-4JS5-3ZY22R%x*6v3?y|2+j`pZ` zRB_STRxJTW7Nj#uXOtoNPCK$W55It`AA{1n$%x#Itj|>M6a&$n)4~1;q_dnvi283Y zX)+MEps>q#?mx=3-h;Fr!yX0GURmwexZ(?zl5tx9FxEvvX)=xv=mbDLW0+M3TgGy2 zRIwdqfhqvj{))H*yLI9C{nm|uZJa;-qHv_W6jlDZQG8PbnSJ!`WB z*B>pJrptQTFs{p=#nMg~fiwKc@M=WrcF{bU{Q{motrEOBSEcL%Rm7v4t~AqZB#NZi z`9Ic+?_a2zsa86#-RC^LP@}dCO(_eZw(*0Dtw&4!=yY~fG3}^lpV}lr#Fgxb8j}2N zM7dEgF%1#L7H96lkvTjVI6(0jjDCrZ`S2WU_sl%5UCimw5f#US!*)$j{j5oXXPh4$ zP2yy}3^_BWu2m`4Z2r~)0Fv4Eg#<<{?i(`a8K-&Wpcf*K8t(Y-&e_^Vk4&Lx`2ucy zhLIe+DAafb6di)g-+ZXhRp4~?SZ^~PPV7p_#LHGqwKmd^nJU?~TF-ES*r&T9V>?a4 z?~b;>8EyT3QJ)V~7}#mIEA$nd)itkv$2589u*qHQzGU#9T3tR<^UoKay}i;1y&QDh z#9PJWqKx|{?{MQ#U4Vox>)A$+N{oAjq*}ruS2wsdJR4gkV+C)sJRh(YRo49IAPzU4 zZm78AVS3mUlfq#~gBr)i0e%x4QfJ8#t2vBWHy{b&Nl8wo2rs3cDZ6%IY)DnF#x@4S zo^9~P3A$+1{flb`OOgMiqXG{C7fLB%mRo4+^*wtj@-zsMDzzlP&5-417k>ULAo~NJ z{Jo&A;a=q+JYGA*5d7Qs|Jz9R_NJp^?|hd?{pXbE-TNt;}jG4p>- z44B_%$KH{`O-d32&#`_R?|-}g(_lyN`J5jP+&bblR7_I+@81D8IM4$(nZRyvH^Xrv zw1pZq`b}1_x?6DZN1M)zI7jfGBkTX@yoKcVpK^+|Xk}BYp7o}MWdVV)6cVYRJMnWw z&zL-Il>hd&zn{scK1jF;EWygjQt>=gce$l8PBBf;fr9w(Xrd%vE0*{F*qHu$=w&q6 zJ$V95GO~(+khtmBZI$V=2*nPt&jV8eFX!Q->M8NvmhTM@n2?tXx#j_kRFs>#a=y literal 0 HcmV?d00001 diff --git a/docs/typescript-and-glint.md b/docs/typescript-and-glint.md index b43179fa..b394ba9b 100644 --- a/docs/typescript-and-glint.md +++ b/docs/typescript-and-glint.md @@ -5,4 +5,93 @@ title: TypeScript/Glint --- # Using with TypeScript/Glint -todo +This library is written in TypeScript, but it is still new and the shape of the types may only improve with time as we add type tests using [expect-type][gh-expect-type]. + +While this library adheres and strives for [SemVer][docs-semver], TypeScript does not. +Type changes during minor upgrades may be considered breaking changes to some. +Today, the type-tests in this library are few, so we cannot guarantee SemVer with our types _yet_. +The goal, is to follow the advice of [Semantic Versioning for TypeScript Types][rfc-730] -- but to do so, +requires more type tests. Until noted in the Changelog that our TypeScript types fall under SemVer, +consider type changes to "bugfixes" for patch releases. + +If any bugs (or confusion) are encountered with the type inference, whether in JS, TS, or templates, please [open an issue][self-issue]. + +[rfc-730]: https://github.com/emberjs/rfcs/pull/730 +[gh-expect-type]: https://github.com/mmkal/expect-type +[docs-semver]: https://semver.org/ +[docs-glint]: https://typed-ember.gitbook.io/glint/ +[self-issue]: https://github.com/CrowdStrike/ember-headless-table/issues + +## In JavaScript and TypeScript + +When defining all parameters within the `headlessTable` function, all type inference should "just work", +but all relavant types are available manual usage for creating reactive data within your config. + +For example + +```ts +import { + headlessTable, + type ColumnConfig, +} from 'ember-headless-table'; + +class Demo { + table = headlessTable(this, { + columns: () => [ /* ... */ ], // ColumnConfig[] + data: () => [ /* ... */ ], // DataType[] - generic, inferred from whatever is passed here + }); +} +``` +could be written as (for swapping out both columns and data) + +```ts +import { tracked } from '@glimmer/tracking'; + +import { + headlessTable, + type ColumnConfig, +} from 'ember-headless-table'; + +interface MyData { + foo: string; + bar: number; +} + +class Demo { + @tracked columns: ColumnConfig[] = [ /* ... */ ] + + @tracked data: MyData[] = [ /* ... */ ]; + + table = headlessTable(this, { + columns: () => this.columns, + data: () => this.data, + }); +} +``` + + +## In Templates + +[Glint][docs-glint] is still young, and pre-release, but it's proved it's worth -- and for new projects, +it can be a great choice to help ensure that your code is as bug-free as possible. +Glint was the missing for TypeScript to truely shine in Ember, and this library strives to make sure that +inference of all public APIs (properties, plugin-configs, etc) _works by default_. + +Here are a couple screenshots from our own tests showing that Glint provides intellisense and JSDoc documentation in VSCode: + +![Glint in VSCode providing intillesense](/glint-example-intellisense.png) +![Glint in VSCode providing inline API documentation](/glint-example-jsdoc.png) + +### Editor integration + +The Glint [getting started docs][docs-glint-start] cover some of this, but for quick access, you may be interested in these links: + +- Glint [VS Code Extension][glint-ext-vscode] +- Glint [Language Server][glint-ls] +- Example usage with native LSP w/ [neovim][example-neovim-lsp] + + +[example-neovim-lsp]: https://github.com/NullVoxPopuli/dotfiles/blob/0df85d633f978cf67c7df9d36d21ce6820d4b419/home/.config/nvim/lua/plugin-config/lsp.lua#L25 +[glint-ls]: https://typed-ember.gitbook.io/glint/getting-started +[glint-ext-vscode]: https://marketplace.visualstudio.com/items?itemName=typed-ember.glint-vscode +[docs-glint-start]: https://typed-ember.gitbook.io/glint/getting-started diff --git a/test-app/tests/plugins/column-visibility/rendering-test.gts b/test-app/tests/plugins/column-visibility/rendering-test.gts index 04635d97..73527906 100644 --- a/test-app/tests/plugins/column-visibility/rendering-test.gts +++ b/test-app/tests/plugins/column-visibility/rendering-test.gts @@ -100,9 +100,7 @@ module('Plugins | columnVisibility', function (hooks) { {{#each this.table.rows as |row|}} {{#each this.columns as |column|}} - - {{! @glint-ignore }} - {{column.getValueForRow row}} + {{column.getValueForRow row}} {{/each}} {{/each}} diff --git a/test-app/tests/plugins/data-sorting/rendering-test.gts b/test-app/tests/plugins/data-sorting/rendering-test.gts index 26cb8e15..91565887 100644 --- a/test-app/tests/plugins/data-sorting/rendering-test.gts +++ b/test-app/tests/plugins/data-sorting/rendering-test.gts @@ -106,9 +106,7 @@ module('Plugins | dataSorting', function (hooks) { {{#each this.table.rows as |row|}} {{#each this.table.columns as |column|}} - - {{! @glint-ignore }} - {{column.getValueForRow row}} + {{column.getValueForRow row}} {{/each}} {{/each}} From bef6dadc75c9f34908393b15466a75185a39890f Mon Sep 17 00:00:00 2001 From: NullVoxPopuli Date: Fri, 14 Oct 2022 16:06:27 -0400 Subject: [PATCH 4/9] chore(deps): upgrade ember-oss-docs --- docs-app/package.json | 2 +- pnpm-lock.yaml | 294 ++++++++++++++++-------------------------- 2 files changed, 114 insertions(+), 182 deletions(-) diff --git a/docs-app/package.json b/docs-app/package.json index 46a551b5..bb7ac7b2 100644 --- a/docs-app/package.json +++ b/docs-app/package.json @@ -114,7 +114,7 @@ "edition": "octane" }, "dependencies": { - "@crowdstrike/ember-oss-docs": "^1.0.25", + "@crowdstrike/ember-oss-docs": "^1.0.29", "@ember/test-waiters": "^3.0.0", "@embroider/router": "^1.9.0", "dompurify": "^2.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0f9635b4..23dbcd3d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,7 +35,7 @@ importers: docs-app: specifiers: '@babel/core': ^7.19.3 - '@crowdstrike/ember-oss-docs': ^1.0.25 + '@crowdstrike/ember-oss-docs': ^1.0.29 '@crowdstrike/ember-toucan-styles': ^1.0.5 '@crowdstrike/tailwind-toucan-base': ^3.3.1 '@docfy/core': ^0.5.0 @@ -131,7 +131,7 @@ importers: typescript: ^4.8.4 webpack: ^5.74.0 dependencies: - '@crowdstrike/ember-oss-docs': link:../../ember-oss-docs/ember-oss-docs + '@crowdstrike/ember-oss-docs': 1.0.29_ouk7khizzwo7k3l6mmywdhl5qm '@ember/test-waiters': 3.0.2 '@embroider/router': 1.9.0_6nap4nrlhytgwxhnrgcj56wvwu dompurify: 2.4.0 @@ -1554,6 +1554,19 @@ packages: transitivePeerDependencies: - supports-color + /@babel/plugin-transform-typescript/7.8.7_@babel+core@7.19.3: + resolution: {integrity: sha512-7O0UsPQVNKqpHeHLpfvOG4uXmlw+MOxYvUv6Otc9uH5SYMIxvF6eBdjkWvC3f9G+VXe0RsNExyAQBeTRug/wqQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.3 + '@babel/helper-create-class-features-plugin': 7.19.0_@babel+core@7.19.3 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.19.3 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.19.3: resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} engines: {node: '>=6.9.0'} @@ -1768,6 +1781,39 @@ packages: dev: true optional: true + /@crowdstrike/ember-oss-docs/1.0.29_ouk7khizzwo7k3l6mmywdhl5qm: + resolution: {integrity: sha512-AkDRolLBwn9JEa6IaI0AEW0qC22Yvxqwtjh6Ba1wUwqLWOrNe9a5wSei+bG9MJmcFuY/cM63XAFI5SFWSCHiCA==} + peerDependencies: + '@crowdstrike/tailwind-toucan-base': ^3.3.1 + '@docfy/core': ^0.5.0 + '@docfy/ember': ^0.5.0 + '@glimmer/component': ^1.1.2 + '@glint/environment-ember-loose': ^0.9.4 + '@glint/template': '>= 0.9.0' + '@tailwindcss/typography': ^0.5.7 + highlight.js: ^11.6.0 + highlightjs-glimmer: ^1.4.1 + dependencies: + '@babel/runtime': 7.19.0 + '@crowdstrike/tailwind-toucan-base': 3.3.1_5zjlt5w4ir2cay3te66iu3k3ji + '@docfy/core': 0.5.0 + '@docfy/ember': 0.5.0 + '@embroider/addon-shim': 1.8.3 + '@glimmer/component': 1.1.2_@babel+core@7.19.3 + '@glint/environment-ember-loose': 0.9.4_q3dyqagzoarn5fdnpc2fuow56q + '@glint/template': 0.9.4_@glimmer+component@1.1.2 + '@tailwindcss/typography': 0.5.7_tailwindcss@3.1.8 + dompurify: 2.4.0 + ember-modifier: 3.2.7_@babel+core@7.19.3 + ember-url-hash-polyfill: 1.0.8_@babel+core@7.19.3 + highlight.js: 11.6.0 + highlightjs-glimmer: 1.4.1_highlight.js@11.6.0 + lodash.merge: 4.6.2 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: false + /@crowdstrike/ember-toucan-styles/1.0.5_do2k75ey62s362izemmcwwdmga: resolution: {integrity: sha512-eXCBn0u5TyMeNsw57C4MqSZCrlDYL8LZp9olKd7UAVIK1TNeUrEDe0j6kAhJG2t7psHWjANjOy0ClXX0gMRXbg==} peerDependencies: @@ -1798,7 +1844,6 @@ packages: - autoprefixer - postcss - ts-node - dev: true /@docfy/core/0.5.0: resolution: {integrity: sha512-4SBim8DAveFju1CiUfiHXGiWc+zC7CMWKid+jbwPW1AiVlwitrY2KJYGe+LN1dNxd3EcIVV8QULl7Po7ZTqxgg==} @@ -1826,7 +1871,6 @@ packages: yaml: 1.10.2 transitivePeerDependencies: - supports-color - dev: true /@docfy/ember/0.5.0: resolution: {integrity: sha512-kgBGrryYXTQ5pB5q8X1R6IoJMwka6W6Z/+NFYbrxv6r2BY+4pR+P8Of7rBDf/ViPRMCYIU0BtZcQWZFPeN45KA==} @@ -1853,7 +1897,6 @@ packages: unist-util-visit: 2.0.3 transitivePeerDependencies: - supports-color - dev: true /@ember-data/rfc395-data/0.0.4: resolution: {integrity: sha512-tGRdvgC9/QMQSuSuJV45xoyhI0Pzjm7A9o/MVVA3HakXIImJbbzx/k/6dO9CUEQXIyS2y0fW6C1XaYOG7rY0FQ==} @@ -2479,7 +2522,6 @@ packages: silent-error: 1.1.1 transitivePeerDependencies: - supports-color - dev: true /@glint/config/0.9.5: resolution: {integrity: sha512-n57V4EgEG2SGqd71CBh4NMjgWuiyM1zzM7sDmXsZ9mAvP38RRBOKjRNBfyWh8/FHX5AAPE7QD2o5GdprafRXFw==} @@ -2549,7 +2591,6 @@ packages: ember-modifier: 3.2.7_@babel+core@7.19.3 transitivePeerDependencies: - supports-color - dev: true /@glint/environment-ember-loose/0.9.5_t5ycb63yys2yccfcq5mlxlwezm: resolution: {integrity: sha512-dQX8nmDNVCAfYMSRzCaXEXFaJL4Woib1cCeziX0dPvacG4ASC2VoUR32kh4/km7UokGsHQylb40vQzWNir6NSQ==} @@ -2731,12 +2772,10 @@ packages: dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - dev: true /@nodelib/fs.stat/2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: true /@nodelib/fs.walk/1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} @@ -2744,7 +2783,6 @@ packages: dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 - dev: true /@nullvoxpopuli/eslint-configs/2.2.59_typescript@4.8.4: resolution: {integrity: sha512-QEGW2UlIk/26avbEy4LwmxgsZSYz2TS0TKIXh0wZ5fpA4jTkTOTGAL98PYn6Hd9zHs1gLVhUQMZYmQiWE2wPWQ==} @@ -3106,7 +3144,6 @@ packages: lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 tailwindcss: 3.1.8_postcss@8.4.17 - dev: true /@tootallnate/once/1.1.2: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} @@ -3469,7 +3506,6 @@ packages: resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} dependencies: '@types/unist': 2.0.6 - dev: true /@types/mime/3.0.1: resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} @@ -3506,7 +3542,6 @@ packages: /@types/parse-json/4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} - dev: true /@types/qs/6.9.7: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} @@ -3574,7 +3609,6 @@ packages: /@types/unist/2.0.6: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} - dev: true /@types/yargs-parser/21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} @@ -3880,7 +3914,6 @@ packages: acorn: 7.4.1 acorn-walk: 7.2.0 xtend: 4.0.2 - dev: true /acorn-walk/7.2.0: resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} @@ -4074,7 +4107,6 @@ packages: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - dev: true /aproba/2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} @@ -4090,7 +4122,6 @@ packages: /arg/5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - dev: true /argparse/1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -4271,7 +4302,6 @@ packages: picocolors: 1.0.0 postcss: 8.4.17 postcss-value-parser: 4.2.0 - dev: true /available-typed-arrays/1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} @@ -4915,7 +4945,6 @@ packages: /bail/1.0.5: resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} - dev: true /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -4959,7 +4988,6 @@ packages: /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - dev: true /binaryextensions/2.3.0: resolution: {integrity: sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==} @@ -5073,7 +5101,6 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.0.1 - dev: true /broccoli-amd-funnel/2.0.1: resolution: {integrity: sha512-VRE+0PYAN4jQfkIq3GKRj4U/4UV9rVpLan5ll6fVYV4ziVg4OEfR5GUnILEg++QtR4xSaugRxCPU5XJLDy3bNQ==} @@ -5130,7 +5157,6 @@ packages: broccoli-plugin: 1.3.1 fs-extra: 7.0.1 symlink-or-copy: 1.3.1 - dev: true /broccoli-builder/0.18.14: resolution: {integrity: sha512-YoUHeKnPi4xIGZ2XDVN9oHNA9k3xF5f5vlA+1wvrxIIDXqQU97gp2FxVAF503Zxdtt0C5CRB5n+47k2hlkaBzA==} @@ -5687,7 +5713,6 @@ packages: /bytes/3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - dev: true /cache-base/1.0.1: resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} @@ -5732,12 +5757,10 @@ packages: /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - dev: true /camelcase-css/2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - dev: true /camelcase-keys/6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} @@ -5796,7 +5819,6 @@ packages: /ccount/1.1.0: resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} - dev: true /chalk/1.1.3: resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} @@ -5831,19 +5853,15 @@ packages: /character-entities-html4/1.1.4: resolution: {integrity: sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==} - dev: true /character-entities-legacy/1.1.4: resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} - dev: true /character-entities/1.2.4: resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} - dev: true /character-reference-invalid/1.1.4: resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} - dev: true /chardet/0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} @@ -5868,7 +5886,6 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.2 - dev: true /chrome-trace-event/1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} @@ -6023,7 +6040,6 @@ packages: dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 - dev: true /color-support/1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} @@ -6036,7 +6052,6 @@ packages: dependencies: color-convert: 2.0.1 color-string: 1.9.1 - dev: true /colord/2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} @@ -6064,7 +6079,6 @@ packages: /comma-separated-tokens/1.0.8: resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} - dev: true /commander/2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -6089,7 +6103,6 @@ packages: /commander/8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - dev: true /common-tags/1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} @@ -6494,7 +6507,6 @@ packages: parse-json: 5.2.0 path-type: 4.0.0 yaml: 1.10.2 - dev: true /cross-spawn/6.0.5: resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} @@ -6529,7 +6541,6 @@ packages: /css-color-names/0.0.4: resolution: {integrity: sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==} - dev: true /css-declaration-sorter/6.3.1_postcss@8.4.17: resolution: {integrity: sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==} @@ -6609,7 +6620,6 @@ packages: /css-unit-converter/1.1.2: resolution: {integrity: sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==} - dev: true /css-what/6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} @@ -6860,7 +6870,6 @@ packages: /defined/1.0.0: resolution: {integrity: sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==} - dev: true /del/5.1.0: resolution: {integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==} @@ -6940,11 +6949,9 @@ packages: acorn-node: 1.8.2 defined: 1.0.0 minimist: 1.2.6 - dev: true /didyoumean/1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - dev: true /diff/5.1.0: resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} @@ -6960,7 +6967,6 @@ packages: /dlv/1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dev: true /doctrine/2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} @@ -7428,6 +7434,29 @@ packages: - '@babel/core' - supports-color + /ember-cli-typescript/3.1.4_@babel+core@7.19.3: + resolution: {integrity: sha512-HJ73kL45OGRmIkPhBNFt31I1SGUvdZND+LCH21+qpq3pPlFpJG8GORyXpP+2ze8PbnITNLzwe5AwUrpyuRswdQ==} + engines: {node: 8.* || >= 10.*} + dependencies: + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.19.3 + '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.19.3 + '@babel/plugin-transform-typescript': 7.8.7_@babel+core@7.19.3 + ansi-to-html: 0.6.15 + broccoli-stew: 3.0.0 + debug: 4.3.4 + ember-cli-babel-plugin-helpers: 1.1.1 + execa: 3.4.0 + fs-extra: 8.1.0 + resolve: 1.22.1 + rsvp: 4.8.5 + semver: 6.3.0 + stagehand: 1.0.0 + walk-sync: 2.2.0 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: false + /ember-cli-typescript/4.2.1: resolution: {integrity: sha512-0iKTZ+/wH6UB/VTWKvGuXlmwiE8HSIGcxHamwNhEC5x1mN3z8RfvsFZdQWYUzIWFN2Tek0gmepGRPTwWdBYl/A==} engines: {node: 10.* || >= 12.*} @@ -7444,7 +7473,6 @@ packages: walk-sync: 2.2.0 transitivePeerDependencies: - supports-color - dev: true /ember-cli-typescript/5.1.1: resolution: {integrity: sha512-DbzATYWY8nbXwSxXqtK8YlqGJTcyFyL+eg6IGCc2ur0AMnq/H+o6Z9np9eGoq1sI+HwX7vBkOVoD3k0WurAwXg==} @@ -7721,7 +7749,6 @@ packages: ember-cli-babel: 7.26.11 transitivePeerDependencies: - supports-color - dev: true /ember-load-initializers/2.1.2_@babel+core@7.19.3: resolution: {integrity: sha512-CYR+U/wRxLbrfYN3dh+0Tb6mFaxJKfdyz+wNql6cqTrA0BBi9k6J3AaKXj273TqvEpyyXegQFFkZEiuZdYtgJw==} @@ -8151,6 +8178,19 @@ packages: - supports-color dev: true + /ember-test-waiters/2.1.3_@babel+core@7.19.3: + resolution: {integrity: sha512-xDjvq8/1C3b9z3NGpez7aslbq5gsLrxsdjD3apyziHkImh/PTeXZr2bxo/YAUgOwGOtpZ1So0fIsppiSN0u1Ng==} + engines: {node: 10.* || >= 12.*} + dependencies: + ember-cli-babel: 7.26.11 + ember-cli-typescript: 3.1.4_@babel+core@7.19.3 + ember-cli-version-checker: 5.1.2 + semver: 7.3.8 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: false + /ember-tracked-storage-polyfill/1.0.0: resolution: {integrity: sha512-eL7lZat68E6P/D7b9UoTB5bB5Oh/0aju0Z7PCMi3aTwhaydRaxloE7TGrTRYU+NdJuyNVZXeGyxFxn2frvd3TA==} engines: {node: 12.* || >= 14} @@ -8193,6 +8233,19 @@ packages: - supports-color dev: true + /ember-url-hash-polyfill/1.0.8_@babel+core@7.19.3: + resolution: {integrity: sha512-4BWDhDjYr8d13kKTbcMyqX9p+hMXYNrV33enPNB6bcOS6sgJu3HOGGfzc7sIb9Gft4qLENTUBHRKl8xIU8f6fg==} + engines: {node: 10.* || >= 12} + dependencies: + ember-cli-babel: 7.26.11 + ember-cli-htmlbars: 5.7.2 + ember-cli-typescript: 4.2.1 + ember-test-waiters: 2.1.3_@babel+core@7.19.3 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: false + /ember-window-mock/0.8.1: resolution: {integrity: sha512-wl9TJuBYFWKsPqDY2gms2jbre1L39AkrPQ9EqbhqHbZI4aEq8u8IZJ0nJaOa7IVr/Jy/kSUXYQGTgvNhz1AzPw==} engines: {node: 12.* || 14.* || >= 16} @@ -8291,7 +8344,6 @@ packages: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 - dev: true /error/7.2.1: resolution: {integrity: sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==} @@ -8776,6 +8828,22 @@ packages: signal-exit: 3.0.7 strip-final-newline: 2.0.0 + /execa/3.4.0: + resolution: {integrity: sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==} + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: false + /execa/4.1.0: resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} engines: {node: '>=10'} @@ -8892,7 +8960,6 @@ packages: /extend/3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: true /external-editor/3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} @@ -8940,7 +9007,6 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 - dev: true /fast-json-stable-stringify/2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -8987,13 +9053,11 @@ packages: resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} dependencies: reusify: 1.0.4 - dev: true /fault/1.0.4: resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} dependencies: format: 0.2.2 - dev: true /faye-websocket/0.11.4: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} @@ -9053,7 +9117,6 @@ packages: engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - dev: true /finalhandler/1.1.2: resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} @@ -9261,7 +9324,6 @@ packages: /format/0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} - dev: true /forwarded/0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} @@ -9270,7 +9332,6 @@ packages: /fraction.js/4.2.0: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} - dev: true /fragment-cache/0.2.1: resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} @@ -9405,7 +9466,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true - dev: true optional: true /function-bind/1.1.1: @@ -9520,25 +9580,21 @@ packages: /git-repo-info/2.1.1: resolution: {integrity: sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==} engines: {node: '>= 4.0'} - dev: true /github-slugger/1.4.0: resolution: {integrity: sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==} - dev: true /glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - dev: true /glob-parent/6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 - dev: true /glob-to-regexp/0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} @@ -9813,7 +9869,6 @@ packages: /hast-util-is-element/1.1.0: resolution: {integrity: sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==} - dev: true /hast-util-to-html/7.1.3: resolution: {integrity: sha512-yk2+1p3EJTEE9ZEUkgHsUSVhIpCsL/bvT8E5GzmWc+N1Po5gBw+0F8bo7dpxXR0nu0bQVxVZGX2lBGF21CmeDw==} @@ -9828,11 +9883,9 @@ packages: stringify-entities: 3.1.0 unist-util-is: 4.1.0 xtend: 4.0.2 - dev: true /hast-util-whitespace/1.0.4: resolution: {integrity: sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A==} - dev: true /heimdalljs-fs-monitor/1.1.1: resolution: {integrity: sha512-BHB8oOXLRlrIaON0MqJSEjGVPDyqt2Y6gu+w2PaEZjrCxeVtZG7etEZp7M4ZQ80HNvnr66KIQ2lot2qdeG8HgQ==} @@ -9871,7 +9924,6 @@ packages: /hex-color-regex/1.1.0: resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==} - dev: true /highlight.js/11.6.0: resolution: {integrity: sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==} @@ -9908,7 +9960,6 @@ packages: engines: {node: '>=10'} dependencies: lru-cache: 6.0.0 - dev: true /hosted-git-info/4.1.0: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} @@ -9926,11 +9977,9 @@ packages: /hsl-regex/1.0.0: resolution: {integrity: sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==} - dev: true /hsla-regex/1.0.0: resolution: {integrity: sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==} - dev: true /html-encoding-sniffer/2.0.1: resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} @@ -9941,11 +9990,9 @@ packages: /html-tags/3.2.0: resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==} engines: {node: '>=8'} - dev: true /html-void-elements/1.0.5: resolution: {integrity: sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==} - dev: true /http-cache-semantics/4.1.0: resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} @@ -10085,7 +10132,6 @@ packages: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: true /import-from/4.0.0: resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} @@ -10215,14 +10261,12 @@ packages: /is-alphabetical/1.0.4: resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} - dev: true /is-alphanumerical/1.0.4: resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 - dev: true /is-arguments/1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} @@ -10234,11 +10278,9 @@ packages: /is-arrayish/0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true /is-arrayish/0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - dev: true /is-bigint/1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} @@ -10250,7 +10292,6 @@ packages: engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 - dev: true /is-boolean-object/1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} @@ -10266,7 +10307,6 @@ packages: /is-buffer/2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} engines: {node: '>=4'} - dev: true /is-callable/1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} @@ -10281,7 +10321,6 @@ packages: hsla-regex: 1.0.0 rgb-regex: 1.0.1 rgba-regex: 1.0.0 - dev: true /is-core-module/2.10.0: resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} @@ -10310,7 +10349,6 @@ packages: /is-decimal/1.0.4: resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} - dev: true /is-descriptor/0.1.6: resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} @@ -10351,7 +10389,6 @@ packages: /is-extglob/2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - dev: true /is-fullwidth-code-point/2.0.0: resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} @@ -10380,11 +10417,9 @@ packages: engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - dev: true /is-hexadecimal/1.0.4: resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} - dev: true /is-interactive/1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} @@ -10417,7 +10452,6 @@ packages: /is-number/7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true /is-obj/2.0.0: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} @@ -10442,7 +10476,6 @@ packages: /is-plain-obj/2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} - dev: true /is-plain-object/2.0.4: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} @@ -10890,7 +10923,6 @@ packages: /lilconfig/2.0.6: resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} engines: {node: '>=10'} - dev: true /line-column/1.0.2: resolution: {integrity: sha512-Ktrjk5noGYlHsVnYWh62FLVs4hTb8A3e+vucNZMgPeAOITdshMSgv4cCZQeRDjm7+goqmo6+liZwTXo+U3sVww==} @@ -10900,7 +10932,6 @@ packages: /lines-and-columns/1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true /linkify-it/2.2.0: resolution: {integrity: sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==} @@ -11041,7 +11072,6 @@ packages: /lodash.castarray/4.4.0: resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} - dev: true /lodash.clonedeep/4.5.0: resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} @@ -11092,7 +11122,6 @@ packages: /lodash.isplainobject/4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - dev: true /lodash.isstring/4.0.1: resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} @@ -11100,7 +11129,6 @@ packages: /lodash.iteratee/4.7.0: resolution: {integrity: sha512-yv3cSQZmfpbIKo4Yo45B1taEvxjNvcpF1CEOc0Y6dEyvhPIfEJE3twDwPgWTPQubcSgXyBwBKG6wpQvWMDOf6Q==} - dev: true /lodash.kebabcase/4.1.1: resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} @@ -11141,7 +11169,6 @@ packages: /lodash.topath/4.5.2: resolution: {integrity: sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==} - dev: true /lodash.truncate/4.4.2: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} @@ -11174,7 +11201,6 @@ packages: /longest-streak/2.0.4: resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} - dev: true /loose-envify/1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} @@ -11301,7 +11327,6 @@ packages: resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} dependencies: repeat-string: 1.6.1 - dev: true /marked-terminal/5.1.1_marked@4.1.1: resolution: {integrity: sha512-+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g==} @@ -11340,13 +11365,11 @@ packages: resolution: {integrity: sha512-PVuunQSsJNYiuZ56QypccTVPy8DowOkj61HtD78PSq1M8I49GwxzhdE2QmOp+j/TwaT1yq/K4b201388/ucV2g==} dependencies: unist-util-visit: 2.0.3 - dev: true /mdast-util-definitions/4.0.0: resolution: {integrity: sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==} dependencies: unist-util-visit: 2.0.3 - dev: true /mdast-util-find-and-replace/1.1.1: resolution: {integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==} @@ -11354,7 +11377,6 @@ packages: escape-string-regexp: 4.0.0 unist-util-is: 4.1.0 unist-util-visit-parents: 3.1.1 - dev: true /mdast-util-from-markdown/0.8.5: resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} @@ -11366,13 +11388,11 @@ packages: unist-util-stringify-position: 2.0.3 transitivePeerDependencies: - supports-color - dev: true /mdast-util-frontmatter/0.2.0: resolution: {integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==} dependencies: micromark-extension-frontmatter: 0.2.2 - dev: true /mdast-util-gfm-autolink-literal/0.1.3: resolution: {integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==} @@ -11382,26 +11402,22 @@ packages: micromark: 2.11.4 transitivePeerDependencies: - supports-color - dev: true /mdast-util-gfm-strikethrough/0.2.3: resolution: {integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==} dependencies: mdast-util-to-markdown: 0.6.5 - dev: true /mdast-util-gfm-table/0.1.6: resolution: {integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==} dependencies: markdown-table: 2.0.0 mdast-util-to-markdown: 0.6.5 - dev: true /mdast-util-gfm-task-list-item/0.1.6: resolution: {integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==} dependencies: mdast-util-to-markdown: 0.6.5 - dev: true /mdast-util-gfm/0.1.2: resolution: {integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==} @@ -11413,7 +11429,6 @@ packages: mdast-util-to-markdown: 0.6.5 transitivePeerDependencies: - supports-color - dev: true /mdast-util-to-hast/10.2.0: resolution: {integrity: sha512-JoPBfJ3gBnHZ18icCwHR50orC9kNH81tiR1gs01D8Q5YpV6adHNO9nKNuFBCJQ941/32PT1a63UF/DitmS3amQ==} @@ -11426,7 +11441,6 @@ packages: unist-util-generated: 1.1.6 unist-util-position: 3.1.0 unist-util-visit: 2.0.3 - dev: true /mdast-util-to-markdown/0.6.5: resolution: {integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==} @@ -11437,15 +11451,12 @@ packages: parse-entities: 2.0.0 repeat-string: 1.6.1 zwitch: 1.0.5 - dev: true /mdast-util-to-string/1.1.0: resolution: {integrity: sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==} - dev: true /mdast-util-to-string/2.0.0: resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} - dev: true /mdast-util-toc/5.1.0: resolution: {integrity: sha512-csimbRIVkiqc+PpFeKDGQ/Ck2N4f9FYH3zzBMMJzcxoKL8m+cM0n94xXm0I9eaxHnKdY9n145SGTdyJC7i273g==} @@ -11457,7 +11468,6 @@ packages: mdast-util-to-string: 2.0.0 unist-util-is: 4.1.0 unist-util-visit: 2.0.3 - dev: true /mdn-data/2.0.14: resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} @@ -11469,7 +11479,6 @@ packages: /mdurl/1.0.1: resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - dev: true /media-typer/0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} @@ -11516,7 +11525,6 @@ packages: /merge2/1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - dev: true /methods/1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} @@ -11527,7 +11535,6 @@ packages: resolution: {integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==} dependencies: fault: 1.0.4 - dev: true /micromark-extension-gfm-autolink-literal/0.5.7: resolution: {integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==} @@ -11535,7 +11542,6 @@ packages: micromark: 2.11.4 transitivePeerDependencies: - supports-color - dev: true /micromark-extension-gfm-strikethrough/0.6.5: resolution: {integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==} @@ -11543,7 +11549,6 @@ packages: micromark: 2.11.4 transitivePeerDependencies: - supports-color - dev: true /micromark-extension-gfm-table/0.4.3: resolution: {integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==} @@ -11551,11 +11556,9 @@ packages: micromark: 2.11.4 transitivePeerDependencies: - supports-color - dev: true /micromark-extension-gfm-tagfilter/0.3.0: resolution: {integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==} - dev: true /micromark-extension-gfm-task-list-item/0.3.3: resolution: {integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==} @@ -11563,7 +11566,6 @@ packages: micromark: 2.11.4 transitivePeerDependencies: - supports-color - dev: true /micromark-extension-gfm/0.3.3: resolution: {integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==} @@ -11576,7 +11578,6 @@ packages: micromark-extension-gfm-task-list-item: 0.3.3 transitivePeerDependencies: - supports-color - dev: true /micromark/2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} @@ -11585,7 +11586,6 @@ packages: parse-entities: 2.0.0 transitivePeerDependencies: - supports-color - dev: true /micromatch/3.1.10: resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} @@ -11614,7 +11614,6 @@ packages: dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: true /mime-db/1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} @@ -11742,7 +11741,6 @@ packages: /modern-normalize/1.1.0: resolution: {integrity: sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==} engines: {node: '>=6'} - dev: true /modify-values/1.0.1: resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} @@ -11844,7 +11842,6 @@ packages: resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} dependencies: lodash: 4.17.21 - dev: true /node-fetch/2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} @@ -11921,12 +11918,10 @@ packages: /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - dev: true /normalize-range/0.1.2: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} - dev: true /normalize-url/4.5.1: resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} @@ -12087,12 +12082,10 @@ packages: /object-hash/2.2.0: resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} engines: {node: '>= 6'} - dev: true /object-hash/3.0.0: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} - dev: true /object-inspect/1.12.2: resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} @@ -12389,7 +12382,6 @@ packages: engines: {node: '>=6'} dependencies: callsites: 3.1.0 - dev: true /parse-entities/2.0.0: resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} @@ -12400,7 +12392,6 @@ packages: is-alphanumerical: 1.0.4 is-decimal: 1.0.4 is-hexadecimal: 1.0.4 - dev: true /parse-json/4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} @@ -12418,7 +12409,6 @@ packages: error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - dev: true /parse-ms/1.0.1: resolution: {integrity: sha512-LpH1Cf5EYuVjkBvCDBYvkUPh+iv2bk3FHflxHkpCYT0/FZ1d3N3uJaLiHr4yGuMcFUhv6eAivitTvWZI4B/chg==} @@ -12495,7 +12485,6 @@ packages: /path-type/4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - dev: true /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -12503,12 +12492,10 @@ packages: /picomatch/2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true /pify/2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} - dev: true /pify/3.0.0: resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} @@ -12650,7 +12637,6 @@ packages: postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.1 - dev: true /postcss-import/15.0.0_postcss@8.4.17: resolution: {integrity: sha512-Y20shPQ07RitgBGv2zvkEAu9bqvrD77C9axhj/aA1BQj4czape2MdClCExvB27EwYEJdGgKZBpKanb0t1rK2Kg==} @@ -12670,7 +12656,6 @@ packages: dependencies: camelcase-css: 2.0.1 postcss: 8.4.17 - dev: true /postcss-js/4.0.0_postcss@8.4.17: resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} @@ -12680,7 +12665,6 @@ packages: dependencies: camelcase-css: 2.0.1 postcss: 8.4.17 - dev: true /postcss-load-config/3.1.4_postcss@8.4.17: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} @@ -12697,7 +12681,6 @@ packages: lilconfig: 2.0.6 postcss: 8.4.17 yaml: 1.10.2 - dev: true /postcss-loader/7.0.1_sat2ilddhdkv6huwh4d4inpfry: resolution: {integrity: sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==} @@ -12829,7 +12812,6 @@ packages: dependencies: postcss: 8.4.17 postcss-selector-parser: 6.0.10 - dev: true /postcss-normalize-charset/5.1.0_postcss@8.4.17: resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} @@ -12984,7 +12966,6 @@ packages: /postcss-value-parser/3.3.1: resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} - dev: true /postcss-value-parser/4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} @@ -13026,7 +13007,6 @@ packages: /pretty-hrtime/1.0.3: resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} engines: {node: '>= 0.8'} - dev: true /pretty-ms/3.2.0: resolution: {integrity: sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==} @@ -13090,7 +13070,6 @@ packages: resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==} dependencies: xtend: 4.0.2 - dev: true /proxy-addr/2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} @@ -13121,7 +13100,6 @@ packages: glob: 7.2.3 postcss: 8.4.17 postcss-selector-parser: 6.0.10 - dev: true /q/1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} @@ -13147,7 +13125,6 @@ packages: /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true /quick-lru/4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} @@ -13157,7 +13134,6 @@ packages: /quick-lru/5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} - dev: true /quick-temp/0.1.8: resolution: {integrity: sha512-YsmIFfD9j2zaFwJkzI6eMG7y0lQP7YeWzgtFgNl38pGWZBSXJooZbOWwkcRot7Vt0Fg9L23pX0tqWU3VvLDsiA==} @@ -13230,7 +13206,6 @@ packages: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} dependencies: pify: 2.3.0 - dev: true /read-pkg-up/7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} @@ -13285,7 +13260,6 @@ packages: engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 - dev: true /recast/0.18.10: resolution: {integrity: sha512-XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ==} @@ -13321,7 +13295,6 @@ packages: dependencies: css-unit-converter: 1.1.2 postcss-value-parser: 3.3.1 - dev: true /regenerate-unicode-properties/10.1.0: resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} @@ -13430,18 +13403,15 @@ packages: resolution: {integrity: sha512-VkIs18G0pj2xklyllrPSvdShAV36Ff3yE5PUO9u36f6+2qJFnn22Z5gKwBOwgXviux4UC7K+/j13AnZfPICi/g==} dependencies: hast-util-to-html: 7.1.3 - dev: true /remark-extract-frontmatter/3.2.0: resolution: {integrity: sha512-PmYwNCo0cMAUV3oAGg5Hn6YSZgiSDwVdxLJmPIZ804aYuvE5mAzozo5AkO0C8ELroWrtN/f9zzb0jqFPBkMnwg==} - dev: true /remark-frontmatter/3.0.0: resolution: {integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==} dependencies: mdast-util-frontmatter: 0.2.0 micromark-extension-frontmatter: 0.2.2 - dev: true /remark-gfm/1.0.0: resolution: {integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==} @@ -13450,7 +13420,6 @@ packages: micromark-extension-gfm: 0.3.3 transitivePeerDependencies: - supports-color - dev: true /remark-hbs/0.4.1: resolution: {integrity: sha512-q1qnjA473z409IGqj3iu0Rex9YVN3cfwf6siPP+SQN9Yx66OxyL2cU4VHWK6IxWHSa/cughU2CBUbDPPsWxlfg==} @@ -13458,13 +13427,11 @@ packages: dependencies: unist-builder: 2.0.3 unist-util-visit: 2.0.3 - dev: true /remark-normalize-headings/2.0.0: resolution: {integrity: sha512-nXeBQ7luKRWDcuUTnc0ffUYZ7+cO01FomSjnzpGTGCi7rcD9Wbis+z3adbNyqbYtsC+/+o1S+GLHTwh9crnZxA==} dependencies: mdast-normalize-headings: 2.0.0 - dev: true /remark-parse/9.0.0: resolution: {integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==} @@ -13472,13 +13439,11 @@ packages: mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - dev: true /remark-rehype/8.1.0: resolution: {integrity: sha512-EbCu9kHgAxKmW1yEYjx3QafMyGY3q8noUbNUI5xyKbaFP89wbhDrKxyIQNukNYthzjNHZu6J7hwFg7hRm1svYA==} dependencies: mdast-util-to-hast: 10.2.0 - dev: true /remark-slug/6.1.0: resolution: {integrity: sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ==} @@ -13486,7 +13451,6 @@ packages: github-slugger: 1.4.0 mdast-util-to-string: 1.1.0 unist-util-visit: 2.0.3 - dev: true /remote-git-tags/3.0.0: resolution: {integrity: sha512-C9hAO4eoEsX+OXA4rla66pXZQ+TLQ8T9dttgQj18yuKlPMTVkIkdYXvlMC55IuUsIkV6DpmQYi10JKFLaU+l7w==} @@ -13515,7 +13479,6 @@ packages: /repeat-string/1.6.1: resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} engines: {node: '>=0.10'} - dev: true /require-directory/2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} @@ -13556,7 +13519,6 @@ packages: /resolve-from/4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - dev: true /resolve-from/5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} @@ -13650,15 +13612,12 @@ packages: /reusify/1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true /rgb-regex/1.0.1: resolution: {integrity: sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==} - dev: true /rgba-regex/1.0.0: resolution: {integrity: sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==} - dev: true /rimraf/2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} @@ -13803,7 +13762,6 @@ packages: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - dev: true /rxjs/6.6.7: resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} @@ -14111,7 +14069,6 @@ packages: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} dependencies: is-arrayish: 0.3.2 - dev: true /slash/3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} @@ -14287,7 +14244,6 @@ packages: /space-separated-tokens/1.1.5: resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} - dev: true /spawn-args/0.2.0: resolution: {integrity: sha512-73BoniQDcRWgnLAf/suKH6V5H54gd1KLzwYN9FB6J/evqTV33htH9xwV/4BHek+++jzxpVlZQKKZkqstPQPmQg==} @@ -14466,7 +14422,6 @@ packages: character-entities-html4: 1.1.4 character-entities-legacy: 1.1.4 xtend: 4.0.2 - dev: true /strip-ansi/3.0.1: resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} @@ -14710,7 +14665,6 @@ packages: tmp: 0.2.1 transitivePeerDependencies: - ts-node - dev: true /tailwindcss/3.1.8_postcss@8.4.17: resolution: {integrity: sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==} @@ -14743,7 +14697,6 @@ packages: resolve: 1.22.1 transitivePeerDependencies: - ts-node - dev: true /tap-parser/7.0.0: resolution: {integrity: sha512-05G8/LrzqOOFvZhhAk32wsGiPZ1lfUrl+iV7+OkKgfofZxiceZWMHkKmow71YsyVQ8IvGBP2EjcIjE5gL4l5lA==} @@ -15013,7 +14966,6 @@ packages: engines: {node: '>=8.17.0'} dependencies: rimraf: 3.0.2 - dev: true /tmpl/1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} @@ -15053,7 +15005,6 @@ packages: engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - dev: true /to-regex/3.0.2: resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} @@ -15070,7 +15021,6 @@ packages: dependencies: is-buffer: 2.0.5 vfile: 4.2.1 - dev: true /toidentifier/1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} @@ -15147,7 +15097,6 @@ packages: /trough/1.0.5: resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} - dev: true /ts-clone-node/1.0.0_typescript@4.8.4: resolution: {integrity: sha512-/cDYbr2HAXxFNeTT41c/xs/2bhLJjqnYheHsmA3AoHSt+n4JA4t0FL9Lk5O8kWnJ6jeB3kPcUoXIFtwERNzv6Q==} @@ -15379,7 +15328,6 @@ packages: is-plain-obj: 2.1.0 trough: 1.0.5 vfile: 4.2.1 - dev: true /union-value/1.0.1: resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} @@ -15400,55 +15348,45 @@ packages: /unist-builder/2.0.3: resolution: {integrity: sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==} - dev: true /unist-util-find/1.0.2: resolution: {integrity: sha512-ft06UDYzqi9o9RmGP0sZWI/zvLLQiBW2/MD+rW6mDqbOWDcmknGX9orQPspfuGRYWr8eSJAmfsBcvOpfGRJseA==} dependencies: lodash.iteratee: 4.7.0 unist-util-visit: 1.4.1 - dev: true /unist-util-generated/1.1.6: resolution: {integrity: sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==} - dev: true /unist-util-is/3.0.0: resolution: {integrity: sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==} - dev: true /unist-util-is/4.1.0: resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} - dev: true /unist-util-position/3.1.0: resolution: {integrity: sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==} - dev: true /unist-util-stringify-position/2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: '@types/unist': 2.0.6 - dev: true /unist-util-visit-parents/2.1.2: resolution: {integrity: sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==} dependencies: unist-util-is: 3.0.0 - dev: true /unist-util-visit-parents/3.1.1: resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} dependencies: '@types/unist': 2.0.6 unist-util-is: 4.1.0 - dev: true /unist-util-visit/1.4.1: resolution: {integrity: sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==} dependencies: unist-util-visit-parents: 2.1.2 - dev: true /unist-util-visit/2.0.3: resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} @@ -15456,7 +15394,6 @@ packages: '@types/unist': 2.0.6 unist-util-is: 4.1.0 unist-util-visit-parents: 3.1.1 - dev: true /universal-user-agent/6.0.0: resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} @@ -15611,7 +15548,6 @@ packages: dependencies: '@types/unist': 2.0.6 unist-util-stringify-position: 2.0.3 - dev: true /vfile/4.2.1: resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} @@ -15620,7 +15556,6 @@ packages: is-buffer: 2.0.5 unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 - dev: true /vscode-json-languageservice/4.2.1: resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==} @@ -15984,7 +15919,6 @@ packages: /xtend/4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} - dev: true /y18n/5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} @@ -16009,7 +15943,6 @@ packages: /yaml/1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - dev: true /yargs-parser/20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} @@ -16058,7 +15991,6 @@ packages: /zwitch/1.0.5: resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} - dev: true file:ember-headless-table_gea6srzlnkl2qogbcjlul4uqmi: resolution: {directory: ember-headless-table, type: directory} From baa48b0dc1ab6c51b6c18b1525355e467f6607a7 Mon Sep 17 00:00:00 2001 From: NullVoxPopuli Date: Fri, 14 Oct 2022 16:14:23 -0400 Subject: [PATCH 5/9] chore(docs): add the sticky plugin to the kitchen sink demo --- docs/demos/kitchen-sink/demo/demo-a.md | 31 +++++++++++++++++++---- docs/plugins/sticky-column/demo/demo-a.md | 3 +-- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/docs/demos/kitchen-sink/demo/demo-a.md b/docs/demos/kitchen-sink/demo/demo-a.md index 30b4266a..3c146a8d 100644 --- a/docs/demos/kitchen-sink/demo/demo-a.md +++ b/docs/demos/kitchen-sink/demo/demo-a.md @@ -1,5 +1,5 @@ ```hbs template -
+
{{#each this.table.columns as |column|}} {{column.name}}: @@ -13,11 +13,14 @@ {{/each}}
- +
{{#each this.columns as |column|}} - {{#each this.columns as |column|}} - {{/each}} @@ -87,6 +93,9 @@ import { import { DataSorting, sort, isAscending, isDescending } from 'ember-headless-table/plugins/data-sorting'; +import { + StickyColumns, isSticky +} from 'ember-headless-table/plugins/sticky-columns'; import { DATA } from 'docs-app/sample-data'; @@ -96,7 +105,10 @@ export default class extends Component { table = headlessTable(this, { columns: () => [ { name: 'column A', key: 'A', - pluginOptions: [ColumnResizing.forColumn(() => ({ minWidth: 200 }))] + pluginOptions: [ + ColumnResizing.forColumn(() => ({ minWidth: 200 })), + StickyColumns.forColumn(() => ({ sticky: 'left' })), + ] }, { name: 'column B', key: 'B', pluginOptions: [ColumnResizing.forColumn(() => ({ minWidth: 200 }))] @@ -104,12 +116,19 @@ export default class extends Component { { name: 'column C', key: 'C', pluginOptions: [ColumnResizing.forColumn(() => ({ minWidth: 200 }))] }, + { name: 'column D', key: 'D', + pluginOptions: [ColumnResizing.forColumn(() => ({ minWidth: 200 }))] + }, + { name: 'column E', key: 'E', + pluginOptions: [ColumnResizing.forColumn(() => ({ minWidth: 200 }))] + }, ], data: () => this.data, plugins: [ ColumnReordering, ColumnVisibility, ColumnResizing, + StickyColumns, DataSorting.with(() => ({ sorts: this.sorts, onSort: (sorts) => this.sorts = sorts, @@ -153,6 +172,8 @@ export default class extends Component { isDescending = isDescending; isResizing = isResizing; + + isSticky = isSticky; } /** diff --git a/docs/plugins/sticky-column/demo/demo-a.md b/docs/plugins/sticky-column/demo/demo-a.md index 37ed0e11..bd536b07 100644 --- a/docs/plugins/sticky-column/demo/demo-a.md +++ b/docs/plugins/sticky-column/demo/demo-a.md @@ -34,7 +34,7 @@ import Component from '@glimmer/component'; import { headlessTable } from 'ember-headless-table'; -import { StickyColumns, isSticky, styleFor } from 'ember-headless-table/plugins/sticky-columns'; +import { StickyColumns, isSticky } from 'ember-headless-table/plugins/sticky-columns'; import { ColumnResizing } from 'ember-headless-table/plugins/column-resizing'; import { ColumnVisibility } from 'ember-headless-table/plugins/column-visibility'; @@ -70,7 +70,6 @@ export default class extends Component { * [property on this component] = [variable in scope] */ isSticky = isSticky; - styleFor = styleFor; } ``` From 0e651b210deccc4482c8cc3b262bcf6944992161 Mon Sep 17 00:00:00 2001 From: NullVoxPopuli Date: Fri, 14 Oct 2022 16:24:03 -0400 Subject: [PATCH 6/9] chore(docs): add links to the API docs --- README.md | 4 ++-- docs/plugins/column-reordering/index.md | 2 +- docs/plugins/column-resizing/index.md | 4 +--- docs/plugins/column-visibility/index.md | 26 ++++++++++++++++++++++++- docs/plugins/data-sorting/index.md | 8 +++++++- docs/plugins/sticky-column/index.md | 2 +- docs/testing.md | 4 ++++ 7 files changed, 41 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index c30e888a..d637b789 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,6 @@ See the [Documentation][docs-app] for examples. [API Reference][docs-api] can be found [here][docs-api]. -[docs-app]: https://link-tbd -[docs-api]: https://link-tbd +[docs-app]: https://ember-headless-table.pages.dev/ +[docs-api]: https://ember-headless-table.pages.dev/api/modules/ diff --git a/docs/plugins/column-reordering/index.md b/docs/plugins/column-reordering/index.md index d3a5c215..ed440d38 100644 --- a/docs/plugins/column-reordering/index.md +++ b/docs/plugins/column-reordering/index.md @@ -2,7 +2,7 @@ API Documentation available [here][api-docs] -[api-docs]: link://tbd +[api-docs]: /api/modules/plugins_column_reordering ## Usage diff --git a/docs/plugins/column-resizing/index.md b/docs/plugins/column-resizing/index.md index 091ad87f..aead937d 100644 --- a/docs/plugins/column-resizing/index.md +++ b/docs/plugins/column-resizing/index.md @@ -1,10 +1,8 @@ # Column resizing - - API Documentation available [here][api-docs] -[api-docs]: link://tbd +[api-docs]: /api/modules/plugins_column_resizing ## Usage diff --git a/docs/plugins/column-visibility/index.md b/docs/plugins/column-visibility/index.md index 7f5de48e..4e6c0330 100644 --- a/docs/plugins/column-visibility/index.md +++ b/docs/plugins/column-visibility/index.md @@ -2,16 +2,40 @@ API Documentation available [here][api-docs] -[api-docs]: link://tbd +[api-docs]: /api/modules/plugins_column_visibility ## Usage ### ColumnOptions +Columns can be individually configured + +```js +table = headlessTable(this, { + columns: () => [ + { + name: 'column A', + key: 'A', + pluginOptions: [ + ColumnVisibility.forColumn(() => ({ isVisible: false })) + ] + }, + /* ... */ + ], + /* ... */ +}) +``` + +See the API Documentation [here][api-docs] for the full list of options and descriptions. + ### TableOptions +None + ### Preferences +The visibility state will be stored in preferences, per column. + ### Helpers + StrictMode There are convenience helpers for aiding in more ergonomic template usage when using this plugin. diff --git a/docs/plugins/data-sorting/index.md b/docs/plugins/data-sorting/index.md index 7c3ddf25..62b3afc9 100644 --- a/docs/plugins/data-sorting/index.md +++ b/docs/plugins/data-sorting/index.md @@ -2,16 +2,22 @@ API Documentation available [here][api-docs] -[api-docs]: link://tbd +[api-docs]: /api/modules/plugins_data_sorting ## Usage ### ColumnOptions +None + ### TableOptions +None + ### Preferences +None + ### Helpers + StrictMode There are convenience helpers for aiding in more ergonomic template usage when using this plugin. diff --git a/docs/plugins/sticky-column/index.md b/docs/plugins/sticky-column/index.md index a29f2cf6..265296a4 100644 --- a/docs/plugins/sticky-column/index.md +++ b/docs/plugins/sticky-column/index.md @@ -2,7 +2,7 @@ API Documentation available [here][api-docs] -[api-docs]: link://tbd +[api-docs]: /api/modules/plugins_sticky_columns ## Usage diff --git a/docs/testing.md b/docs/testing.md index 93078596..ff53c740 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -3,6 +3,10 @@ Testing a table's data can be done entirely however you want to for for you app. But some behaviors are a non-trivial to simulate in a test environment -- for those, there are some provided helpers, dependency-free. +API Documentation available [here][api-docs] + +[api-docs]: /api/modules/test_support + ## Helpers From 9487b0046f37b4b5d4ad0cfa8be89f3ac0ed4e56 Mon Sep 17 00:00:00 2001 From: NullVoxPopuli Date: Fri, 14 Oct 2022 16:53:38 -0400 Subject: [PATCH 7/9] chore(plugins): remove onColumnsChange, as plugin updates can be done via data derivation --- .../src/-private/interfaces/plugins.ts | 8 -------- .../src/plugins/column-resizing/plugin.ts | 19 ------------------- 2 files changed, 27 deletions(-) diff --git a/ember-headless-table/src/-private/interfaces/plugins.ts b/ember-headless-table/src/-private/interfaces/plugins.ts index 626114be..ff02a362 100644 --- a/ember-headless-table/src/-private/interfaces/plugins.ts +++ b/ember-headless-table/src/-private/interfaces/plugins.ts @@ -107,12 +107,4 @@ export interface Plugin { * If the plugin has state, this should be used to reset that state */ reset?: () => void; - - /** - * @public - * @kind Table Hook - * - * Called when a column's visibility is toggled - */ - onColumnsChange?: >(table: T) => void; } diff --git a/ember-headless-table/src/plugins/column-resizing/plugin.ts b/ember-headless-table/src/plugins/column-resizing/plugin.ts index 24216fe3..2b142e23 100644 --- a/ember-headless-table/src/plugins/column-resizing/plugin.ts +++ b/ember-headless-table/src/plugins/column-resizing/plugin.ts @@ -82,25 +82,6 @@ export class ColumnResizing */ containerModifier = resizeObserver; - /** - * Columns can change for a variety of reasons, - * - visibility change - * - re-order - * - removed - * - added - * - * When this happens, we need to iterate through all columns and re-calculate the widths. - */ - onColumnsChange() { - let meta = this.getTableMeta(); - - if (!meta.scrollContainerWidth) return; - - for (let column of this.table.columns) { - this.getColumnMeta(column)._width = undefined; - } - } - reset() { let meta = this.getTableMeta(); From 69eeff6d9be23efa6217714278aab53335fbbdfa Mon Sep 17 00:00:00 2001 From: NullVoxPopuli Date: Fri, 14 Oct 2022 17:40:58 -0400 Subject: [PATCH 8/9] chore(docs): finish 'writing your own plugins' page --- docs/plugins/writing-your-own.md | 113 ++++++++++++++++++++++++++++++- 1 file changed, 111 insertions(+), 2 deletions(-) diff --git a/docs/plugins/writing-your-own.md b/docs/plugins/writing-your-own.md index 9ac8bb9b..a4ad8bdd 100644 --- a/docs/plugins/writing-your-own.md +++ b/docs/plugins/writing-your-own.md @@ -1,22 +1,131 @@ # Writing your own +Plugins are a good way to provide functionality to every part of a table without needing to add branching logic to a particular table's implementation. +`ember-headless-table` provides hooks in to the plugin system in a way that allows for unlimited plugin use with 0 change to the template markup. + + +This document is an overview of the plugin system. For details, see the _[Plugin API Documentation][docs-plugins]_. + +Note that the documentation generation tool includes the internal file path of each module, which is useful for finding where to contribute, but this file path does not represent the public/private visibility of the APIs within (the import paths would though) + +[docs-plugins]: /api/modules/plugins +[docs-table-option-plugins]: /api/interfaces/index.TableConfig#plugins +[docs-table-options-preferences]: /api/interfaces/index.TableConfig#preferences +[docs-base-plugin]: /api/classes/plugins__private_base.BasePlugin +[docs-plugin-interface]: /api/interfaces/plugins.Plugin +[docs-plugin-meta]: /api/interfaces/plugins.Plugin#meta +[docs-plugin-features]: /api/interfaces/plugins.Plugin#features +[docs-plugin-api-meta]: /api/variables/plugins__private_base.meta +[docs-plugin-api-preferences]: /api/variables/plugins__private_base.preferences +[mdn-private-features]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Private_class_fields +[mdn-CSSStylesheet]: https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet +[mdn-Map]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map + ## What can be extended? +Plugins should extend from [`BasePlugin`][docs-base-plugin] (which provides some helper utilities) where a plugin may implement the features described by the [`Plugin`][docs-plugin-interface] interface. + +The key properties to look at are: + +- modifiers -- for interacting with and providing behavior to specific elements + - `containerModifier` - for the table's container div + - `headerCellModifier` - for each `
+ @@ -55,7 +58,10 @@ {{#each this.table.rows as |row|}}
+ {{column.getValueForRow row}}
` + - `rowCellModifier` - **coming soon** - for each `` +- `reset` -- a hook that the table will call on your plugin if you have state to revert to + ## Managing state +A plugin may manage state for the whole table and/or for each column. +The state managed by your plugin must be declared as a class on the [`meta`][docs-plugin-meta] property: +```js +class MyPlugin { + meta = { + table: MyTableMeta, + column: MyColumnMeta, + } +} + +class MyTableMeta {} +class MyColumnMeta {} +``` + +The table itself will create instances of your meta classes for you, only when needed. +Column meta may also be discarded and/or re-created as columns are added or removed from the table. + ## Managing API surface area +All of `ember-headless-table`'s public APIs are public for everyone, which end up allowing direct access to the instances of your Table and Column metas. +The best strategy for mitigating improper use of the data available on the metas is to use [private fields and methods][mdn-private-features] -- this allows only what is required to use your pluign to be accessible from the consumer's template or javascript contexts. + ## Accessing data from other plugins +The easiest way to do this is to use the [meta][docs-plugin-api-meta] accessor tool, which provides a way to query for plugins that _provide features_ via `withFeature`. + +For example: + +```js +import { meta } from 'ember-headless-table/plugins'; + +// ... + +meta.withFeature('columnVisibility').forColumn(columnInstance); +``` + +Note that this requires that the plugin you're trying to access declares [`features`][docs-plugin-features] + + ## Overriding behavior of an existing plugin +A plugin, if included in the [`plugins`][docs-table-option-plugins] array of `headlessTable`, may not be overridden. +But a plugin may provide the same (or similar) [`features`][docs-plugin-features] as the plugin being replaced. + ## Changing the styles of elements -In your plugin, never set the `style` attribute. -Instead, set a specific property so that other plugins may alter styles as well. +In your plugin, never set the `style` attribute, this will interfere with other plugins that also add to or remove styles. +Instead, working with a [`CSSStyleSheet`][mdn-CSSStylesheet] and setting specific properties is much more robust, +and can be done safely through some helper utilities provided by the plugin module: + +```js +import { applyStyles, removeStyles } from 'ember-headless-table/plugins'; + +// ... + +applyStyles(element, { /* ... styles ... */ }); +removeStyles(element, [ /* style property names */ ]); +``` ## Supporting preferences +It is up to the consumer of `ember-headless-table` to set their [`preferences`][docs-table-options-preferences] +key when calling `headlessTable`. +It's presently also up to the consumer to decide if they want to debounce or aggregate changes +to their preferences over time -- which would be useful if preferences are stored remotely, +but not as useful if a synchronous storage was used, such as `localStorage`. + +As a plugin author, interaction with the consumer's preferences adapter is abstracted for you in a way that you can rely on auto-tracking and can be accessed via the [`preferences`][docs-plugin-api-preferences] accessor tool. This tool mimics the API of [`Map`][mdn-Map]. + +An example: +```js +import { preferences } from 'ember-headless-table/plugins'; + +// ... + +let columnPreferences = preferences.forColumn(columnInstance, MyPlugin); + +columnPreferences.get('some-key'); +columnPreferences.set('some-key', 'someValue'); +columnPreferences.delete('some-key'); + +let tablePreferences = preferences.forTable(tableInstance, MyPlugin); + +tablePreferences.get('some-key'); +tablePreferences.set('some-key', 'someValue'); +tablePreferences.delete('some-key'); +``` + +Note that the data key in preferences must be serializable to JSON via JSON.stringify. + + ## Recommended plugin file / project Layout Ultimately, you can do whatever you want, but this is the structure that `ember-headless-table` uses for each plugin. From 329e8a285871c3be4d7631959fe5ac6b5113e909 Mon Sep 17 00:00:00 2001 From: NullVoxPopuli Date: Sun, 16 Oct 2022 17:31:03 -0400 Subject: [PATCH 9/9] chore(docs): add more details, re-organize a bit, etc --- docs/adding-style.md | 1 + docs/plugins/writing-your-own.md | 23 +++++++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/docs/adding-style.md b/docs/adding-style.md index e42d1d8e..a16249c3 100644 --- a/docs/adding-style.md +++ b/docs/adding-style.md @@ -35,6 +35,7 @@ export class TailwindDemo extends Component { });