From f216b6cfd824add7c92724027fb02b07be9ba856 Mon Sep 17 00:00:00 2001 From: Ry Racherbaumer Date: Mon, 14 Mar 2022 12:35:22 -0500 Subject: [PATCH 01/44] Fix typo in CSS pseudo selector --- lib/core-common/templates/base-preview-head.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/core-common/templates/base-preview-head.html b/lib/core-common/templates/base-preview-head.html index 3a7bef11738..1014b3161e8 100644 --- a/lib/core-common/templates/base-preview-head.html +++ b/lib/core-common/templates/base-preview-head.html @@ -223,8 +223,8 @@ .sb-argstableBlock td:nth-of-type(3) { width: 15%; } - .sb-argstableBlock th:laste-of-type, - .sb-argstableBlock td:laste-of-type { + .sb-argstableBlock th:last-of-type, + .sb-argstableBlock td:last-of-type { width: 25%; padding-right: 20px; } From 739ae95802c79524aee1138850a27b3d7eb38e07 Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Thu, 24 Mar 2022 20:29:44 -0400 Subject: [PATCH 02/44] create the highlight addon --- addons/essentials/package.json | 1 + addons/essentials/src/index.ts | 12 +- addons/highlight/README.md | 33 ++++++ addons/highlight/package.json | 82 ++++++++++++++ addons/highlight/preset.js | 12 ++ addons/highlight/register.js | 1 + addons/highlight/src/constants.ts | 5 + addons/highlight/src/highlight.ts | 66 +++++++++++ addons/highlight/src/index.ts | 8 ++ addons/highlight/src/register.tsx | 0 addons/highlight/src/typings.d.ts | 51 +++++++++ addons/highlight/tsconfig.json | 20 ++++ .../components/page/Button.js | 32 ++++++ .../components/page/Header.js | 52 +++++++++ .../components/page/Page.js | 74 +++++++++++++ .../components/page/button.css | 30 +++++ .../components/page/header.css | 26 +++++ .../components/page/page.css | 73 +++++++++++++ examples/official-storybook/main.ts | 1 + .../stories/highlight.stories.js | 103 ++++++++++++++++++ yarn.lock | 25 +++++ 21 files changed, 706 insertions(+), 1 deletion(-) create mode 100644 addons/highlight/README.md create mode 100644 addons/highlight/package.json create mode 100644 addons/highlight/preset.js create mode 100644 addons/highlight/register.js create mode 100644 addons/highlight/src/constants.ts create mode 100644 addons/highlight/src/highlight.ts create mode 100644 addons/highlight/src/index.ts create mode 100644 addons/highlight/src/register.tsx create mode 100644 addons/highlight/src/typings.d.ts create mode 100644 addons/highlight/tsconfig.json create mode 100644 examples/official-storybook/components/page/Button.js create mode 100644 examples/official-storybook/components/page/Header.js create mode 100644 examples/official-storybook/components/page/Page.js create mode 100644 examples/official-storybook/components/page/button.css create mode 100644 examples/official-storybook/components/page/header.css create mode 100644 examples/official-storybook/components/page/page.css create mode 100644 examples/official-storybook/stories/highlight.stories.js diff --git a/addons/essentials/package.json b/addons/essentials/package.json index 65bbeb5e892..fecd600073a 100644 --- a/addons/essentials/package.json +++ b/addons/essentials/package.json @@ -43,6 +43,7 @@ "@storybook/addon-backgrounds": "6.5.0-alpha.50", "@storybook/addon-controls": "6.5.0-alpha.50", "@storybook/addon-docs": "6.5.0-alpha.50", + "@storybook/addon-highlight": "6.5.0-alpha.50", "@storybook/addon-measure": "6.5.0-alpha.50", "@storybook/addon-outline": "6.5.0-alpha.50", "@storybook/addon-toolbars": "6.5.0-alpha.50", diff --git a/addons/essentials/src/index.ts b/addons/essentials/src/index.ts index 7441e9fb916..257d06fe9ee 100644 --- a/addons/essentials/src/index.ts +++ b/addons/essentials/src/index.ts @@ -37,7 +37,17 @@ export function addons(options: PresetOptions = {}) { const main = requireMain(options.configDir); return ( - ['docs', 'controls', 'actions', 'backgrounds', 'viewport', 'toolbars', 'measure', 'outline'] + [ + 'docs', + 'controls', + 'actions', + 'backgrounds', + 'viewport', + 'toolbars', + 'measure', + 'outline', + 'highlight', + ] .filter((key) => (options as any)[key] !== false) .map((key) => `@storybook/addon-${key}`) .filter((addon) => !checkInstalled(addon, main)) diff --git a/addons/highlight/README.md b/addons/highlight/README.md new file mode 100644 index 00000000000..99638a461da --- /dev/null +++ b/addons/highlight/README.md @@ -0,0 +1,33 @@ +# Storybook Addon Measure + +Storybook addon for inspecting layouts and visualizing the box model. + +1. Press the m key to enable the addon: + +2. Hover over a DOM node + +3. Storybook will display the dimensions of the selected element—margin, padding, border, width and height—in pixels. + +![](https://user-images.githubusercontent.com/42671/119589961-dff9b380-bda1-11eb-9550-7ae28bc70bf4.gif) + +## Usage + +This addon requires Storybook 6.3 or later. Measure is part of [essentials](https://storybook.js.org/docs/react/essentials/introduction) and so is installed in all new Storybooks by default. If you need to add it to your Storybook, you can run: + +```sh +npm i -D @storybook/addon-measure +``` + +Add `"@storybook/addon-measure"` to the addons array in your `.storybook/main.js`: + +```js +module.exports = { + addons: ['@storybook/addon-measure'], +}; +``` + +### Inspiration + +- [Inspx](https://github.com/raunofreiberg/inspx) by Rauno Freiberg +- [Aaron Westbrook's script](https://gist.github.com/awestbro/e668c12662ad354f02a413205b65fce7) +- [Visbug](https://visbug.web.app/) from the Chrome team diff --git a/addons/highlight/package.json b/addons/highlight/package.json new file mode 100644 index 00000000000..537244fdfcc --- /dev/null +++ b/addons/highlight/package.json @@ -0,0 +1,82 @@ +{ + "name": "@storybook/addon-highlight", + "version": "6.5.0-alpha.50", + "description": "Highlight DOM nodes within your stories", + "keywords": [ + "storybook-addons", + "essentials", + "style", + "appearance" + ], + "homepage": "https://github.com/storybookjs/storybook/tree/main/addons/highlight", + "bugs": { + "url": "https://github.com/storybookjs/storybook/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/storybookjs/storybook.git", + "directory": "addons/highlight" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "license": "MIT", + "author": "winkerVSbecks", + "main": "dist/cjs/index.js", + "module": "dist/esm/index.js", + "types": "dist/ts3.9/index.d.ts", + "typesVersions": { + "<3.8": { + "dist/ts3.9/*": [ + "dist/ts3.4/*" + ] + } + }, + "files": [ + "dist/**/*", + "README.md", + "*.js", + "*.d.ts" + ], + "scripts": { + "prepare": "node ../../scripts/prepare.js" + }, + "dependencies": { + "@storybook/addons": "6.5.0-alpha.50", + "@storybook/api": "6.5.0-alpha.50", + "@storybook/client-logger": "6.5.0-alpha.50", + "@storybook/components": "6.5.0-alpha.50", + "@storybook/core-events": "6.5.0-alpha.50", + "@storybook/csf": "0.0.2--canary.507502b.0", + "core-js": "^3.8.2", + "global": "^4.4.0" + }, + "devDependencies": { + "@types/webpack-env": "^1.16.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + }, + "publishConfig": { + "access": "public" + }, + "gitHead": "6cf4571e5a1200613de94aa066fe93f75aec6ad1", + "sbmodern": "dist/modern/index.js", + "storybook": { + "displayName": "Highlight", + "unsupportedFrameworks": [ + "react-native" + ], + "icon": "https://user-images.githubusercontent.com/42671/119589951-dbcd9600-bda1-11eb-9227-078f3cfc1e74.png" + } +} diff --git a/addons/highlight/preset.js b/addons/highlight/preset.js new file mode 100644 index 00000000000..ba8f79f08f4 --- /dev/null +++ b/addons/highlight/preset.js @@ -0,0 +1,12 @@ +function config(entry = []) { + return [...entry, require.resolve('./dist/esm/highlight')]; +} + +function managerEntries(entry = []) { + return entry; +} + +module.exports = { + managerEntries, + config, +}; diff --git a/addons/highlight/register.js b/addons/highlight/register.js new file mode 100644 index 00000000000..f209c0eb370 --- /dev/null +++ b/addons/highlight/register.js @@ -0,0 +1 @@ +require('./dist/esm/register'); diff --git a/addons/highlight/src/constants.ts b/addons/highlight/src/constants.ts new file mode 100644 index 00000000000..cbbdbd6bf1a --- /dev/null +++ b/addons/highlight/src/constants.ts @@ -0,0 +1,5 @@ +export const ADDON_ID = 'storybook/highlight'; +export const HIGHLIGHT_STYLE_ID = 'storybookHighlight'; + +export const HIGHLIGHT = `${ADDON_ID}/add`; +export const RESET_HIGHLIGHT = `${ADDON_ID}/reset`; diff --git a/addons/highlight/src/highlight.ts b/addons/highlight/src/highlight.ts new file mode 100644 index 00000000000..ca05d73b5fa --- /dev/null +++ b/addons/highlight/src/highlight.ts @@ -0,0 +1,66 @@ +/* eslint-env browser */ +import global from 'global'; +import { addons } from '@storybook/addons'; +import { STORY_CHANGED } from '@storybook/core-events'; +import { HIGHLIGHT, RESET_HIGHLIGHT, HIGHLIGHT_STYLE_ID } from './constants'; + +const { document } = global; + +type OutlineStyle = 'dotted' | 'dashed' | 'solid' | 'double'; + +export const highlightStyle = (color = '#FF4785', style: OutlineStyle = 'dashed') => ` + outline: 2px ${style} ${color}; + outline-offset: 2px; + box-shadow: 0 0 0 6px rgba(255,255,255,0.6); +`; + +export const highlightObject = (color = '#FF4785', style: OutlineStyle = 'dashed') => ({ + outline: `2px ${style} ${color}`, + outlineOffset: 2, + boxShadow: '0 0 0 6px rgba(255,255,255,0.6),', +}); + +if (module && module.hot && module.hot.decline) { + module.hot.decline(); +} + +interface HighlightInfo { + /** html selector of the element */ + elements: string[]; + color: string; + style: OutlineStyle; +} + +const channel = addons.getChannel(); + +const highlight = (infos: HighlightInfo) => { + const id = HIGHLIGHT_STYLE_ID; + resetHighlight(); + + // Make sure there are no duplicated selectors + const elements = Array.from(new Set(infos.elements)); + + const sheet = document.createElement('style'); + sheet.setAttribute('id', id); + sheet.innerHTML = elements + .map( + (target) => + `${target}{ + ${highlightStyle(infos.color, infos.style)} + }` + ) + .join(' '); + document.head.appendChild(sheet); +}; + +const resetHighlight = () => { + const id = HIGHLIGHT_STYLE_ID; + const sheetToBeRemoved = document.getElementById(id); + if (sheetToBeRemoved) { + sheetToBeRemoved.parentNode.removeChild(sheetToBeRemoved); + } +}; + +channel.on(STORY_CHANGED, resetHighlight); +channel.on(RESET_HIGHLIGHT, resetHighlight); +channel.on(HIGHLIGHT, highlight); diff --git a/addons/highlight/src/index.ts b/addons/highlight/src/index.ts new file mode 100644 index 00000000000..0dba067511e --- /dev/null +++ b/addons/highlight/src/index.ts @@ -0,0 +1,8 @@ +export { HIGHLIGHT, RESET_HIGHLIGHT } from './constants'; + +if (module && module.hot && module.hot.decline) { + module.hot.decline(); +} + +// make it work with --isolatedModules +export default {}; diff --git a/addons/highlight/src/register.tsx b/addons/highlight/src/register.tsx new file mode 100644 index 00000000000..e69de29bb2d diff --git a/addons/highlight/src/typings.d.ts b/addons/highlight/src/typings.d.ts new file mode 100644 index 00000000000..4a8ad58bf89 --- /dev/null +++ b/addons/highlight/src/typings.d.ts @@ -0,0 +1,51 @@ +declare module 'global'; + +interface Margin { + top: number; + bottom: number; + left: number; + right: number; +} + +interface Padding { + top: number; + bottom: number; + left: number; + right: number; +} + +interface Border { + top: number; + bottom: number; + left: number; + right: number; +} + +interface Dimensions { + margin: Margin; + padding: Padding; + border: Border; + width: number; + height: number; + top: number; + left: number; + bottom: number; + right: number; +} + +interface Extremities { + top: number; + bottom: number; + left: number; + right: number; +} + +interface FloatingAlignment { + x: 'left' | 'right'; + y: 'top' | 'bottom'; +} + +interface ElementMeasurements extends Dimensions { + extremities: Extremities; + floatingAlignment: FloatingAlignment; +} diff --git a/addons/highlight/tsconfig.json b/addons/highlight/tsconfig.json new file mode 100644 index 00000000000..36ca4e1d303 --- /dev/null +++ b/addons/highlight/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "rootDir": "./src", + "types": [ + "webpack-env" + ] + }, + "include": [ + "src/**/*" + ], + "exclude": [ + "src/**/*.test.*", + "src/**/tests/**/*", + "src/**/__tests__/**/*", + "src/**/*.stories.*", + "src/**/*.mockdata.*", + "src/**/__testfixtures__/**" + ] +} \ No newline at end of file diff --git a/examples/official-storybook/components/page/Button.js b/examples/official-storybook/components/page/Button.js new file mode 100644 index 00000000000..cb9aad8c06c --- /dev/null +++ b/examples/official-storybook/components/page/Button.js @@ -0,0 +1,32 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import './button.css'; + +/** + * Primary UI component for user interaction + */ +export const Button = ({ primary, size, label, ...props }) => { + const mode = primary ? 'storybook-button--primary' : 'storybook-button--secondary'; + return ( + + ); +}; + +Button.propTypes = { + primary: PropTypes.bool, + size: PropTypes.oneOf(['small', 'medium', 'large']), + label: PropTypes.string.isRequired, + onClick: PropTypes.func, +}; + +Button.defaultProps = { + primary: false, + size: 'medium', + onClick: undefined, +}; diff --git a/examples/official-storybook/components/page/Header.js b/examples/official-storybook/components/page/Header.js new file mode 100644 index 00000000000..e6eea8f07ee --- /dev/null +++ b/examples/official-storybook/components/page/Header.js @@ -0,0 +1,52 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +import { Button } from './Button'; +import './header.css'; + +export const Header = ({ user, onLogin, onLogout, onCreateAccount }) => ( +
+
+
+ + + + + + + +

Acme

+
+
+ {user ? ( +
+
+
+); + +Header.propTypes = { + user: PropTypes.shape({}), + onLogin: PropTypes.func.isRequired, + onLogout: PropTypes.func.isRequired, + onCreateAccount: PropTypes.func.isRequired, +}; + +Header.defaultProps = { + user: null, +}; diff --git a/examples/official-storybook/components/page/Page.js b/examples/official-storybook/components/page/Page.js new file mode 100644 index 00000000000..b8abe417aac --- /dev/null +++ b/examples/official-storybook/components/page/Page.js @@ -0,0 +1,74 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +import { Header } from './Header'; +import './page.css'; + +export const Page = ({ user, onLogin, onLogout, onCreateAccount }) => ( +
+
+ +
+

Pages in Storybook

+

+ We recommend building UIs with a{' '} + + component-driven + {' '} + process starting with atomic components and ending with pages. +

+

+ Render pages with mock data. This makes it easy to build and review page states without + needing to navigate to them in your app. Here are some handy patterns for managing page data + in Storybook: +

+
    +
  • + Use a higher-level connected component. Storybook helps you compose such data from the + "args" of child component stories +
  • +
  • + Assemble data in the page component from your services. You can mock these services out + using Storybook. +
  • +
+

+ Get a guided tutorial on component-driven development at{' '} + + Storybook tutorials + + . Read more in the{' '} + + docs + + . +

+
+ Tip Adjust the width of the canvas with the{' '} + + + + + + Viewports addon in the toolbar +
+
+
+); +Page.propTypes = { + user: PropTypes.shape({}), + onLogin: PropTypes.func, + onLogout: PropTypes.func, + onCreateAccount: PropTypes.func, +}; + +Page.defaultProps = { + user: null, + onLogin: () => {}, + onLogout: () => {}, + onCreateAccount: () => {}, +}; diff --git a/examples/official-storybook/components/page/button.css b/examples/official-storybook/components/page/button.css new file mode 100644 index 00000000000..dc91dc76370 --- /dev/null +++ b/examples/official-storybook/components/page/button.css @@ -0,0 +1,30 @@ +.storybook-button { + font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-weight: 700; + border: 0; + border-radius: 3em; + cursor: pointer; + display: inline-block; + line-height: 1; +} +.storybook-button--primary { + color: white; + background-color: #1ea7fd; +} +.storybook-button--secondary { + color: #333; + background-color: transparent; + box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset; +} +.storybook-button--small { + font-size: 12px; + padding: 10px 16px; +} +.storybook-button--medium { + font-size: 14px; + padding: 11px 20px; +} +.storybook-button--large { + font-size: 16px; + padding: 12px 24px; +} diff --git a/examples/official-storybook/components/page/header.css b/examples/official-storybook/components/page/header.css new file mode 100644 index 00000000000..c1a97056ed4 --- /dev/null +++ b/examples/official-storybook/components/page/header.css @@ -0,0 +1,26 @@ +.wrapper { + font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + padding: 15px 20px; + display: flex; + align-items: center; + justify-content: space-between; +} + +svg { + display: inline-block; + vertical-align: top; +} + +.title { + font-weight: 900; + font-size: 20px; + line-height: 1; + margin: 6px 0 6px 10px; + display: inline-block; + vertical-align: top; +} + +button + button { + margin-left: 10px; +} diff --git a/examples/official-storybook/components/page/page.css b/examples/official-storybook/components/page/page.css new file mode 100644 index 00000000000..b67e9d4d1ed --- /dev/null +++ b/examples/official-storybook/components/page/page.css @@ -0,0 +1,73 @@ +article { + background-color: #fff; +} + +section { + font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 24px; + padding: 48px 20px; + margin: 0 auto; + max-width: 600px; + color: #333; +} + +.page-title { + font-weight: 900; + font-size: 32px; + line-height: 1; + margin: 0 0 4px; + display: inline-block; + vertical-align: top; +} + +p { + margin: 1em 0; +} + +a { + text-decoration: none; + color: #1ea7fd; +} + +ul { + padding-left: 30px; + margin: 1em 0; +} + +li { + margin-bottom: 8px; +} + +.tip { + display: inline-block; + border-radius: 1em; + font-size: 11px; + line-height: 12px; + font-weight: 700; + background: #e7fdd8; + color: #66bf3c; + padding: 4px 12px; + margin-right: 10px; + vertical-align: top; +} + +.tip-wrapper { + font-size: 13px; + line-height: 20px; + margin-top: 40px; + margin-bottom: 40px; +} + +.tip-wrapper svg { + display: inline-block; + height: 12px; + width: 12px; + margin-right: 4px; + vertical-align: top; + margin-top: 3px; +} + +.tip-wrapper svg path { + fill: #1ea7fd; +} diff --git a/examples/official-storybook/main.ts b/examples/official-storybook/main.ts index 846261c69e7..88ddb4c45c3 100644 --- a/examples/official-storybook/main.ts +++ b/examples/official-storybook/main.ts @@ -10,6 +10,7 @@ const config: StorybookConfig = { './stories/**/*.stories.@(js|ts|tsx|mdx)', './../../addons/docs/**/*.stories.tsx', './../../addons/interactions/**/*.stories.(tsx|mdx)', + './../../addons/highlight/**/*.stories.(tsx|mdx)', ], reactOptions: { fastRefresh: true, diff --git a/examples/official-storybook/stories/highlight.stories.js b/examples/official-storybook/stories/highlight.stories.js new file mode 100644 index 00000000000..2fe51b4619a --- /dev/null +++ b/examples/official-storybook/stories/highlight.stories.js @@ -0,0 +1,103 @@ +import { useChannel } from '@storybook/addons'; +import { HIGHLIGHT, RESET_HIGHLIGHT } from '@storybook/addon-highlight'; +import React, { useEffect } from 'react'; +import { Page } from '../components/page/Page'; + +export default { + title: 'Addons/Highlight', + component: Page, +}; + +export const OneSelector = () => { + const emit = useChannel({}); + + useEffect(() => { + emit(HIGHLIGHT, { + elements: ['.page-title'], + }); + }, []); + + return ; +}; + +export const MultipleSelectors = () => { + const emit = useChannel({}); + + useEffect(() => { + emit(HIGHLIGHT, { + elements: ['a', 'button'], + }); + }, []); + + return ; +}; + +export const CustomColor = () => { + const emit = useChannel({}); + + useEffect(() => { + emit(HIGHLIGHT, { + elements: ['.tip-wrapper'], + color: '#6c1d5c', + style: 'solid', + }); + }, []); + + return ; +}; + +export const OutlineStyle = () => { + const emit = useChannel({}); + + useEffect(() => { + emit(HIGHLIGHT, { + elements: ['.page-title'], + color: '#6c1d5c', + style: 'double', + }); + }, []); + + return ; +}; + +export const MultipleEvents = () => { + const emit = useChannel({}); + + useEffect(() => { + // It should apply only the most recent highlight + emit(HIGHLIGHT, { + elements: ['.tip-wrapper'], + color: '#6c1d5c', + style: 'solid', + }); + + emit(HIGHLIGHT, { + elements: ['ul'], + color: '#6c1d5c', + style: 'dotted', + }); + }, []); + + return ; +}; + +export const Reset = () => { + const emit = useChannel({}); + + useEffect(() => { + // It should clear the highlight + emit(HIGHLIGHT, { + elements: ['ul'], + color: '#6c1d5c', + style: 'dotted', + }); + + emit(RESET_HIGHLIGHT, { + elements: ['ul'], + color: '#6c1d5c', + style: 'dotted', + }); + }, []); + + return ; +}; diff --git a/yarn.lock b/yarn.lock index f98c98ed0dc..604d9f20e11 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6381,6 +6381,7 @@ __metadata: "@storybook/addon-backgrounds": 6.5.0-alpha.50 "@storybook/addon-controls": 6.5.0-alpha.50 "@storybook/addon-docs": 6.5.0-alpha.50 + "@storybook/addon-highlight": 6.5.0-alpha.50 "@storybook/addon-measure": 6.5.0-alpha.50 "@storybook/addon-outline": 6.5.0-alpha.50 "@storybook/addon-toolbars": 6.5.0-alpha.50 @@ -6435,6 +6436,30 @@ __metadata: languageName: unknown linkType: soft +"@storybook/addon-highlight@6.5.0-alpha.50, @storybook/addon-highlight@workspace:addons/highlight": + version: 0.0.0-use.local + resolution: "@storybook/addon-highlight@workspace:addons/highlight" + dependencies: + "@storybook/addons": 6.5.0-alpha.50 + "@storybook/api": 6.5.0-alpha.50 + "@storybook/client-logger": 6.5.0-alpha.50 + "@storybook/components": 6.5.0-alpha.50 + "@storybook/core-events": 6.5.0-alpha.50 + "@storybook/csf": 0.0.2--canary.507502b.0 + "@types/webpack-env": ^1.16.0 + core-js: ^3.8.2 + global: ^4.4.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + languageName: unknown + linkType: soft + "@storybook/addon-ie11@npm:0.0.7--canary.5e87b64.0": version: 0.0.7--canary.5e87b64.0 resolution: "@storybook/addon-ie11@npm:0.0.7--canary.5e87b64.0" From 94142bf807110277f587913af226cc2f55cf603a Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Thu, 24 Mar 2022 20:57:06 -0400 Subject: [PATCH 03/44] document the highlight addon --- docs/essentials/highlight.md | 50 ++++++++++++++++++ docs/essentials/highlight.png | Bin 0 -> 786495 bytes docs/essentials/introduction.md | 3 +- .../stories/highlight.stories.js | 8 +-- 4 files changed, 54 insertions(+), 7 deletions(-) create mode 100644 docs/essentials/highlight.md create mode 100644 docs/essentials/highlight.png diff --git a/docs/essentials/highlight.md b/docs/essentials/highlight.md new file mode 100644 index 00000000000..f119fd8cf8c --- /dev/null +++ b/docs/essentials/highlight.md @@ -0,0 +1,50 @@ +--- +title: 'Highlight' +--- + +Storybook's [Highlight](https://storybook.js.org/addons/@storybook/addon-highlight/) addon allows you to highlight specific DOM nodes within your story. You can use it to call attention to particular parts of the story. + +![](highlight.png) + +This addon can be used to enhance other addons. For example, [Accessibility](https://storybook.js.org/addons/@storybook/addon-a11y/) addon uses it to highlight DOM nodes that are failing accessibility checks. + +## Apply or clear highlights + +Highlight DOM nodes by emitting the `HIGHLIGHT` event from within a story or an addon. The event payload must contain a list of selectors you want to highlight. + +```js +import React, { useEffect } from 'react'; +import { useChannel } from '@storybook/addons'; +import { HIGHLIGHT, RESET_HIGHLIGHT } from '@storybook/addon-highlight'; +import { MyComponent } form './MyComponent'; + +export default { component: MyComponent }; + +export const MyStory = () => { + const emit = useChannel({}); + + useEffect(() => { + emit(HIGHLIGHT, { + elements: ['.title', '.subtitle'], + }); + }, []); + + return ; +}; +``` + +Highlights are automatically cleared when the story changes. You can also manually clear them by emitting the `RESET_HIGHLIGHT` event. + +```js +emit(RESET_HIGHLIGHT); +``` + +## Customize style + +```js +emit(HIGHLIGHT, { + elements: ['.title', '.subtitle'], + color: 'red', + style: 'solid', // 'dotted' | 'dashed' | 'solid' | 'double' +}); +``` diff --git a/docs/essentials/highlight.png b/docs/essentials/highlight.png new file mode 100644 index 0000000000000000000000000000000000000000..14bbc7059a812611adf25c2148626fc9fdabf42c GIT binary patch literal 786495 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

f!QmX(U)RPx_Y)$KDmwiv z1kMN+Y)3?>Dq4zvfJN-uQg0*&f_VNDHB4_GKqVKx!TZK&^M1RnZ6>~SwXd>{PJx2; z_QX#$Zw3Xe(ypclP;YUzRC}61&MM_+hnh>W34Yd9#B55*b!pbIxis zG3nGVds59!vP0Y5NnCaHcLgE@ZogieBms^AaJ*f6i*h(avv1S%*OyVRex1&Hoty!7 zYfYLrMhsO-D|X>!RY?T5TYH5H3r#H}!`p~bY-;!4wAy@-#jCj8k)F8^U*zQErb6d$ zZGsQL#8+&rbLnC+t3dK$^Fm6g%;P0bgKml7%KL2)wduky)9tbBo~v?cTpMHsw0dve z@WGl4r=BKH|9m4_K!ID zxDll^HSRi7VLq5>)Ee->HMM8?KZekMSxW-<@TmP@sov!~)iZW6x(-v>3BZB1c2>R? zZR8t1()`b;_#Wpjb3Cb}Y2H9+wj#SiNH)^0%2nVG{M|-8M*2BER)Neki48}*I$uVL&Znb${(R2@S@|GeNhn?5SZ`up zSst_nOI`6o--BbKw}7-vEX<$I@tcP6cmTl(N+rD6=(!SwznEtLc{ve_nynRhU=qWz z2#1F*`qJ(>Pp*&fjOlSywedRsM3eO4dtXgbHr%0Cy(ev7mx2tO?`i#s+jK^@TUH=P z1=-A*8zavv%jfuPtsCrS2f}6?C6fbVsUJS9ic_{Kj2SiIGq+1>JR27Ay7u=tInZDW zHq;)giFBR)(IsT3ZPGu(hkFbkSrQIb7|G?wZ?)F4OzJ;>F2Z@z_<@Z|81@xZwXsV; zEj+lqp1|x1U}?(2;y36);|DapXBncG`)$2!=1CsR@thd%idY21JE`1s8K1K}cYEZR zrv6Is-Em)AD4cE+078q2U($?mq^BEXZbVmm3)jpQDwc>km#eFR z3jGvwYVNWh7Ctu%VB5Y}C=Rr>cWEFy1?J+#Sgv@nq;PSzw_a#*7PmXN%>Pidqp4hy zl_CD8uZUy-v|+jmmuBp91c<+Q1nig9~S~SXEgnk2}dnVC8E+ z{I)`tQ)ctfud7>?y+6nINKjRn1M(g72tJ`}MK-2f8kpOyyOk50dr8igc8ye^|Ale4oJ~ts zJKxo~Am7!i>qfg@A3`)A3ch?cP)588*qu*lDwg3R9T)n!Hl~-k?#Qyv_?dUndZxDz zKa(`;legXyBbgaP5}d2xSwUxt(`GX5=9;MAD8h}#exmAmee<^!!_n6ROx|az$dcw8 zblg|jso`&(2(CoYXVW#iL*qgx)HX;N?U*-Co5ao0qoVv%llLiI9FfuPe~eN@me66d zTiIzeiur76&*C5RKkIOo>YlB0y?AQlVSRwB-YeC${vUDi-+-nc3TMB|6T&&?I;m&7 zHI^5n`|x8XAG|qd@_ra~+dnV7g*MLq*@5T@fYUj^sBA1W8>varh0SMk=D@jRn{s7;SDzBwhUqxzM|8*w z7Eq!RWyJU-IhBZz_GQSsa7DP%>hLe`;T#_$+R9{NOL>o^oM^*Nx?&n1WE?EM%*e7( zvv09Yldp1vx8p5+vx__ps6X2`ADgPqnjKS9`JM5QhVn>`VaS_zilj_G7;z={i7X

_Ek z_hyUGxhvS?hST=?sm+q!U8=&F`Nfzyj^CLcT{JIxZ8DPco_+fo`(BrEJ?QCK-7m{C zbLXCyFKxG=X6tDk1PQ!n3={*EF#o-L!9q+VR3Gb%ltu)Z3LhOWX{?t}}g32mBrF zmW_*R0IiIewOmG~f}(L?5=#b0pM8%NHsK@ZkhlLaR@3bWpL23n_i{GR)@tqp6<~yD zH&%RowW#w!E-4fkAshA`(bruPg<+vJvD;Z$((Zho5isO0tt5=vI$*@}bZ$Hc*MHA3PGe!pDNwP29Vr<9l zp-5cMsq~Ta&=e=4R~>IXHZqytYGa>Ug#s9yN?O_P9|BJp-;XXOs)!vSvc&p`aNnD- zL96ayB%ZMb|Ng+Pz0?(4hCDnpW=KVCo3My^w$m4*wiPli!=%Gg1GxF%bWA_QoJWR# z9%Of_xBi-t>eEmZxIUv#^v?uGepP6+naVqYPHb5fl{b8PYhafiZfL;)Yxue?yK`t(RZT7K?~Oa*1h@hArHHi;p=V zwb!m;ry4;c;$B)*HKDzDX)>_0)E>?d;{Zf&itLd%uTm4LCiQ2c#Lg|ON6j{)x=WhQ z^F@IuNdY@RR(-n3=gf`ii`?&}D;9NLC^m&eaj_&ZD_bnuti>tBM!`eWO@0TY(#W!7^Sq*~Y&lDz6ph z8UDdOLp1zV6RL*|a$Vv(PCKbHCB*q_gMJ2jbG2OGy63=W)|Ys{?k(5!KX)p?OYM_S z(I6X2s9gT|sgu~r=E=MNLLT3oLgSKDErCf=?Q?hJKOft>VA}9IlV2`Q_h`Tlc>2C* zQ-7u3vDD81cQr&Pl5M)IGB>xYb~pLqGDpqq2;ZzjTP`Oa|0K}RhCU|~ud;vS!yFG7 zv_Qh{f_T9hWk-X5?f?0ZX&!X>8j~m5#Q`NicyPGVCLnbgI?A1P%@9XWjq_bdCL?5t zO`PNVFK=IZq03Rtjg=e<|9o9}8&weB3InuWY`j~L240lEoKMHj`xf`o~ zXR#o5a3CZ9Wq-C9N7ZsBMVFM_(NUSQ_cgKW>{|VD)6kG6wbhu)jB!85e zPT1!5$IcN5c|?9Ed_-brX6mW+ap}CRPG{gw*G%L^i&N}U~3;8Or zE#jHF1!$Q^Hfud_cLo>aOO@75LY}r52byGx740BtAf;9HH4*5kBGt#e?@;Ry6}yPTW99uITp49VG+NWI;3H?>P&;a&WhWLym8|_cH zXZa^sv1C&L7e9425ok754IdZIH|#})ihys)<3cexTfbdw4W@EcrHwuubbhPveIUK; zpcQtf;b=e8T9(r^_)e1mK+h=<`O)Rf8B6P3ASwqJN~8C>k?-pl7d13%{2Jo@G5)2I zzP>Y9ITGcc8@x~Hu52f7eq^kH2p~x7+YD1Hq}B|0_t<`>$EuJ&xU z?cGUC#(f_x3|R4<%$;)1|D?WFM1DOuNmYqI2c*=hqk`VD&jG0~vd_Q-GHs4Mm6PU~ zKX7n}`H%8>EsawMIISlI4$JQb^&6LV7jEsftJB6)8$ej`-DWTke)}%ok1DE}pGJ@@ zO}{SvZ6@6wn#~rLe(_gxDd74Y4hRp{D%M*J(>LtaZx?2npq289LNv9BoOGe0$73o* zUWhuXy2T)n&2(kGhqk@+t3vrkV!2e!WH9?2%deYs! z_#nsQQi+vL5zG&lq0!Hy&-?NKB(|+Lb5O!tdo7M;BmtGLhCh`rwyF_M<+JsK;DyVw z=C+z|ho!gC60A7I!zE147gN+{HCx&Q+#vbm6B`NRb|L*}dlr@~mtpB-hBQyGlINYo ztufG>^kp!OvhUppMP`3N;C}8RXxvinOAkX^5?%7NWkeMSpO9y}Gt zgnkRk^A_&MVi+HeU}-#~c9&-K!|Iy8jtIL93d5bc%@BsDkZ7~9*?)$Npm`=72Qs~qeJOic&Qu}Sda* zD^*Utm5UW!GyK%4SYr;`C`Sz)$^ZS3-oMKSsXZ$1jaUGQpZ&oAiP8@j2u8N}Iv*}sjpT%c4TPwSx zabhCLo=WVrM~=TCkJHC26DxRM6+)T(JxY+Xt2Jl&(|T|^bCf$2{_Yu-F&h;9kxi6C zGHr|?6=^C*`2hWNbSVe7vob$ctO=D9$n{)V1ih34*rZEOS%cPwt*=nVQ4CaU(D#$N z-zwLL;yJ%dE0fR@R>`bY;;fo*ZyFu6(a-~l$``R}I9+vsCPfa~RIZR0zdBzEeb7do zF$jSm{@elsJ;8Xsl`>WU>LQughHo(bniD|NomioXtjs+n+M$QC?wA@ng>R#&^#*F2 z9^EIYsp_5Fwr%IYFy$?DctgvZrl zdGM>9Z?~F-?{s^5O08;*tx#`J5V$VF2DE zBz)!&3giWKu4G#_W$mN~iu>ki9vy&>87|3$r{5VI*G3>N;_E(Ygec0c_Dxsq>zJqp z@@j-ax`*>MULTHI->bETwMs>RM5i0_N@1{RY#gY(4Z{nX7kYb0`)kA+F2^ROHs2({ zAw9VX$k7X5J;l!Sd;pZhzS>~ju5TG|aYh~YO6?So*;fFGC<1@|W+u7H!jyr!wu>p+ zoz7eZc6-qens-|N=b|V0pNl>rdzV428lO3SLi9SVZ7cfu zxLtf0?{V7qk0;sZ!$(FHg*kR*dv|MW=2c@HsG5Md(=j=vl-gq@2C-mM(T_~`#}D&K zV-wky%Ey>tVN@1=F5ctGk6U=y;**2o@V+%6_zLi5zQ;Ux@;p6LK3^(5MJg{^TZtRfi3SjB9X4D&vtJ$e$| zG$CoT8QSibtG=dMfO;9+6)z@aG%U-tkRE28T@>@&F!FnaB0Qb8{X@a$(WN8|6VfPx z&ru9|&z;XKIbEFjMm|R4SZrDnwU0iK29Qb`von^H-vLi%C@w=%!*{Y8g#!{-dDax|EbsbQ$_x+GtI_K;u2NYyjl}%YNqEgX309Zl`3j7_9L-?kUXra zD6pyyP@5+?|J{jQ-{f<#X63JWzTZYL(-p%2dRBHcp<`bK2uxFIkjqZhiN1T`d%7uL zjz^L$4!eJet|Q(;Rt$2QOr*Q|-^VMLA`s;TM+Jyn11>Ny`(7;EZ!C^e^QLoRq0!Hg zPbx2$-4}`a%_?o!*5+$I$2Z$=2Bh^qFOZd*y`Pg^>jNAl<611YrG zNB$_+i=(pf2A5EACncPQxJL9^$^lVrc|q>ZWAC7V&W2OuFoSRN1@dsvR`pC#+yk`| zru!p}X8q!L&we{_0du<2(%2w^${I*j%MP$07ci) z;%Jk)=?=hNGV)x7)8$bH4r@B>R zRFKi?d#pb3V!XWnd1Z!+D`)WUF=G4td(ijf<&5p=+_FmMH6`_7GMDg9rAn0QITWdS zKB0qVV&jDvZ9Z&SANc!9#Y&|U4jOvU@~RoJn7ozA>?O9L)sh7`13Q3(87pli6$7gw zSs#^#G2bVkrWAa*IV!=%7P{c!zSIW~O=9M&!Eb(bpp^`&%xAU9Z(q|sR`^OK_wm>6 zWBli8Kh#?0I zL{GppRP6=tS0$M*h9ddO$LWXJ;@9rH33$JzLZnPg)BYA*O!C^Byf@98Vw5KydYy>q zflWLeQw9n{n{2^LfMi~c_Ge9i30~#~N-bYra@{wwE?#3N94Nf-b&Y!Aee!WqfCNl(9vEfOfdSc?- zFK0*k3T>7w9|Vk=_4kykVYSr?TLcZEffe#QsD^}_;Ii`MNs*>-S46Fz-=$WGDN2PM zoiLHb|JYWsmEH_0FxdpsKcIRnICFn2Zx_1>cs*F$ew1>W07NuIt(NUF_E)$nQq>cP z>DM3!l-x!E4;t>f)U$ECy1@WteZXm_@i|h?_7&5jzRTHE?#wcCEcacPmGPG?634~^ zm8w3Q35$fD(p@0)tcyGl+%BEC1~^djW94C+`G~!pA`m_YjK zicJZ{Woya3CacPhZULR%b5xKQ1u_GV_}@?iKmrz*rZ+jn`A^IqT1ownS6^OEnpN=4 z2Kd0N=Mv$~bvf>_J_S(BPAYLl4A0{Aow}bv1_amPAR*_0j5fCc>*Bf&>i%8Mm;pz+ z#X^Ud%+dU8E{lQ8`QOQ!G7oDTy+2MqKNKGO4z};0&qYj?{U?!A_!aR5yQb zq(|2DLaXuc->A{A{_Uscf*UgG89{zzqRU(NKA(5ptnUtfoG| z`?y_!Jov{Y_3H@yR2)}9M;x7762>cSvj}3MI!Ob6DpP8NlA<@h47Gm2tzoMC zg;kj3Mb`7BT*8i{Du=sm?<5jq@j+3%L5gXl;i5v?cfK`yW2)wZJIRONY4}dP1j8^u zMSkF6=MS#sA^uztOIy@~ty#~I4DX&yfxN~ECWHP(DPO0aXt8=1eCV2iz+wRLw4@oO zsOMB_dFv%>LJIat+5C=n=h9tsOXktYk{HS)DygtX+eGfKK^J~gPsg5iEBf-=`=#}6^;508l+EkuXdk|(JV*$@N5{xFYK1W!3hHeHa~~#}T@yMa{{UO~2ZTDR^dRBl zMTi04?bL-)ZC8RE@rG*v+aeHDlTpuPlCtkF#M1l3r((a6srSM%Ci3bE^Cv~5>M4eS zF=IT6ZWX{AY6en;I}dxPIB$S$nIJb)i5BcH1~=!E9lOtQ+?sSfH?w5FuwR~||_y^w+_ zg!zrpLX%_k6IZ>?pzjd-xZUhg~f@1N3D0Kf{wx|X~x`cGW#OY~s%YP`-`N1%{*4*Fe)s2iu!5>J5* z6-!y=d-ly*+WnMpuIhCdR6ie4F5Jo8Nv)%pAbtk?C+)11&I>xPt^BNYxU*^I0V|;P z+@NdVn>F$5VaY)_cGAEO2lpI4KBCY63sknwlquxian7H`P=zB_LH%2sj z{F*v`e7g0j9?RjTyORbe;%1dN3grX>^I(Ezxs(!RN8a-^qvhB%Ou&F;D_*<96RALx zI`N~P7hgqrrwh|+NAhhF&XL)qh}RVwdh$cta;i7(w_=5RRkg66(LcIW_H(0JiEk0jT#NhrmYIv57jAr0jjxY;CVAZ0WGC+%gd(UHCVL0UA6q*1Dnf52BdvGzT)$z_%qk62*5C)(YH zv&P$Kwa9p{rFu%qj-zJ9(SFw2K;&ZGNeC}rj$O}w@MYm?HMmE#dT-(2Wy-5v;_WK5 zMD_Lc`pmD*<((pN8ufvnP5ANPPtR5P-PBQga%zlMHKD>G(hu{(?DY_5SOx#}Y2(Gj zWTiK$wqKaHBM>$zZakTGe0tfq7SyaHb}g_=TMZx!Gf|5~wKxmh16QkDJN^6%5ytxX zBKxl!XlF@SJl2xTk?5PtPTAJenWEO^6#|^Y`V7=TCrwR3Yx{kZOkh^gvFrCXTfU%) ze!M(fKdV~@jH&H<@>5tOXj6p85fIgeT!l@vn241f9hSCjq`J*Nwg0p7fS_4myKpvE z>TK6T8^NL0%9*_mtVX4vsA{?#k#huxDe%wnezgO@WRmqMzvFd3MqKJHrW6|^C@{w& z%-zPVeQ&(H06L7}0R%>K`8#Uxt4v+SQTiurST^m!ZsVXBWaJ&QbaN-QSKn^ab}<6R zV;WW_SNPwDR`+^lfr2b%kN}ENa4yo$ge6jElP;*OLaGv+t6ZKjOWzOH;IyrvihX+Kor7z2c<9CVb9|^wMSOLG-w4kFM zqCZ;f<9LMqUGU9e9v;c_0KxOhkfjU;0^25oHE?bAD+@~bOagSCns*a#wNtk9ky6%Tue%iFCKR#V6nj*K5y!HJK{a=2ByU_(460c3F4yz?23H>@;$lh z8MG)^{qT$s_bZDKT8#xjNVImjiy7>$f0~(T@$z^c~AE{_tUVBqYf;lL9`u!FOjf~gq5u)oa zCuSi#B&=38uOZ%9>R#?ky1BmCTlO~gS~Q{{n-YQ`6LqGUVctf_l^@|Qbr1GbL++3X z+~Q>^>kDS{FTcd;QTla6{g!2p-*x?YJiiv=R4N4IiIl7N71=qkg9-jBEw!N6(gE@^ znau=mWCA)D(vD(b2*3x6Er{LAf!6QV%bdJHFX3{LH|Wa*VK12h@agh?67-5~o;^=+ z`qmFF#*H43rd6jdy}3TPKXOZP?UH{^+q(kR>WOcxVSZ&cQNnCp1x^9U#giic?r)k8 zB~Hu%{P5OjJU?h9rryQ#(5|!~YG&K1T2HInOWhQr_F0LcWOADKKJ1UAQa{$LFpd(N z?ueoS<&0A4>^%}rnE(DPspk|bNtJRR#nP&fIr>u}{Oal+DVd&&GE%Cru`w)qKOF!1 zFCaN~?;aEv3JnVjLvCb7^;{_wS|TL;?>~h?(V`7Pz_YfMzFPgyD-EDS@R9sx>@z&6 zW@FX0_MaMLx(*TpD;*$v_ERreJNlBgs>>j6QCR=r2mMN8M_pQNhTD-g=%I9fw|vWce3w4%`y|>Sv6~Mh znGNoIOpB!xUmG6%nZAifGByn6E*+&yf4Yr#=ip_(66FK#Z!q0H76K0E{J_MmOz<}{ zopZPfWl`SyOT+jI4SelYW&$58Xb_d$16_mAY<_!0r)PNG(}$5OL#3b1UOZ!9yi0N9 z_(BeeB&IxeS>Pmj83u9=H- z71MdXh$9&&f@8XpHqCMv#z&iyehvAea`K$=lxI#qr%lxB^d>%lGjcI6)3Wduo%o} z&rqBCoQllJGWpu=%{%D|rko4yQ^{>_Cmq!PJ$}>D>GYCjvSGhC31x6a?l)tc6UO;rfH z{>L01CRgoR_spcXY0YKXi#8llHFLfV65bN{;>c2&PwysMh@~`X#Lw1o`Qg;pnKaVJ zd%mZ_UR&MF#y4I2IEya_L|&dWpDp1w{JA_dp7p-DEF+dXBswVjR~hqn&)ZKR&b5Gr zbSQ=0XHB9-x2v0m>+{;Sv*Rg{Y(9n3B<5Mf;@>j|v@ZTJ5~CsPtD#o)br27+i-4R6 zz#!xsMxN~JwAMN<$FGkVuG7T>$ys~dc?kh*dj#a_OdMHQ0TA6&ic>j9s;-u^q78$l-#h zp~xofU{sFhxutLa@K=~S4mY8Dpf-*1xGapqiXAf_kI0ZkU<30fX%@F&70%R0DVQ_{ z{_+_0ogoJF!HS&kxs~gOeW{%Dt~S5t;(V6kk^ZS$KVZ{FIZ_^FG2+!nL~E;TR28;*@NBMoBdihoG0rK>zOOiyQA*q55Z4p?F zF_DMtn#K(?vcWdUm%LffIZE%KJ#44eV`{iy>coF0X#eRwHmvqk@opMS`X`tlP^L#o z$xp%h<|kCLa|Z#Iq8UE6E8Y#r;;lJpP%IOdHFa~n>ul|FDThe*$wyJ#3We{wIBZ*3 zZ44=J!?HBCu(ugGCo04_tM-D5$PcP?yF6dy-Z~#ZqV&yy42K2*m}|s?gu?B*zUb8x zK+Uu}8bg8g7G2pa5~zxOL@V_A5LRtL1Xb64NLLEHZ=hgINj~AY;w`X30ku7qU!33X zc;*GmcG2^xGdG&@!L<5`|gT_YJwhW4R>jF9Uxxdy2`@gLZ zQm)GDi!^I%8;=l$3#9AC*}QYY^w=^rKR-MrAYYl`O?bW-J=dIaQmUN#akG+dOFjkj zw8Fm)0*WX1o)Ga&MXHj?Uax1x+Q37IuqLktFLo;cuz_u02SmMxAH(|$+Vq6l7z%M8 z^LEAhuyr2;d-~7o6I~8MO@K%>+zAi2{SyS5209*8ZQ}u&vK(XIxHNPf19$3Y?3DWh zv$@)eGYJ*wzSG}pYq<;Q zd<803fBR0oQt9;~7)y9hdEh5=ZUz@XYXk}OoAmX=1b_wC*-D@C9vk8fZG7LqAfUvu z(99-TL42*A4%<`T$)liYi_T0i3j@xZKogdz7+ZTRsDjefvo38{Dei%*^D9w9mGC$H+ z2zFvxFm0j61wmt}P1zbzYy@IAVsuE&o&dx)`6RPo;rbS&l|rxL zrd|5n>YML>|_GmkswRI|$VKbRfAF7SMqA7DO zORZE|Q(nw}u47uru7W%K5}lMuV;%lx@I_y)ru0y-3WzlLnCgEV{XE7aD^5Mgp2ge= zE_}9&@R>g`af- z+PtfMFX(%DCM#aqGob@c=cX%N{McM!2ii4z*^K@zMh?-|o&J|^kN3Q$?_ajPc>VV% z3BYZHGeTJ5jC|#r51>`!6Z7znMl`|2(gJ^$*>QC*;unA(2jRw7DEDZl~AkhHG*<2PxQR`hts{w*1d70PE|0?3s_j zR6pjPnt%Vehc&X&@-cYCAaG8Q$nIewXN<{hz26`ZJYPd#GSZX91Ro)8jSL4YeJv&c z`_dzY9+?9npMR^+z+ka|I0k<}s^G(Svb0w(M6QuzDoXuHRGu3dkO3~J)_zcGp32YL zOxG5AF|*LKv#|vqq4b{r_ev2>X`KDjRFI$|fiQ={189jA>#X-dY^-8An8s&pw{bnq zD)3-$bNq8}&uz!2V+!7S z8;mDpbB~Q}A}C6%=sY7OoS8=ZO%p{ye;?;D1Je)Bmznau-ib=qquy0Iej2u&_webZ zd8B7a$ipV83o1!U&_n%xaxj5=Z^NHB^ld6gP_89qnkFdSeS3W=fH?g5vDpyG3ribI zk8&NMhsRMJTjBM^5Gdopvq_7nnpIbNtNjp`)Luq}u%@LTJCZ5x679s_QB-m>+_``R zyW75lL>*65o^agD<|gFSGJGq^#UpQduZs68cM_M56}BTWNL@cj`~}v7t*_Fikj?dF z87;Yx{w+ z#Ca`#Dp1NC(Pb}P*_nBMn;%bHnClfu&#a8aMj4d{%*bCqf~>6HXj#0h^0VKNzRa{g zBQTtQd~q_-4TQ&Pa;>>y^l@Id)}sntyn2-OXd(wIYuL(%tMsmXwBa$ZKD==jtM;eg z+x7zFL{UmvV^aY5og^#A5#rqxuZVzfX%g-@VSDl*?0G=uL1?_{^Zlp?u`1fkO*c^`=?M)ZXcxK$J(8-JW)OfKJU61M2sdxzBS8GU2l zeXXym{HS;vM&(N^8H7)zy_$1Rous7tcvc>-g%zpEYQz%p?96j0f1~Y&7)n4*zn}+B4!xki1+ehK~bl;b1QD zRdYqS#?p&H%9AB=;B#Ii<+zVUqwUR0Q_qdh(JCSaFDxsqee&eto9B$pnttH2du-5; z2nP~WJGdzWWNYyZWz4SgI_5?6^ZU+1WgFzN{E<>LjoMRKY7tW5UEu38!|)fuFM_|s zo)aFM%7r&}9J%J|Yhy0(LT1apg${qTUO8tKH^>Rz88xlatRHG*MZ_df-s{}PC$s|6BH=vvyK3S-@&BZ`j1j$qQn?3A@R8@d12HS*m)@`TM)XW!YC3oQc$En{H*f+5>|eK42tNTs;2sZ~cEv?iUu4-HeAx2*H;gcqANyIy;d> zoe?XM!$4=(Wu3bXU?)cSAavf%fR_fS_oV`k35gR&?!~sjja7A3b6@bpPUfsR~PLX0M{?DoLDju|jw0Vlbqk>TCFY@1~`t){j8xeEQhWu=!C# za?^q5+F>rSTyM)Z#=n{)erliYKr=ZTE>Z4n=XHzrstR`ZSNUhHZ_dCeFU_M;olxBe z6_T#;|BoXh|3>l>=+Z(!{C2tuQsZ9D@f5ys%7_AvhuXHCBG`Uk z4JZ$)?&$KW8_*6fh2zk+KYo2Ln4FMZQ2B@mp!ZL{Kk5i0t{>L-_|S+dP+v1)7B|Y{ zLv8oB{6YZ_P77%RFTRgWqSEn7r#iaqV;VQT_;@JC0kH21$JB=@9^YzVK+&L~p=dn5 zUpwaYmk7*(A>4Mb-F>b{+^6T?$n_C3s>h~VgQN+zO{u>S#atGQwq*M5$xi z`VSk{4>TpI+ZjK)33g>ad-m+ZtGsxsOu9IT3^j3`#qf`_wvt%clrfzaGMzjBKZF!* zT8Y@-XS+A$Jn1wMzMg=%?b-bgL#jp>PwHkc2(;CW1x8SQ` z^}U)R1)7U$AD2_DRpi#;C#ZcDNK27{hxdG}!QT{fD#y`(lBT*sgmzX3`$ z@y_- zOt^pU_*Lh;lbab;emU2##g_H7>qi&XI?SG{`O*nl1Ec`Jl3ObK6MxlME@ z)N8!)J)OI4JZf}`PM@D1SxK$o|6>Qfj(rQLDF5WotMCyusA$g5_2PVAPcFf-F(-a$ zY=BuTZfv_di0?P@?d!`bXJ!$BHF#%c;95YD08su^+*sRC*?0whbVt+x)dJbK~?#y-!i3zhgcy`~oy-o4(D9&HZu^sxYQ5$Vh=$fH)m~-x;=rc_r zmz?`kff z`Lb{4C)?BA*XBibA6veF+Bj2U4sghS$7mU;2HL&#=ahOaO~eu-QRQ&(xZw(@8LR*` zgQD%Y81aj9&ro|+ zKx9g$R3|)uNo)DfzWdgiNsr9WrlIIF6NgdCBKABH=0!cxgR-Z5S5>B5GAlL|4q#|j zs^;`3r6t+tskqKyO2>fXof-ZFThvN71R!xJqTkxcwo1$Uns9LH%Ub!X_CTd{f4e$j zCJWsIlG!XEnT@#9_Sow*e))D!#6ee;S1ZGoPJ%zS(`HvNXaA1w^bc2IYqhbw z?|2Q7ocdqT5x*6)F$n6spMJ2M`hj&aU=UsIG1{qPHaWIP_x2?S{pT6q=IDA)d%+&Y zwT~a6vYHlk**9D{c))kR{k?I32Bi`&PcD&?~(|IK|}8;#B#9b7?60kEE2=@e1)~8C5uvj4^A}V7NlM_ z?D@t5=^}uVixZ0+?m^eZ*uJ|?Xq}ws*mt+zS_1wNdCafIUX^`=L+cLS&HzrjG2SJl zGs=1s&wEqoh0s~Lzmss`JSl|J&%4(=O&oZjd9soh^Z?faXvuQ(9ReG19FT`ym2zAS z>?fU3RMwrCUrYXmPNn5U8>2bVdPLXNhZhXcoOz%h!J6QpdnVkx=X=o(S{S?;FR?lj z&W0+L@XXr%*CwpHw~?{c!{q;=zMI^Re96Uqf6W0caL2F(*V?;iAgHg=VfDzz>nJFy zPEPeXnHsj=7|J+E)}kDXB}+58vtWhTUnKl?f{T6htk$z~f7v2~uVqjwi;U(AH@zst zVQs&iK=_R(4t}38us**dPhYHu%h&Kl_-8J@F#oRth#b$&L@=Vt>XB`qqTCI7jY6G;Dw{^UpvQDmys=>?48f#iBbbK`o_ZSPS-o~`M;fEG&WBiof z4NIAqL1Bs>K?8EWrG9sAIJxQ$EW1+OFya`_A(s#z#3xC~##!-fQBPpipu%PgO2Or* zNOLwK{_D^Cn0?K9VkHr7MR5R^I8k?M$)ktmZ%y4rRgNl#uZf@($=vg|qEo5=KhnNE zp2`0Izq`88?R=}7a#(WL>O&+s?~qg~u?}~da$c-Z&cc`^Mh>eK30o3Ub6AoyX=4dn zyHfH>;K8O2z-=E+2^ZR}u_wVu8AJ=uc=+S%c*Xj9szF$vmCs3%zEBitD zru1TA^y(<+GSC|e`nCqg@HT$C=F+oV?;Q1NmOzNfw5m>alFC>2df%-4n5&4mUu6p%(_RstX&aLTyEqDouYXh*6Eww>qSDw`5S`SLCdcg zUcJgdgoCJd)DR!uK4y1u_ED~W{HgHKgFkQ7KC{m3e;pM@$FC2#cXH_w9uv6f#N73c zgl_>1?6Sm+A<9Z>M6Rinb zXWvY1C}fFjDLSQ50{^iRhCFDkySJ+`O$7edtRr`OA^5D+3gftgy53-2IA6rl^O@&a zuVF$KCq9?&iyA^L#CM0=WJ~=+5>0h)%p)n=W$b7)3I9$)=dF~?kF7%2FM^go%q_22 znMV`(n-+9S>jD>}Dx|E#?_Q05!bu~pjxZniVi?lz#!2(e<4&T#|UdNYDtRr z*}48w3dwRH9*J261Xot)Zma6AStjxF*PjyHR;n4;(5G7H`63P#rV*R}T|g1%TFm~^ zcYWZhdBeVU3@uUL7Zu{-bN1xYuO>+C${t~!UkSzmJ7yCdTvbHqx%-ZnDr~qZqJm+D zdR>jN4SdT6RM^mD;iHA;JsI_j`Duk!=lLBoDY&R;aU})!lGFGqcVH6S*stp&^ADA? zY{iWRVNJ5}>wvbNZ{$nScLmT@y5`N~l~eViZ(X1jHb`qd$G-~ZJSFcJMtKkoB0a3k zhO!C`Y<9o>U7GNbj2YVhtzy}wBKoF2&0hhf$6kYn*x4W==IO(v9)@_{FLG2J%vt}g z*4oO@-_sKELWJIj(9?`}Hb#C#)K6u!ZGYxb)@60VVQ6vel7^2(r_JB2WvNe9aBicx z+j2?XsESm-g4dM|#@T(-p?oK(I<%&QxOV!{=SEpsmK zow$~bx)h-qDY%)F3V#K)1O1enYT7)NWOZHPLvu>VEht?Lrzh4@W0I>^a0S+9EA`1O zeZ+3e9=hrVOAmz_N#t2l45NmCyEH`_ceDB6S@!UPdcY!1Hgt1Nf6q;|ZZ$!IA+I)^ zL6`@3s#4tcNpo8B4a7Aza=q<6x2y)2MxKt3%%rZIcqS;62LD35VIfC^NBD|n3PIRC)Cw~b{swZ68F9i96Yy)M=rcmAM&^`8U8w*{nl+lxE&zM1Nm)=a%@Vk^gk z)gY6I{g-{D!YSUxt}%;>e^+Eh>TcAPPY={;fUmQrP)t8jx}W2G*lN_8Yxjn40A(cn zxLo+ydGzk(Vd84*9H13yM7h86B77{%ugX2_yae*jiarU!-oF=pd8Z=HZC{kyGf76s zo(5^>lOoUF==mUcB{gcP`=a9dR4?}W>am>Nsc+dC*Vh<3j(-y)D zT1c;y^D8nf-t|wN#X0|<-KrkCrVsP1umVxTiY3orI>S!X{PP{&(%&`kSc2;;lT|c} z4;?jVip~cN&9&#e{dYN7$VA?_cu_h z9aMk^ERs!31nr=H;v+NEn~ZCLCM)MMu+)IFN!wu#Jog%t0H#vV3-{=i*XU!(l?7;2 zMPtC&r|4=Ye!`5TX#Hti*6O9W9Znk5tR<;8Le&eyqR9Cw?Z8%R)u*O*dhdr+6OsBJ zOSP(ZLt;M49?iCX(zAf#cxmi)A9PyzAy)=wkDd5 zrHFYJ2Ua_x6lZ8{1J@!XctVw@2thQrTm>^8YrbWqj%F5Gt9{OP)Np`Eya#VCcFnEf zLEEwGd3*|ZEp=Ur5Z#BJ>0vMU4Z*mP<8R$ZP1de{UB{uRv;&jZ?#bHN%S*!|!p!FG zQz&c%gSbv94#0tmL1&gX<$c#P1eE94pb`tGhz1~pbWDAh)k-rB7!o!J<-dz&(lhO) zY#H18%)xW9ZGgT!PramZZRMmsB_DD&{)fV)zsWtC1?CzDV)%UisA4FBFjo5V1mL2< zW$s?1{*>tOHW7JImWEdVg|{gx;u;nwR{-JVu#fN+o`a_TOo-MA5bhL9oV0|`jdQ2< zI$K8a6(!T|UVN^9Z?x#sT;f3VNX!?5tMK(=&xz;jH__Fb5Q^ywhl~gtV3wAaTfp(T z=hkXNv=i6YCJ>iu@6j{L|EYrcZW)+(Ud$`OlhMer^Oe~$y&B2JUF00t`kCe+t)ZNX5m*V#3D3&UWM`s5WSw~$inBI z^y*oTEu_Jh&Qo+<=I(<&e-JO>aKl_qIo~8q!$+}-S`&a(k7f# z={oz*U){Nxe*0Eze$+dj-WR(0*lvUH*12LpnhrG-5$&-Lp2kkhU-KQe^NZ;8XGOKE zmiWyxekNXR0}qt!F(@Hs%$Jw0ab{~9#kDvNlovjVahIfBPk+Tvuz`4p=0WT8pO<Yy&c7-xaTEE`iz4`$sCBh|;9N?G{HnmjOZ@=18 zDFt)A;^S__5|bN4J(L1FbkdV@&yLL9=UkY&ikdNzK3arIUGAbF>NtlAPUp?s6nqWt z)B|OPkRjxUvAVT4+ZB3wUtthWF?UW>d^z6c`u@m}Ue}VC7=}g;Xchv2N3IUD-Pdy~ zmJ>P)VOaiLGWh!T&}hmydy8x3wW<~6rGwqkiw%*y_j8#BIckC^0d0Bfdz+bDs3q7sfGb# zb3kF8N7;$HAt`qnN$Dz54q+R21P;H8VV{xgoc7s<<;Uas{FA?~9^e9kdKom+Bzi?C zVE2!hu}Pf9TtHd84TpyDGt)LkJ{-wtSj=z5*6-^DWUR(O^L5&-eyn-4F_0sdL1Jbu z!re9WJwNf8O$Lh5A#HdC$o;M1U&~$1oy5-TS048Thk}H#L3cKl%97Js{tyzEo;lF#ablrDp6hn|@tDdjJ=h@&>8{0n!bI@Wx^}yw04%pduZZmyjO*zDqE~I55PAY3b9SXbN7H~ zPt=I6Ug53H@>-g{Ji`7$VSH$i3^YbX!nx;(D_wJME9<7)y_ijK>q{pa z*y;`LRk^TwX?Bxi9WGS6)eLz_`bkz6N{N#nVpv6y%Z|;I+w1Qh^n#|17@yF9?3RLO zSj&%l8#Nqhi4b+%y!sFsVgC4%X;Eo2+Z&tj zT7-W;igHanU&ik^0RL2dCJy|1mmH47X@u+lwq}0up9Rhz#hg#va(ywZdhQ<1`%HJg zqxHXZ=zG91pym6Z?INnpm?98H;^8ZK@Q4r5J&nNZX}0mw$-S$W;|eR+-y5vH_vbS6 z`S;3}mcg9%+L0IsMnq3JJ(%QC4N!aI;p==jNJsSJzBPzIx|H<5qNZV`yHo*~k>0p) zZ#^^WX@lYz>p~+kzP+Pk-tZ3VysA+^d(*tv%ktQMjgM5kne7KHXG>l4_D}Qhovg>r zv+u4JrG>*il%uGIcn)_b%vWGE)CY^|ch21Z9A2@N7XuBaF9#ft8Y{1a)j%VP2>>UQ zw7i(%UX-U4tA>V(_eU`1bz2pWU!8S_LQHOCcT*Np4+OM4w3z>)EcT#+clbzvzyK9s^v9c>hu@g?czPdFPU#DTRprN zaK8VyKzfMeQT_Ah_uy@!N zR%7(~T2Oj6hLM>t5 zmwO=&9_Crg%xu*~lIIR_+0QI-XRH~QP$@Lv_sMpENcW~YF#dv}Lm|-TQ3(_tA&h!K zNfhTxB%oZyWZ)D$Cx_<-^iIo~B^b%t4!JFUX9ahGvUi>5Fe4`Le`{B&& z)GQ)8Or*GUR)A{|740@PFAw00e(kg?x3m!_=1J4QY5Lh?;#*=*T5t5|+!${K{CE84 zDg-MU+VMBZBzuSv$z6LI@^XG4ebt#}GsM3Sau!{6YS=QK2h*3T2FA?L@U8Ajf+M2G zgGn)tbhZEHYv;sn@B?(kq=v3G0<%czHc4G_f3GxUVw8~R&0#XfJBH+X0r)n&(P(Hr ztnKp9LD+Ajb*8qlN=WOCwLWDJWBPytNs8Tuz;~FQ>Ik_wK9bEFmA4wwTTHQ%-tCxZ z)73XkvzL$RDg4ER+AnDKl6PpCC7~5U9=8R#PBC%Y3<*w{b8SgZ+ywH3Xd9p8p2~3# z{j{SWsm!I87ZwEc@G9n(kCQmMoqdV&4E+`C)kDuSm!~wOvZTTGS>{JLd)kAHOM73G zolQ`FQi0qS_`=Rv{L|ffGF53>OVhn{NRr22%-CPizv(=~isLfF3wNA%x2d}*jH-yn zgK^L!(HJE$VWsW*FS}#&f7JeY<8(6c?e+G_J{i~oEQ0Cgx2_T@`&#L0bxiK3W9AnS zs*+E0ag8g{Q`eqHTfhQ>E3$I>-c%60SH7}8Ga~x@znQ`ckEpJ13FDz*7OOLU67GTM zVcS>vrIsLgnfrk>7SnTY8lGzgaEFhD5LXN41v3LQmOeB%frr=mZwymuqmPvvfRR&x zb7|6qL!m$-R$+D|A|CK4fB!h$*&J3nV$KMs`vU{ow&2$ zIK{}}O`9nB_mz;m&1!nbrV{h(CWT*W9#^8gQmakJhc$M2;>%u6Q&Qsv^edFR_Op{@m= z?d6WhS*X@XY@rx3v(L+4?M@cg!bGTbqHLu~JAN;8ZvfTpJPn;35QR|mD2`J&?Xl=? zoiKk|)W?5+rdKW4mm2VkP_QS}=~xbuxW^k52_>j8jw%XBG65nk$9xb2;|kuGm;lno z<2&??4bn z!OOAR42QIO-Xo&D78c2ZwF=Fs`nMrubCyjiMyzae-NAPvq2d!XDS!~G782R>*0j23 zvAv!c(9>;0-}KXujAOUl+!d`+!3rgA)-`wt-??>kVb6+|W|Ph8AvOM7uIvLCR-+!~ z>lF1a4H{0U=-Q2$S>%OtJNUlTONv=(8^^8%J`pT&d-58D$K-lzflV|p z-Pc4}lZbuPzgr4o^Fd?{!KLG?EfDG=c9)T*j)O21p#na<#};?}B6KbL2EV}|GEjuW z*VRg$Vx32rLqqMWw=|T=h`KJ=hX7-u6=`^JJufbVp1tRv$@71$?as|TMll^(riyD$ z5A)(qjSlroW zQNo1ON@z<7tQ`um4{VbS6fmw&OVaQ;x!_+e2M~BxRD9V7bdTU7)^SYwFkX zZ+e>?>k(%#KRc_ng!b0K&raD^BL>iWuB~U@bBW32lWqoSl-50LPtA@^QOzC#6y0O9{Xa%2a%Vy{tMCkM}`DsMQ?rk4$cK&J^(yr%XS8% zw8QF)@t-%|-!p7|tBt^*63vpTk-PJBUNwinW|AW<+INd+J1aH*5PAJ$l&&K5piVXs z$DG?+wc9l;&=WQrUfaxR%U%83*d)4{wyI$P6C~5O<8qSJe0z@CwCmV_-cCZvcdL7X zLY3ggACAohoyDt#NIaiV{b6Di4m4cB!C*CEiIh^zdSyr&f}0D_6%IVa>T8dY*L1JN zryYl`-AO6XN(H^R2Z<(?xX2QEBkDVDHvzgYY?3)f>F0|?(JL_UzA;JUzdRZ4Z{orNXfh0~`hwQ-Or@iF?a>Rvr_41$zCh41cz}T+A8;V@&q>d{{H&i&W zVyhVvIKx{`u!*n}j;XMw)okQKuhdAHj8q{QO{Ax2TEo}X-AfU6!Td>fL)Tf;^eDKh z*yy=5k?kv`K(o3(sUhgUI+2U)7(HI^=zuzvbL)NTnN2y}g+V{1Kq3XYA+1{QaOwan zf)IBhHx>Q)hN46K5wZCP9XiJA8-$RkF^YkiOI#uvYC>B1dV-s~(=7y&N{pIbG5+FU zV{~-pzXy7sV^16Jhm3u=&j!?EDDOA2w2uC94Sv6-OUGnpX2!TKeg(z@i6*s|k1_aG z=Ei@DMZ;fZxWF)VjSpE_S)+;hr7x3m&x}uNZ1ohRn0|ho#{XML*Y>Bu3FW1tR!aP1 z#>*SdI7`P&%5+G=Zh8YL!6YyloE~%;*kJs&L%>FgW}tfT8q@b|G`?Vb0CX$pd?Asw zg9JFL$hkKTI_Z{ON42Y-*pi@$ zyc$C$$y)A!l7y6?OP2GF_=Pc@#2(%=Pblm4cib3kbbI`(a@84D!zw3ZzFT+`g+as$a@7_0v-5^`FcY&$gx6_RcMxnEum- z{JUdYvc2Ux_cfr;lOovhHz>ec7s(QU?CNr(X||>8ADo{|OwyeV2)%Dsi9s0Q0`*Hq zZ!<~VI;DL?o1|b~bFlqnwqbi`Zjd>LL(uS=LRNnWQtPtl`Qld+DmYPEjIV}BN~qf0 zqE-!%#YIM5BOkj`Y?D%w#d(RpFdx~8i5M=AF13RhFO^r?_qNr&J~Qk~^`dTUsUI%3 zg6gBnRCIsE?KR)~UVfKI+3$nJkeP9nlDBN5&=6ZJgb{6u;nESM2TE@ke*To%j>A&QBN811E<8*lQTRL6Aayq3L zke5k8*qTR*=Biu{+qC}|xcmFIJ2L!i&pXbtx+oI`V?1;mYe2GL^;ZHkt;jU!{%7eT`j-Zl+Q?81KNPW!otskOTc_ zX`X<74Kj&%T{v{tBWByCk5;Gs+^p_m%oK0v!8XHHLk+Hf-5Ne#7C3s?suEk2wl)@q zT8ZoSQN}I0bQ;g_9A{Y5=Qmk~C`nl@b*j4Ocs*k{MFjLEb@MR}4ht{*^p;)n^}}E8 zGvs{@>a-h(msgLMgnR6Z{PX7Xw^ABz%?IS?)mXz8z-S=l2fJ6AC}`WkFbA9F{i;-5Grm;`YV3P&^} zxsJ-dGDcB^#QIR5NpSD7mBVU}$L`dxLv2Prrls#&%vS4R7;&vYW5HqT1JDV`uhM&l zMh=}XlnRj9Ngg#-&2eH|9=_%Tm#(Sq@4HOVpm*XdG{?u{tiVGRU9GZ-QMS$m6_D{v zQmVh;2CcFC-GFmfCH@*DS?<8`W7+Gy8V;k9+s`Ydyp*UU9VvAb;swlKW+U z#R^n#U&lrYw)9lK0V7(oQ;yNCiMq2bP8zz{an2m0w>ewG zkp7iT!^vwlBDO8bo34tK9K3ayGln~+WU;{&;>$&-L` zlcfWqxb`NX_fFB$1XYh;W|)b?J9~N&b+>FarziMM4Qf4Z`Kg$NnllK{5|k6Hg`wtt zX&#hR6OtZbvtzUAKWgSmzdr>L+%OWFdY1*;EFVPvbm!j;{MP2MCqE(1u@nDRx4j^l zwFu0p_Wroz52?uSAke2RU4?>WsqJ3zC&EwdBg#EM{5bja8SW3>;?BD`>! zxjMIhm@iPvh|O#`*`l<2#OW#j7O8z}U}jsTG=2LyX>w`^`93fi%TM=H@x`gVogoPU z`k!_bTH9DIi(1R|v0NDw?|ah`>*{xe1Bs&tOS=LPTJvL1T&MOj=R1iIpNBP9{PaVg z)9&N11~p#2?z#nOH`ghntoF)8eYh|&6s1|PxS@0YE2(T=*(PvVe@aLQXMx>CC z0!0`tX{F>TNQ&a{VZn^wrp91pLCUBGOcb+vqIdMgjLMnB-Q%V{WxpNb7^X$kX76cwd&!;w7v zntm`MY*pif7kAqe9f{PPTOI0$S}e4Bo)DU|b~OkK5iCS+d33Zg={m`9!<0ouUr+$d zb@OP1Z#9_QKRMc`cKVx^ne=kctRWMs9*}@t@d>I>z%Wj(`gN(;R(4x(+f;0u04(d@ zJjVa(7OAtbb~-U%u003qG3j&4Q%gaGk}iX}PHOLG+a$O<%p$)Rnk$LN5)ZEtUYTVSzVeu!A5&p)wVvIW8Im3h5+J8S413EBbxuT^F&SZ~iPE8q zBP&rD`x&lz#+Q)mqo+Q1KUbZSe%w>^`TC);k@3yBtgMYP*v%kSlXs6u$(eT+aXPDc7Jq7Q5}1m!#tk;yx3qj@nGqKoqE_g^3L$NEl<<((%+N`_>y zchsiKpR5Cv$w@P04LmmA|G$s?zo!8I>4K#E0|9vnuQwB$-#%t&P3sOJYJ5DIW7x$Y zEW^gfkR81(TAH76z+ejn{3Ytnu8S*kFR+ZJQ>35>QITgL^e5J-(WLo&uy}ruC#~q?5D1U13jTjPq{zJ z9sMCKiJ|UZA*~D3XS<)L4KaYx8R?JsJ9~_Nv6PtGmbwnKnn&KBS7CgM8qO==oTH^G zB{BL%^GiEmgKv5(UE=KHeLHkgExL9JXCUOQ)>5{zf8Et`Ujjw+hMR3)zvfPS4%MsA-teJXKm^Z3C zmE69xRQReVwAFl~$sDP?00p6KgoN50m(JTM7J#woO1@p5x|+60cbZblw)I8>rl<2%?EH#n6RbVUU+3l(NHUA4an7;R!{I^?4up{ zDZMTwt(l)HvTW-tbVs1MnA95-m~z^l_aydXX4qF;s5$?xdb|_TBKYOTGMXL4&CRaejj8-v`Q44G>+4 zy@BnmozcVq;Owun1C^x>|Kj-kF9Y)Luen{9Ie@$i_$GYU!jl>e!j*BwoJY&%!hCzF z6Xfa3_UPYIA!xZ2zMiSNAtnBRXo?)C~c{Y!E<`kwJ;umc9Uu^k&%{xFKIkS?; zK9~_>H?o*vu>x&-lM}^5=r3ukF3Lf^b((oESybdKvd%^D5G0OHY7Mudyii|bqDeAp zZIkfrSxGqc3(@S(Ba5*c#YqtaB61Aqlkuv98Y_o1vJjxudSkQXkW%Rfs)@8`;$2t172L%z?klWEbwDER>aS#5O2wZM?RLf8VIhoz@)BgYGE zw8)FQRo(G}NI?se_$Z7^b(FTet!N2Cm%6GO_HdlK4wGniiAE{0`4tM{1?ss2|2=T| zr@a4nH}i*!o`emt`Gxj5JH`dG(BEvT$ok`>kC#wG9gi~2#-+$?)0XhsgLWf{C@*@r zl^`Kh`cP3^$_}SNd;KGzkr!x9fm4q`$XCoSBabI_dV?NXw4e$Vfo;P6;xeVyc1rF@ z9lF~~V)(S-6D!D(Wke2i8J8)thTqvCf^gmpx^$(TEJFWu%t7U+&g3Jcgy#8N_0EtH z$Zw5X6g$NNvjvi$yr3Q)>WA&;WWG_MHTP-mGOj$GX3;|4Rno9iAN5mo8E z-OcS9d!%+|j`H94L^<=y@3wcCLt4xBU<^iHQ2MV=^!R(>FIc_`C*<`Wq?xT4mD29o zeP&%3czV(qK;=tbG$yJAk9O?q1hU@D-D7LYfsb6Ivz9PWy1m`e#`<51&%0t`_w`m8 z_lXL@A=UM!k3nhq2RC77JvfW0GlBpSnr!hS3 zi_+>1?qVamzCBY7^)5P3(cluA*k?xCbHy^&Jc1Jn zg2>#1&XWo$KBiaQF6qnI)+nSBlGHYTuOorDmMayIy=ky!u`(SUqJLH&ngQ9YencU| z7^4tM4GAz^dUU7zIb|oEa<$OR*cTF|HbdRC!OB!o-MG4JOG~{^^>KHE+&yIV3v@Qj zTf0B*uDmAO7YfS4Feav;mvBEIBK!eN^K3$sy`O$y2a0!ZZw)8^INDR*;dyWFTR~+v zKn#}yN=cpnpK9r*d^*7*#QX6;t?-2Aa7&FE=?WD98mR849YQ1ujvl52AfQVf?RIR{ zwr}!+dd-uX?;^D0BbX^oK-&&Br9)z>366eB%)?cja(>_!jVf~2j5ug8QJwJZJ;FIE z-=52?yXgJ151vpu*ifMpQ!R&{?w-5S<^ zy3B)TT#K*Cj)}2lr$-!z1Q65*!@L82@pa-ll9d_W&fNY4qqkiFSG&xj2$|5DSM!1( zWLJZTe1Fs&if_2dt)49C1B?jRGfIj7?^yJoeoERN6HxZ12Jq#I-GM0Q_D;i1G`BtF z0o`a#J?g}udPCsUW}rLlsZgQ}MA32W_>_y75rK zzE>uSRsgJFuGdkYyc@61i7P)|q$2}#sbcSeoxGJPT5t;!fx_i}R;0If%j=O%W5EhA z{lLg)dkuREGlb0_;}-c-g*ajRDd)}bisIHGGmmy~3qOoSJ(~f2Rb2^mD*Dm?S1ay+ zgdYC&g0W87D*}-CxlKmyFD+^_hkFfctWaCHIhaK)8o?YsQ_|jXHsewP&~a-YpQId@ z-)w0V9u=yro-vY{kf#rGm?H0LpPe83%|nS%S9Li#NI^;6xE<}u;}W5y3ngSlY@|~c zm{B35rG_cCI5Mz<_I9iNOaon@fZEDF<0OL{-`U?n4W;CMk}?`IQL#i#NqX-Bdy0K5UCt+feB!+SmSOmCObX05&ovs!xmG&CE@T2-g>L`Q}>1sFY(X=Ptm_9RNJvu5J~RZHWH zS_6-WVy##9fXj`2j53HnnW&xqc+!cEzEPB>njY!H#$5neH1n!$HBo*8=Mj4OpMeHj z*}q80e~8ZiWBC65f}5QTx1{OIc>wAGdS+TLH`O)hj}KQp&O>?Xe`0@_w6d4pO;$;A zo35r$Is&ThkyN8|oX#^#8P`bG*L`KosREbw**+Ce&24+dpmtP#K~VJfdgJrVs3Wr2 zJ+=O^_M1XOl1vB}k%DFODw3OTz=OFm#$*Fs6Q>@>mdPu*%Oj8dP(M7j$u-~!w_HTRPe{~DgmH(hz+4zJzJGW088qq##XvF5on0Rp) z-8*rbIiJlIn6HFQXCf0SNR?OX8!JP-7D%=V&lH_OHJl1*G#ICLhhKKHIsOd7il-VB zJ$55f`(6!XR4=%>W;M)5(rg<5+k24zzf&GYFul@c|_R=eI<+OYMA4dji*E12T1 zhoZRVY9U*%k3AbTYB3XzF)0xDpYs?OHc*j7)%Y4_)r(kpc&NVMC&Mm>PaUWaTXSGc zXsiUPgNfvJXyaw)i=Iy`n#R{xw_qH6>SqA*)o$Q`)?W|XG2ahFmR$xK3MJoKIyr7b z9Y5Fw!{56|f|*z15w%894;QyQ7nPL@tWF1`rRKL^oO)4Ss8Btgd-Db9}uR_IfcZeGHNA)jJ8mF)JU@62;x#PUW4_Tum?r zj+SK6QTQCp1oVZif(g!Ayz^=%*!mSSQHNlWAYo!kTo^Uf{`DRJvl2vv&Xq;4W4V7B z16Bdp4sYP(hvsI|X4{`%=~1w{d0Y{06v$kO%r%idAij%FiYUpqpUSe0=07%~rkVvM zq=GC>RxA~fQxid@#IQSj41BCs*igX#aB)#NDF?vaY;G1P5ktl04{%Dam={?E~>+C{MYG<$Ev-+d@_+BwQ|ZlZ9$Ul`78JR&$1_p?JOL%YQB3#npyOo&JQq`bup4K8%50v#C{(d_0ZkkQYt;sYbz(4%l}BhA zQ`%krbUc=@31qQMpU%C^Fv1+?D0jGz;|W~lo{}`iF(_x#Qd;5DAlP(Y^h!HdSsdJm zc1}jF)?{BFp;bSb;2pdAf>enVSWuB#H$&n}PrwJJBlH$~4}L>ms^0#Hc5iP?;>P zY_ej~&(pFVdP@;F+u$XXUYpk)WeTXQ7Q8aM!`G$5j$+bHlX zd$aeiRseUux7XPgl<8@Y8+b>kmqL!w*yQsB>jw%+ufaWSP7czCQw%eZt1ii%MHv=F zo*G!OGHvJ*iJMqqUo@%(;$sNcBmAPqS6;L=B#DQBj8$wtrz6qmte8(54QF0a69iQr&rAHSf?SmL8;V=1k{kgq}o+cPt0iW0+CT z&k$ks4V`2{gZW~uXuKz030433QzNo!poZ>#$4H)1HS{nxe6IsPW@rh!b2QQF1v_c% z)}HE~7Ebldb^Qu6aJT?y(D*zXNQ(@PtdBR0+WXLgs_x_GQE@)W3@&KksNnGBnbW82 zxOX|MbMY?tFn(+GOe|=n{QB3XCh@G1>A#Mz|EFB`KRt(VHv>Gh1$Ni_B6c-n*@1wp zDb$xbni&#w=1o_t-p=xXgrJ-4Ys$3jY)ZDm{q$>Z*gA9#Z-006On5t&Y>I;f2iBj` zjDuoPFPf{1Z3q^y5#~nOo7vx&&qIpgytHT+tSh2V%P;dk@-0 zDv*|c#BQn24OO+#j1)7o#2a=B3_`b)aOf6!+rerp)J)r5yIKo# znF@`Oqo#~C(Hl0cBp{kI;j^$X_K@H3QtQ5nl5nmhIupg^&y zC)ZB@m{Q4FW2p$>e=CKI&O=VE-y8cAlpt3pd$(i@tbIcs~GcQSiq z`$Voiw$!e{gpP)ykk!fimQFW?n|K&`)H??L=q>Nt-)e>Yk*k!Cn^sEP-D_PgY|7&82wT5vKd;7$s3q0JZCE~b1LI~ej1U;oGeL69- z#5!v9Q;~bL2RUE{a4bFUxob4FziLSpyABwYyKCs>48EScniKOq(S00;@)Xdu&j}zo zTbt-{rw3X+weS$HiR6&b`(eRc!QPOrnQwYphRmDwy%{xp&=k%yGa(m>rwPbKAWO}$z6&vw2LNr0{lTQvu966QppKRxU zc>a!Z8Ylqve0_VP?}Li1A1P_OmDfm>S}+QBZ@U@Q@i1`u^mAq=3Q>XyUM*=!zviLC zaKFIq`4wl|$Peo}OtS%P*37Dh=)jKFhBMo98$t>sV}?Q;hzKpa&xk8KhYQ1yO{L+X zzT;)IMkmQZ{5%O-I4w$-X?9TAp{;c8=}_54Qhe@|PR6)@~Yl#XXlz@c`Mz;E}m`{J_e)-9}jE z<0MMzY^3I#0=sC@19b-oKpQsc$q| zx_4CTVU;Jpoo&&S5@IOLf$XH*Yo9Xb0&E%!lcSdWIG6Er(&|SvkGitXzj7VZrar(k zjL4OR6^}cNK#jn`it>I&KexNcx=q-jEGjuw#l7f;&> zm@aK*K@&c9^cdm}h}~9q#QuxY)``bnpa|bfuhxoREau0{zO559ag-iV*^pVA9{PF#ii?^s!1SOd%}fVf6;-PFg;QdHIwor{Mosq+HXN+(}&8^ zb+HRjrBMAFRMpb1&tA#8OP@Nl?Ol6oU31LttS!0&q~a!he}M>d`Z_JlV-dw~AM6PM zaIHeHab#|C^X$F7CaW#?l7ef)p)FOF-wAI%Ef}-v;WjdIr|TaHe*deA`X3eeF#FfC z052~9aTvE#Pjz7R_BOkz8wEMZx!0gmKjoSRqmX3F10Pqj!@svNJV6YWv06O z*{#+aV5sFk(@2Dh4vLpc5efq(>z_QxBq<{ljwNFW1COyKL|5D zU5!^}5^XgKO@HAiIZ5t8U1ScG7vO{&`ioI83~C0)xYV^L9vb_k-&PaDrlbxBZRqR{ z6RQ*=vc$92v{D9)#5B)XR>&RE(E{mWeOq304rFi|;OFVUnrLVkMZ)^hVonMqyE-19qiOIX>P%3iriN*%dDS%q zNoF&pq_`^ppA#9G{bM8gJ)I!y&bxjI=Lj2ZN8^#W{&smm5W7%HqD()r-?yY^U*}%# z{JvQz5e@jQaFV$*!@|}fNzd?Y%CY)@CJ&+ip(}pYDCl0yB5d`VGuP?1p+eaB*$k)A zMRuWrN3?_Mm61Lb91~PqVPg}eP1_Oqrp{m&cE#w^WFIpP0S#2bFhN;Sq`}d8*O89- z(~IC4=6T(>zHVbZpP8?PE6O&eI`0WJeD5SJlCq2#4#DLu`{@BO{rm0 zQ3AC6J+-M}>q5ANZq!_W_Sp6$dr)A44HE@c1tzSNy1Zh&!t$&@^Mc&*?H)}=8in$| z>T2FHad@KBb)?c<*The05E@czPr%;LfSZh-%HgIoA5X=ENa@EgWRJom#n+S3I;w*% z-?uQeih#?hM;rB8EEa+#725}<0dgB(gP^KD0(Aq&*VmH=BUY(Jj#9S&hqJE?i?UJI zHBeBbL_mQdl@94{aOlCI25As!=`Imu2q|fik{m)98l*dv99lqz9tP>I^Sbu;eQWJ? z_F8A{^9Q(KmmNYR_LbyVYTsM*~ zd82v0b@JT9d`tItE@(G$QXHK={{AGLva6!Jh7j3EBP#jooH~TlO{w7k_Enw6Ok(v~ zm`rhrAyv_8B@N$O!gjL?L1dQ(*w{D>Nh1L)a94DHaW$N&g}Mr?zdOC2=Vs$dMNsz! z8~Hqf0+$NekWBcZT!{ARk~d>+lx&kwq5;x-SS!Yyvv$H)X8DBWKdStNU%9BeCA zr@I*Hre1couJnF&&u&E|U(sJG!(ZnBnnZEqcPp;Nta$Dzt~A)2k;vR$7wC2GD%|}1 zrof!b8#idyV33g?cG&ygqF8iXH3 zD_;EG=#h8$5^*9OOd`a!asW$#w|Dz~a(7)>g*7Ut9S@W27Pr1(YfFz1?`VaLbNyQ1 z(%UXF&ks2eCK7e=KPEmk2j;dfC&Oe6B0W06gnqEzR(KhhIqBn^93uPoRzyjwL6#+b zi0Gl^lXP*c(Y{PRky|1eAf^bCQKF6ORgbz&ha}=Pyc;AU%@6Xz7~ygrKK9Jq_YRGS zKvWcMbC=_}G-!WO8Zn-w&tg5+AoN)sHH`pKvxIo`DxHooBF<;D%Ld{W^6Ws<^3>qC zY}Ofj+;;d*6W`0sy7kZgT#GZ#z^lxCJF~i9%-&utbWVP2*g zJ?5Pog`P6l;mZe$3vP}(4vK`zeB#rZP!F()-LRqIIb37+H;b$R0K%g;QH>LHO%psJ zWUbNr-VuqT#!5zN+dhmPcV2n}gEq{B0E5|4%MHEv4N^%ID2o1eQuB06WV+;8MGbdR zy*tKHt$QZoGM!-7*Uh&4kQ&1y9d05-I4f*Nm~!7i&3yk19td+83!^78o%M0OJjRBk zq?npsfBbh}t!`2kI6UUt_-y}wV{Q-}9V$A*?;e8p9&$)%U)5NQej5%C@G~4(bamV}wycIt%rrr2$@03NUDxg(lnSjeMBCs#@@ zKI~c6K52WW<73Sl@yIw~j2Re)a3FGlA>@eAn}KQGc%uGNf=v^{gEj$@{^_2BU~z$h z=-0DQFb|=W#JODH7Yzqn!}QS#Z*ufEfdR=5hJ9qS7XY~HI1974`C-$f{GB&cf$pR* z{poNL_a7*_qY^31+RAlWvavZQYkB2APnE_c0@quI*Bh_tly4Y2Nx0ceKCLiKo-Ge+ z9l1igQn%X=H1f#xq(b+2Vt&eu#{YLt9WrV@kadzFtzOb zJe!#j?QrB-?VgGRFkep{oV5DsZ==A-cz>seG3?j#0?4PNy8YFL(M#S)vw%Hu=A$5p z`x;75C%CG3uX4D}E;66B%_x<4f8BDBe!J+1s^Yfa1KXIJc&+#48vGAeNaQlOjzg=S zO@vuEsJS%Kp2gTox#nb~h?|dv(JDf%e>)9y?x1=7;|b2^)3 zyZ=05x-sO;NG>e_)(JaAt$b$M3rvSo`xP%a(syJ+&ZabjUaX;{YjhCV`w~u}JL#iF zrxe+VCpJHMzYH(Q=t&TZ;@+zE_vO!!r1tr}^b8Dj5UvxLR75!)551F9JIiJ)UNY64 zgvx0rJo;|pGrKOKEixyfqEDc{CI=ACDpH|E1iVBb{_+KJnNtDCGuM4?_Y;x{OF~oMvF7-Om6eBcfX|e*(mdP z5%tNM*6G`93Y<3W1xmg?D#LT{eSS5c&*Xb{w_03__t!X>0UGC&c+I(9P{%E%B*z#n z>~i)WwZQ(?T&3U%lzbps@-@S#&d`4Dbl>RAdE;9ML3>+UTbaH4-ooyciQ%_ZClQsN zKH%<9E;c3AJc?LMwAxxsU|Wp1x9=P1X7RwBUi)b=YWSB(XiZdO@t_e;lBX+%1YX9A z+v8Vu2t$M3bGkJ!>zLJsX8h{*(=^_}9@0nGuONBBEO2PIxr z1c+}TDfbd(S^o=D`J1Z~esC6Le=b1%zryNZQ7u`F-Ap%gM}u-k&z5(q#thbBmOz3J z?sIoBBy=kW5EX6AOU3)N6fQ2s11CV(5YFjUmV66IOK24Q4bM(az*e@0^ww)W8Ld1Q zCf)Pi&#!)~-UK|-4J0t!A%O(f>h2-k(i-`K)1xmxwF8rk$lt(-j?LtJ)9FF1O9%{m zuiHAPSJ2X7VeVlwvRL}sZCPr#ned0I35J1>9U_Wh0}2EtW%b-{4~~itCsy#Sxv_+n zW^%sB;>gI$(_YiTM|wU41MjUY9Y8K?meh5sm1XzAL^^dQ-N5d^+TjKds>AY|{a!cZ zb%~#v7b(r35>kn4v60I?=9-bbbn~)q>oxpu3rhchB>WHQNXt#)+O6$#VPXt1qR4vG zXLA%lxq7gPYJ`cq^3RLE?IU@Kx|cJb6tz1{Kl~|QMykTa=h9`Co#-@K7s>-~rlKFGgKAxgnR^Gs}~>Dt=Lo#;>LTXQd#X?$w8E`~Sd z2(Ft|L~*kTqDg$4U~70M$8{*Z-o^4Lxk3v{bDt*QJ`%(%5?!pi}TU>QoH`EQBx`;YQIGO*h@KQQK_C ztWq_O`h0xowYZNrZ>c4b8Hrih`bJ|}ESw+>wks~>Jy;WR=nQf0HT@Ffxk1c))A!TO z;iyRQ;OX>8VYBz6zaAN~zkC3k5JM-C-TlIJ%DHyEN9G89+ZwG#;_w>s$ zE3;jU2D^q>+UBl9bxns&KEn?y>QD)JekS@K9MoDx} z7NNh31jXubi1F|*<$zzkl!q@5n)3Z7duyZwDjO4kqgej10_O5RJ2F23-NRKG1F^U@ zo|oGvF?{^t^1mn-K9L39JOZWMi}&XY%Dq=lU!gCw6Ff|{VOAEIBGNG>V~v}M&26K;O@f`x0sVSdxK zBxrFBz|Y%=3v9}LG6|Kbk&?ic&Nj?tq^Aebt9D#=cnR8y^jLqgd=>pAW(HRddE}C* znM%DC#GK6bDS;BNz7B=zZahq1@d-$eB%1+(E8yM!VRP>1hsQskvI=d{t?zqx4(uE~ zocWcPw&Fo+4RjXx|8l&lNv(hEjn}7H%9KG94 zpEL)b*3DKNQXlRg`7UK18H6ZoLhRjiT*6jqLZ5UAWAFMoi0}sZo^_>o`)=P@__N-s z-NzG#O;1R|>NNtulIUGf5>4_Cr~i$@Jqh$7q^5*FvwZa`@m}(WIk?i-CWG}90xHaC z4Mm8(zK|HK&xDG?#r2+mHxKD*On%U(;%~zjSJ*V%Pq_*Shea-sYp)(Yd}v}4LMNhf zJCI%_{<_=qm&N*44d+}xx*CJbk_bq$3cj$h-&A-(_jPAHuS`1+H3N)I2lJx(5~ zYu+oJ8QiRQn4htJ4Vj*G?04Qy+6Vb8mJS+tV?Pt45kNfewy88@ZQvGK-!t zC6rj0r$3zR*V!q^=cJZ^PWN_|KOZuWrlAdw;G}TdEkP!;jmI+Va_Z-X-{K~wl6O)h z@nvr^W6L#akgIAZZ)G|NjN(20%&_=5A@7?YxfPCT5G%I^iVMVVj~vackhIEn&nbk6 z5n0{9l@PS1!h|xWnL(MNiH(<0xT0J*%?9_!!YbK}!{4QyMyT5>h$`d@PO>#YU9H8Y z@-OI#hT|nQAtwxsiGpL}sOco0cfB?Se{s_~y?N7X2+=Uf zAIxI^`KO08H~Mvo?=d8>b&|@D#H)T>iBKr4npHNf6%ZJ&dU2uW9;T>tx0H~V^~MCz z2o*y3T_K;g|AfX^ub|4kgml4U^oJqA$eUYH4;{B&CRI~BdXRQnbiAJ?I7z2RyJpp` z0Qx-H*UqeJZjw~}JPk`mDz*#!lYNtUJP8m#^Ps2xkt$B+3WxC9F=P1_Zr8v|B)31U z3?qsOO&PCH&-2WWV-@qgG3A0N1c8??uP`BA$eDuKs6f(;8hm2WtZACo;^&6xAN?LNcG$vGU7*apAt_ z#*t^TKrwvCL*V79bAXJSDI{O~Nlnx89||-ui~bt&!AOB(E<-$AqIRICyKGND9Mvz{bukR@7&nC3-+YwTtIw6J&hH3xf&~-j$R%$M zQt?~1@%CqP4CH0~8QOJEaE8b2Hq|al1r=Bs6@_L#0Dr9{VzYg79M=dXc&LB!n44}m zj9OXzR61?{m}EH49g}TgZd~rC`;}i?Y?|e^zjXviEP|mUmQbPtD!*gh|IQ>I|7y3$ zT^Xr;af`DAM9P2&ame|Lb>!&)@me&D4a&M6qB%}w*>mjpCk5m6|5%uTt&C-^Ct_Yu z>qLX_q~E%D_H2#tQ_F0H`MP)!MVKazdY|Ja@h;vE;dP~jfm~mCSA&?P4$>S|G5K@p z6E#iD&t=n6etTwg+Ibjm0qW!O*)yN>VJYmB{-X~3k#xpMQ$oSnc=}G(UwgXv+vbRAvHDa|(GyT^U+14%_RttF6!tN1Nr6p!E-ZI(=zr&t{lC8XlplvKQT8DjLW|XCDF5XMe?}x!KefWXxYWL?z5@I9T3C#8 zYd$IKhX%a-rG;S&?kU-rAQtc=s=i$~k<&?m91#ViI`RA26T&2%4D^W-ck^Tng+sJB z#oH(to@6NZ{MwFExO(+2L|MYSs>-g(csD}5iC?l4a>fy`o5jmY;iRa^n%6&}Ih9c$ z=_U)uNfeb{)uh_R)b3B-74KicRW%Y^(xloCh3=x*oBFJM(awm-QyJe_6*7o>d8@JV zH3e>}X~*@OAB-+?-^YB`Y=ojCI0}K;ug3FiO&Y0irEt!J_eu4D4sMd#*lx(?Z+5Nx z-I|4Ppt7vy`5e3msAAq|-WRF4%$=RTGZp@O+5LlDgPxi6me(*Mw1T0rN~2l>r;Lfu z(5bO1sg#)U^{fkP%w-x`h!x+xoh+M*g-g7JFc%7p_^=8RpHLhln&yj^Ri6aSt>QS3DW zdO@$-(F8BmJ8SG{9%Gl1;#HhDQ)vMf$uI&2!)f(k4UGI{N8<55vA$DnPah>u);*?lP~C_@AZ0#xS;A}QuGWDW1mR5uO{=IJ$}`!of002i5(Hj`<}xIUB3&CUbdEj$$#nvL zama$tX;bhF4~ZI(dgv=xyJCxfcLdxxx8*oCE3aay>}y+(Z*=_+p7bU|OIJ>bVD9+!uc%HE7(Nar zQhVB}qF$ZL5TCda@lX2xmveY8dc%R!ki>)ST|~8D2lNp9k~2V7GsvC8!ftz4-jPvl zPjx7)Aq-@}wOg;Hqc7}+LV#FBV--2|i8cLyE-o-e26BpG%HkaQyUOjfyU1y1tCx_v z%2GeCdXx4s&AyslArF)m%@`X;tWeqAi4Re+Nwh$^s_u_m{@}1%jRWYVUr z@=3-i9k+x%F;rC1Qhr1W{D@BWQC5kln$gW}__=jiVbYxHXM*L*=nf6v&Bx)KvH{Rm z=C?!#?+)XY$l@B#`w~T`?n6#ozr}#bg5pJ|`CehQ^Q-g14YQw`Av&%22H7q(-~RKf{93-4y{6h@b~>nz3? zyCO1mX@^G>VFur%0fk+QJ~f+SiQfr~0Zs>k{Gchm&tsj2l{E_`38cG;KV?(E){tN@ zNH!h6QIrv6QH8XtH2ryv*~g9~HymJI$02V*F}vExg&QU9-yk!tw_^SYaQRKLkc;ky znl0$sS2D8M6Yp2jC#Y}cFe-q3cSnjGau~YM5$Csx^rt_%7;DuDl>A+)>coz~!G@De zzvO=k=h7)8Yh@`NiG*sTiBol7scP_43rg>}kEH(fyMJlrU(Q53Oj;x?_vz6`%8f~+ zYr5g~!q3B4S!dFe_y$+U+r5lvqQbP$f0m>_f!$R3q}k~&-?$+b@9 z&!|xLwRnp#t(!j6H49wk%|!B(@)uI>~%*Bpv=q zNx}=W6A@rHL?2GCF(ne;R1lDJ|1_#6qw8%{!?cEu?`}s<`tdO{lW3%jKTCf1oUJN~ zF~^`|;j@uFD?8I^#LV>9k93LdlRV8_e+sU}Q!euXGTu-bu?JG=o^c3{p7=An`lBd% zNPVM8fBmPUb5R!k&##Gu1l%?5|3W_l`(!hVJD^lAH02&ArrYa<+HW8J98;q6_zb@Z zR!;NuB8D#XXEAE~9D7!ha>p1dkT~5ybd$@#9fHM^Fgcp4Pz+hd!w!Y~c=5}Z_}m&e z+GvKHa>ml*LPkkZE^KXR7>&=)jhzUi15~fE4ZH7y(Qmu%lcOF7f#q0!Cf6ql1S*uU zcejHG21wSm5~ECRJWLanOApk{GiOyi{s3}2*2rJxj?8bE9=@IRo)|Zlb`0OM4}7bNu0rob^@8G^j17OD2_hKQ|)KW68>em z?}_2~O1NP}=eCrP9i%qxP_H`A4m$&)>&pX)0}OjpPk)BR-doPgsT8eEC8RD@q!R1p z17jYmAdP&<51+vv!ygmf&61zxA(y27bajDFfp17vx;wkEL9YL#Uwu(6Y%~3tVp5$j z_oH8q)QnH-hF7h-ce=OaJpSpWf4o~EWuP;O%BJUVXnXL=ZFib9OA2vG655Im4LfT( zDq)ZEv4J#e!vU`^k?!|8nHi+e3kxcjio=Wet>mCMk)<(mkk|fX+hQD1KRKS$vZlWk zV><2T5>dt^H1RhK@<3^GnZmd-moTeD{(>=qM&F63cjI#;I_@(#enq(#BBH8wOYf6n znVJ}HD~`vXw*Zn??$8-4Bk~(XgVR-RLi2}upRu|zn7j}S$1LGq*%TeK#j!<68jNL4 zz~NCUf*l&o&>Q)P>`1f;yocHAAW8IqjP}%#43~D76J$@)$*jPfk+ViT7TY}J&S5VY z<*`=D7-0B^0Ji>#GU{axh6>+ zxXYmNWox-lQ0;nRO~9}3B#vf?E5g5g>Yv`_kMcpfia~?R%sOr7!6dRWt0}LuOn8PX z)ZRd~Pp0c}?!9P8PE9;@p*IQmJBI^1t>fCr;TkLBaU1s!ad~8K5rLbv>cLGZ)bp-H z@g!e;!Rnwv=4KRQc`wGLsxHGCR+Bf+HcQJRG9Wkv`E;wUZ`n6r+C~xWeb~3^9@xh+$$*rC*ySQ^{<#`Cqb53^W`&FOKp93r*sL#wbLtTOkxwjVZfy~~y&0@n*xSCR!p;6nELH*`r#QU8Sk(=AQEkRy zp0AQ~w~CCOkLspat>@%(FwH!mqlB^CQ<^K#fcS2m9fVx8gXh~3eZjlPpLh)6(T!#r z8R4f)X?>M4q3}%R(&OEf1GqhHY@8&S#9a|G#d~i8v%qlTnDQHaI-s#@*Ka+CBPO1h zu;7ck#)rY9#6_#ROHWIWb8MK!5_agt4raB6OHZHO1DTg5V@RvlwpDyiD(q+gmTR!s z)blPQCncnUqBeYs=_|j^ROnD)JkRhe85LWw`Qx#N{WE`n0VZ|~E%-S7N!<7AV0lpV zY^`GibN-`Y;-7T>ugaNNwk|Xm8w1nVrTR#TnZ7pxfC@R+Vy}-pek=q%cEa-&;p#)A z`@ZN3sm@_|^}#tyZd*nqQUT;Ygy5RJGlsf#xt(=bnOj_orbmP8QO|Z34sr#Ta@%n) zvLu{{eS0#{qqimAg1lozm#EUXrWwoIpKT7scGF6tXh0{Q8Q==+YD(sJqR3Q5p*I+h zmBpSh^P7wnz0cr>0N5X8yahhm_RZRp$$a}>xuy=>ozY7(6}@YSs0Yt|$NG&9CfC}Z zgAk_*Y3Riu;}8^$eu9!kG)PwOGKcX=)2Xr^a+uRhBXk$v-xHN!5j>-`X279h<*0kUK`a*xwYwmLR;Ul*~64iXQ z8J5>dQvA``mYW?T!|ij7Vt_BI2WJ|{e{`F7iC)9g;=Xa&STr{{;3Mfy!ZL9*0{E;W zkC&C;72x%kIO0wJst&nF@jE7Lyw|$homI#43+5elfXhYOAc~iO_d~RAt+&WX)YB;j zy3k9{kes*KQ9-Jt*|bBCW;vX+m?0sOi7w#u!qAx$8yiR+3~D`R83oIGK_7#H(5p7y z_GCh1qY$oh;tZZpNb+=l$T6k<$B&{>_#nUMQn~r>jXtd8Mz9i|#-W~12inolBBI_H z+*7~VPH}VM&51OQr2QC;2}&{&LSvjWIYOh~hbKCXcwgeHCx{s)A*J%eON_MWgeS8- z=jf}93)tV~POUWZQ}RR57*}Lx3FBs zcg1IJfKO7E|1ElD>eQoNk^(K9b01wq#`_~%aYn%Z=K}G1&tbSHY8H5XM5)ie2*%Wb zv2vLP9nerafhqw#Gu8&-hp!o&K0tc23*n;xyjbnHqB!g%^O-oB3tZ5%ZXI1fVBy=+ z7zgQJ*;`YfNpKh|B9IKtJzQJP@SUdcr9(wj6dV@YK z=RlG@gt(gW#=f+jLcf&>kY&cBv&^A<3Zje73AB>4T+(M1CAfQS_$I?Oe7Y(D?ftBW zYhyYWS?XTC2;<}U%zTin?{p8j#A67$DAEooQ>NS8tI6GBU39!A@XB}C2uT*_4V)R( zh5E*Tqlv0wr7&ZJAbXag&68M|4Q2eFdG%QIHThnlIZp`=<7#oj5RkIatn28I-MXT3 z#HK;L=MMUuFi$g2{my8<19azW5&&d84q*RL1E{VRwpiD`uh)|hXjNroqs=yD^>`Vx(fK^r2=#l_S|BBx**8$jQ2dN1Xo$jY_3r{+w zE4^gP!^^aR=r1FaAg+}QvhbLsfb%{IH$3;CDb%JQDLmf8^mc{uZ@05O|LA7XTgc{oXVI_k01r)BUFw7?j)e>~eqN zBjf?WS@Q^puIe?ilRT>_JwPmh6$k>~20MM00f3n?=y&jD92Gml;JsG^3`Iy#N|#pK z?YE&U7gqlgzN7n^-}9N*X~~!EHQU*Rsa!+ToxU$+q90&#W!6Py>r2yRvmsTc(T@a7 z&mwKuFD;s!7x`$;wRw^8s~1T|-mH>Gr7$EzW%cxVp^~Pi=A=mw0b0C6N8g@obZ1-d z! zeY=`2YxD{XD3@OHFVq$!v|hE+`Q_MQde*uR4YeM-L5+5yG7<<3C)KSqv)J$!C7}0b zImJ?*1X8x^c=8ycFMrVnh!j({@IflKvO6)teeDT`)MBb1_pmRH!CJo);wDm*o?)Yv zsd^Wcf0Lfu@Z){yG~GQ^%`~E&)nu}W^9`n*qBgwLvpgZ7FFcxizfjX?XD3Ykuv{*h z0CCDhP9WIvQ#QUZAl^E)YOp%{J;7!ugpF!h8xGmcu>tobOdAc2OwSo;>QmL%ugNYe zdqi9q!pxV35^Ud7Prq8yU<{*N*L*x&*5~@{{wA+sndk`Rr~-P8vZx{~{PN|+-~d77 z+3O4;>#KHr)6V7#abqUFoubv?=@cr8wT8c$mvk=O(D*pHk^jl^(C{1$B_&lGkReN= zzs4t0ihWILI>me*nj5FVP*JvhOW~6<&n|hRleu;!_tD+WZR$$FsD3Sq^(0d8N9GNm zEkozu)r*N0UVMZiUu8jVNzzn59(U8R8La%J60FYIf`93%v(kDLdo}sWbnm+mQPp8F zuTjSi%X!W`Kr_F6zBdRLn)l@^eo@7C33-Kkh&UX%*Gv_oLy48l9?69^dBg;?I6Zzj zlA{!>%74FUHlOk7eZ2S$AHCOR)=3fpKX%M4Yflja+g*j1tH|K~eI=uSUkFQN%yD zdPgBrAR52@;qAj22O^uLjnZcSbD#2y!LxTkK}o{#tp;C`=7y!Z7nEs4i`Y{13aCtW2bG--$Oetn5!ux;# zB&%PgvIs5poFogSq+sE@<@QitF_Kc)>qf80a;0WrcL+Z8NwGfYD#~~tkM)v_ag1FO zVb%jQrudu#}r>*vNi6+A=uA@YS+; zrPK)&wzHhE(*KglcLk+UGvR(ql>5Kj(;Yl%wu`-tD{9fr+vQ$u!L=$@X^pLXAKPZ+ zu<6s~uha@EKq@sqocqHcC*=i0x0QQytbxW@_Q}i=5^xTg2EP@pqWZ$?;$WiP?`W37 zqhNiIf|Q>4zWWcSZl1XLX zS}f7lC1z3vbFmfB9H(-2vv-5-?(g8#uf*ZEnf7J7`KSg?k;r486!#*vF;$?7$*xYu z9@fk%Gv6mn{$=~~RPI*jpy1c53J1AlWP0A6<<3zX`OFWYxg5}o%cEwZAEggS zL$k%jq>g^LbQZQVrP|#mlsezO#`Dd>j;^I&Bj!fRkQcX}1C6vj$w=4>_yUfk}} zb82>wzQGlIB!wG?pG?)=sF-Ym7lkG?_`JtFbn>0Y!Agh6%b6SbzL7h_F%q{n6b)^Z2KhQ(iYFEiTa`W zkNp@nn(MzZyp*EV?8@8DSDMa#={slB{i5A!zPfA?b=3KJj0MiFF{VsAMV!=ma--a? zk};Q%kkP$ESN}Z6Uz?jYXFr--(0!6U%3|-*8V*8C--nCKrlBM73wBzmP{L)}SKCjT zE49z<0DQbtSFAI?8O3_r%Z!5TJ??#xF7-nk1s0X=pJRF$VhleECLv$0Jb|e1K6Yp{ zsP2QysSR=M8 z(@hb-Tq5SP3V}06At5A3HB7QWk zpZo~QgQFzI`1Mu@kX^-tfEvI$WQON*TyneRrW5@ONtmL=QSZUHK6hC`t@i<@_DwRE z;6O4DBNyH7_$KUwnWuD~MU4)0p*6OGwbz+r;X3QWPB$$PoZ4B@_s(*<&#yZW$&;6t z<}}~7a3glRsa;e%@9R7}^TAEtUzoNnjjT=dq3}|(%W!PFbBna`gb4YTZ~p=kaH>g* zR++ZIqm2O(D{40gYb)0dzQZ$q{a&S$%KE}&`;js&+ntQxW~IR4XXj*jJkYqARb|QM zJ{|mVdv0^1Es$@cZHY$KntUVS+0(|2_K)f6iL?kI(HU!_kIs+)K!o7ZN98--<_fe{aM&z8A zj?a%46n~&Sn)7k+Je;y@4`WV;x${yz{%ZTBj>)cO*4^~#;;8h#yzFDjASE3bu_Zl) zUYUtZMyJE2)If%m)VK>#&kZk~mKzMaFydd2X#9^Ct^@X`hxbFVyWFvFL``TmzIhAn zWx3UOL^xwtq1Ia`yCP0sQepLll&dyF7*mjqURN}K#7&#}XF;b?f>&nL`)lci3;U6< zrxM)oo1Q~4`9kMMtctevJdyZzi{fonw?3(z4$_5RU$=CSkiLFHmz8hp*`+T#r9E>1 zt_VMG;pKSE-9jmV<$Ym5Z0lQ6MT$)aqgY5_-=O%OYAwJxde>;*97O*l`E~tz-ojdT zG?x;LhUJ+E26zsU9YVl(kpN1DL!zHc>sw}6M^8?2Pkh~-a_SmFDm!gvA84&}3|j() z2viWg5{rR;LNR+`5I{E{QG!tv*3$t(fHL3*Dd0 zt-hhrRG_JPVa6gU7>dpYmv!sNtNPMSKJU)0o)YalUVz$RcXD~X4)_jok1<3!8tWXX zM=Dh7y^P1Id)CItW$662$~nG$_sFYDiR3K{w*W_2a1H19?7Q5HqQ;a?^<3=TJ~{0tcl=%oX}fdT zmn*Q)9I_#zy=&Dp0n}>5A?D~eTm#_XK&ITjP8wk8&~&omSt+vV<&xaFn!;yEe$m`Q z7(pa?Y~p{!PEG?@){gs$FAgEOR*JA}*Ik+5#;%k2ROS_VkUBw?;iIx>ahXziQ11BgaicM0hyD;ufA-GXRx)m26s)H zKgu7m#enD~5;f^8%c(eyB=XbTUx*k+7nIIl{PH;Q@s_mh1xT*R01EX9*iryfGc&@G z_VX2jBgVyno#c+!MoA4Jn8qsyrJW+%(F9~*H@}uEw}hSfZL0V6yEcd?nsr<}eYuI; zeH-4Teisqn%sidDF}vmO(O`_;dK)Z?9okWi9{}xogq{he6Op(B-@P;V;m`8+w*%J0 zGXQd6r~JcM>==-vw*9Dc0rSf1`RzG>$LDT{IqJpt5giUZlQ*ih{8E#=?M(1kc9z@a zbFk5QyZ<3}Y9}|<%${BQXlDLWaE=`yWDLkBbCl|_))r?}42C~788Gm&d-eSz*`0)P zT3c)7Vhf>wUqy8uD>RfGo`IJ{0mpI;TOkI0zMEE?1}^|`+0QSE-&QPf_l;MgA%pzx z4)3F`mk;8sP;qcvcxZH}glK4vG$(aEyo;>uPi5$?SkLFifT)@qe zTB~4a^ewQj23?Zfr0vkn*a?(i6+Hgg#_W!WYLNFnka4SgQtF)$mgUdZd1();dpQP^=VmI`3u&*R3~)F|5}^ACM?g;y4kn3n+GWtMedbN+N)~Y+=Qi)Z6Xgm+#}ztETKg&^|p-8^wzn)7W=cDhF%;vV9!@#R;?3A=Q4vm;bJ-0Q&wO;dR|cmV#dG|W z!NgyFb2%$Rfv?Btg?Rt8r`Ie1K{I@J^d5+k$EpTz>xe|;t;?FRW?(g3ia@!&SNEAd z&K)%!CHxr9i;q@D<$FGrxjn^ZD9$-%X~eQn^2>b&;mh%Jr^xt%&C!*}eBx?p;nH9F zT5x=;x=q64?2|@P!V40Wx-C<<$)!%x$Bx7dGiw1-75Yj?Cu&YHx|}wWVq(bxvAu76 z=3|`{#?;ZTI?4UmCP!{V3F7L_Ws+lFC0Sq26_;pH{>{(@t;SzTZdQ5Jw@J;}eHESl zX4d$9JngH8pRgyp+64i@ftWD{Z&eCKB5L<4CQYT;S>F72){3KYh898B<*Jep8Vc$+ zGuc%e{SsN!g}4S6WtfHYGhcbX)SR>lmkPp*&dSSH<5<3x!TzO|!T(Ax*n7}tj&$ze zi-!U)eU5A}=%(dhy5ZBx)r!{dMz{p&w<_qOM;I9nr~e%y{wDsaZ)iR82mtejxDPMbL;b zeY1*SNl1@(uN;=AI3xxu?c@tC)%`p|q@hiNXmN}&_>wz}Y1pAf<`P{RpM$}29wtPW zg4l@+e2AzsznI4qF5!NxEe2(JLN;3NMO)6Ou%wTCAf>CnWH}wnFy>|A6zn2DaHnwK zu7PX0W`1ZZ9SmeftVk(TMfy;rXpTsyMG;cyj-m2X+AQd%MWEvt3Nf4%d2XvtIl&TVQTw67}{G1@fUI} zg$bBl!qJmqxpFf7_P^1b91@s?1H#D#kHlPM=2pDW4>mndbL`-=kU;*nx8HK^JIt4C z@Pu}J$orA$oTcfXO~CGe%U@=L6w9WSnxuK{lf~HF|D0S-jGpdOqpqB=sn0C=OU?!? z-aVo~wYa3|Fj*bhI8%pF~*9}t@5K&0ITj4`RIj8 zTIJ$}$*A!ou1$8o+QVtv#rdBnd#kHObP@&tL3eD=b+4F3#gjD3@b|aOSj8}WSs8c5 zUInW0n5{c?gC;ED9BSdwPt2^tyQf#!34SNTx>Zy7hV3}GvKXoP5pp9~;@aXEbh#B{qB5SQr%8gKSFE_el+z?80orpd@y0gAC@bQ z>oVW!rT49hnzGnvEswa*a@>+FrIqXVCg&7D%x)N%J@2@bP4r+gA( z*C16~@5PXn+ckk+r2tUK`|Cl6M^IWm-Akfp>E0NGXAZNAhPYHkizIn^+KJB%riPAS zY9B08K`9se)4TUc(o)vjV4nez)qVO!vzWQF3KdeAcK>|b`8A2fKZjI-&Y|noH(%zx z^yLTcW(`0FUX%#y6Xn`-Af|^abEzriRxZB-{gSdAq{-+QfqF{UF5w*`nXvMG166n# zA~_@22;24KD#Wcpa@yk-+>t`JL~aUXyfx>qqu3iL>M>ISH*?F^>VxP$4VfI z24U#Vd2;X~G|gQ^Kzoj;Nz-RpiHxE-eka$venr4|EUCKO%7=XP#Z z3inEx9L9{(Ai08C0Iu`RiZk9dKrvF%?zGCdqv$dCtg;e7`!uYb1%P3Cjz~l{G>5Y_ z%x~oza6COIe{u^)G{|I7TA^6gFPHY3d)?GG1FF8`YxkfDoKy-H(9R@vU^pS1Ti^9Y z#3ciY#MpkQH{`+dD*#$d7k3MXi1!`m5lSqAQ6b(_SxM1$sg+yDE$V_4Rn;C{dp7ms ztxkKc&IRSCr2)kCiNz0X_^3?P3g(@?3o;t53sS`CQT#%|zqA3+cuFkmVqI5uV#Ff^ zI|^7{$TungY-z!xZ|UF=3v`{liPt@-hMeUrlu4Y4dKqJl*$jjmvap$=DL7*J$xt08hfJyj{dnbdgq5@CffEK|=+1;=IWd&1uU z|GlasU1L8tSc9jN_)6TnW{x}81EkKT25&5lXsV0kuFYVvACGz%qdV@z5&3TiwNL9g z6k=gDnT1LACZ)AKwxd`2S9ucrI7Ek;Yxq*4PgO%T%$ zvIr!XTfOdrXRGtp`yTZuZ24jbR7}VI9u`&z67m`sxjbIH35F0V2$KZQs?$^2ReTq8 zLVB`nvJaEDafp#KV%G-ng*$`mghF#gyW+Q|&*rZ#&GMe-Thiaf7JMVj|Hpjw5#HM6 zR9J3f2HgGJlFKv0@9+-LpfOK3=!*~%x7}x6ANa(O!^{1x|4oHuw3L~3qSoCIV%B-z zz3)%S!*bt8R0)q4pETeyB;Q2EIB zB?{JvB?E>RA6Ce(e1O%1bZ;(Umyi1>*{|*(g=j)5=yX>0dv53noq|>(}S!YZa-|Rx?6IrLpIY(ak-0 z_XJ)k>!FOCo2}|;Ni?g+8YZ`NEpxh!GC$~w1;UM8ZAy6&w*T~c*n-3JmzC4xF`mUpbA73q%M}iwSShL~>a)8-; zV`~7WaJX9BdeI)|uqMciyL_r9V4CrLL$+e}y7+~TF08h)%-^`^>`aczrR#E(1g3&h z-T@_#R){gD5GRM1x20CPtPT+T2A-??`Zuoq4ec4xjuNqyC1I_SBXIj&_ybYMth*38 zIP*g_q-?SW=LZ1dgwB4P+uzAt3%t;VFFzn3jC`_b8V`Y?fMhUNdb%b;O31 z?^d~IB17Wt><@?Li(N6Wq5G7D({KRG5ik$%J zf5TMH*0~FsKqJV}gJW4_(ZRtA-=P>oILd?y4v@+ljw-dBe!ZDnl`ZCb*;QTE5mlQZ ziD2^GnCv>g(Bs*P=Kgh;LaOWBIcun9U`glov%%OS1R3`iP@UTAy8yhU7OQu5ZbhPU zGTX2}qQdAEPeC*}6@2EAQ&PgYEktYje;9kKxTvGH?^iKEkWQtgTcvYQx+Nr}TN;T0 z973fVq+5ZZYiJlky1Uz$ezW4L)vwa314rf^Fx_3axSp;SY? zNX)_h+_^&Bayp2sT&o#=1<59Vo&`B*n3a;>olhY(dmNx{l)e^#P1xXd?_U!2Pf>ak z=pF84q-^2%aAoS~k`cW8Kd#(A+r^yfAxq-L-8W4$wlr=M2HC_^25wpQ4K4Z7q37;+ zHBN`q&9bi21P*QHtQy#&Mv1h=of@jY&1k|S^Hjx-J3U*)C_&D%aP6VrjC3mC@5OT{D=#(6h$*M2N$92yQ zIkU++`VC_ZLgw~7T~Xws46HQ!5bdMhX6l#yRagu2vy@TNkIx?f^Q+eFf#E#iNul^T z7IjjoTP_A6<+W6~$ZiT7Ll;l>eV;`B{yt@=%0sBG4dj|-=;jyKSF^FF>fXB{r58Zx zS@o`6RVYS|RY^@zRO6h(0fI8*YJ(jvhi&e~x%J?mCbOng`mM4J0Oy1*%5sqZFbHrZug#M|6h`Knar>-aOui4}m}5S?_Z4#@ zu2__I;J4HMyB%Ol#2jE;`OJektge=tg0E2QletMYrGjR~#`}D4D4~**!R!lPXV7I+ z^U2N~Wru0ip8eZq9goW_(GI_r37UBk2ztb4=P0kD=eZ+(*npxde0#s_fr9%)AODm4 zu)6KyC)4B(EK^SxXcA<$W0#o{7LvO-;2ol+OQxGoYfN8xX!*x$!{Z=xH}i`XjyEE` zjvoV4n0Y4WszxM4TaVJ=GhX7{4}gY}`P)!7{6AEFb6Jw9=CN4gRC1h^x4+10Zte0# z$jWS1=I39M=LVhB{hW2xPQD+=ut_~h~_QiN~PP%cmo z9L#r3UFycy;xPvs$7H70s}EjhKwP~B$5{)CFdJW&RldfjCqNj5WaM4x>)QUH{7Gn$ zL#!%9FVWHO!JqpI;`iZ|d-o&< zuff|^7`&aM*%1;65Ff@R+=M6KqyGkQfEe}nF}XjXP#@5vsMlMpu2{dD!~)`9$>)_S z#VW!~^C8}^gZuFgrWjKhUb4gZ!e6+0nS^bheWUhRd_(2ZOF#8kuGPmfGCXdXK)&8Y zfWp)V&y1~IDWYkxz6|=$%D-upkEx+nqJNlSp2S?7tZRM~;*xKOW!Y)va1t=E_}E}r z^`e?yO;lqe#WS1B@?>@_^9AkMc;B#=7w!7k0C`Kw6U`OQwCF(N>vo!Va#VB0nU!bT zG4_5(-&N1ARyDkLR7hpk7(RMyAo*2Mzcr2f2Gr(hYw}gS2FSu*lG)-YxqNf|PM;z2 z4#({!)kF8b#0%xa9e=54Ecv-Nx{RU}--Gby*l8}tZLniS9)r#TNm4P6f$2t|Ge5nS zrQ9>Ox`#(XVM^OlQwB2EmxL&@nu+BfdPH)RtKQ_j4M*?p^po`!2^}f6;9`AlEnF)#`Wnp=bPL&1|yh zUUUgufKL}2@`H1tg==?v%~O7t#I0hk_@ypMHyaS_@%o+CnI72WlW%uxAhL0Ius}Bm zeC!}T_uU{w>RuVosFx{{uEL^EA5ki}f*r@KR!O;;@=^G8OMbC-88)RulX|j%gIjdx z^n0(=Fy%1SYej}c-%Y{N*!n`_2T>#I$+u=F`V7DCo!-9}_bhHan)Ao@;0jd!+Saj; zK)TW$1?+dF^K$92MGmz2jtIu{WlbsFstux^H$swCTXx z74ZN}7k|5* z|0p|}ySS`yWFW|`PQ$pgJhq32iUewxQZANDxYMgVq&~AE!S=llK!4sXV8IB974AUw z@{Nz>yX)$Vy^int7u`G0wiKTJYhM-aGB=4obTjKK1Q6M&1V0%f;=nc&6SJgKU)$O+)I>d?_lOhc17ICyIAy#s4 z6(#Ym*tkD$v=(_^3K(pM0eP>zk^}lQzUa&kXlK>ePHo=27rHk*NBF~SimJ52TW(wk zltfD&fqY6B#H{mKN6EWI?Q9*cjtd9SPYDd;G5<6*595jNB6<5+T>pF3}-|)C{mlxdL@dTfIdZIOY z!F6hL&wNS8GX*ybpL_Rt9~|=V)i%Uxs%s0&ySy}l40Z-s(>P5e-77vuSgT!h3XS1k z5?`}Zj>msXT?)-yQuMo-$m)hT$QQ@x7*c(QeS6TlfI|*w9kyhUWhx|v7tE#aCsQn| zBxOr*)8{@{wHonT=jdlC>DCEer<+~WgD;3LlToD)d7LRDzOljoxa5|BnKvxQ!?_z- zm-CUe3yv_y*DZ_P|64ARCHpthbtU0?)L*6mqd{BjI-B~>2_w(p@v{AN0_W?Eq#g+M zLB0kN6QR&_lKm6Ma45ib>>34MGcR$p%6n9NVL9|AgIc+r4W;_wAszU7=b z1VSP3d%k_D+w{nb|C}iX;W6s>Wjq6fMO$!QLt*Ap;&631lcCCkP*GND%hcC|jMSD$ zdS%7(_!m@U#jrLSabQQ9FT~l_3a0+rpKCB%WNZU5`<0JNo_#U-hFisLOjQD?_3UuQ zt(xX11C~JTI^ooW5o}78tyMa#92~}zwVQ^5ensUS^Gj%whozI-LX?DlYZ`<|#${e$ z;8JHWCPaN7)uyhrAB^j#$vO$n_|_KGv`VaW4Al|cU5`!<;|U5{&AZ2{D zar4b@mx7_t?32LegveaS%?F5CjGR1-g~mrKqdza~J$0=?7!Rczd2OwSESVfRZxbmi zmoZvq+w%na5K`NgBth~LJZ~!r&wdK7of${pw*KB5B9$qI8t9wtEL;d2=%DvG{`sLX z1Ml)Foy5dZOXT;<9>1v`yaAMg2QFqi4_aA28sY8~4v=}&Rc9m=?VG+EdUu>>4!I6wXUB%^8sVsEaH}${^pWq7y^rJ|7aNc-PdSB8@b;(Z`C=v3M27< zve)XTX1*vRF9PPj3yQo9opJSrj^xeVTkSPdo%EDqh2Mu5w4(108EiCb0SVfb@pYkc ze+NkPLK4ZzgcR#{Wb6Xtm{kT|C{M-{fhE_4E~>>ZV(z5x*{8sOC5Mek>+M{)TQq7H zfsAM^lYYD&Z~x?b@`&wJ(Z_4Y?ZXN(>_U^(M}zdHuLy#Lqex6+NnaV%^qCy93Y2lu zuzkt-1pG9N*d1TNkD8g1Mmpam6#wTG^Wl-<9GWj2yj0KC*inpC0uC!JbI!y(;<|ZQ zb#jK=9W_2z8sI_nSVsE*#>(dC)AA?Z7_EZTl{ZDdvmZv zyDH3;**T-$r>{YIj09W@B_2CApHKh6Q6-?c7B$901U^BW46N|4AoRUW#*wlF{Nufk9*d3UskJC;Z+Co9#jz*!0t zOaRnYPmX;9crprM7CWPzwALMyyPaI2Zae2q9iX|ZyRHrCH&A{b`-)AS6#dHOXFheD zdhRC^X6{bqYiNlA*LkD}p;6xe`FUp-ZFcP}U0At5d}z6ET)!ZjrT5=x68%+;{4amr zbmAHR`x`7)gGID|mSKGis8{FtXsa21XVv`<&@CRc!R$%3GSua?nCqYZ;7-dos@<(9 z%nq?H1kb*jh5D$c@Ht4m=zhfZ>cLTd@>M*KJ-{vVA+Tl9M?vpY9YT933U$19k3;d= zvb@dIjNT-$FiE@@_0FpW0_W9T7c6$47FedI<}cd%qEsog!m7P*PezY>+kN4hty5>O zHz;X$W~_eo^XsfoYTunD`VLJ8>0+y|qPF=f6Nu&}-hTQV~GPmzONQsayZ z3eMHi(s}=nA}h^#cXyhB@Uz$X&}UT3yX8z4K6URD+0@7V9t)1;U}rJNg-q_XPI3!O z(pf(%g0ELUGsW;AX9mLQog;}+2lY~HJz6fg7VKB|2hWB~yT2|5t%IN6UDMX*5A~s| zx>kGyW=f-*zu1J2o^m_&t;AECiI!GMMv9q;KK41UHF{1rQ&~T_KS&$#S`ox}xKJpO zZYf%*s9VyqJ+@rm>0M_?<=4k8_X=)?uE|Ng;ruiZoiD|Zm?vlUgF0LqP_TwNuo~h5 zS$cmHEpu+PCCk*rb7J=e%Y2TqN<0d3Of0~9mSDIow3#BK_-tSA`Aj6pT8$;k+hx`wPQ~Jr`_5;A#j>W8eot?N#4VE8!}kfFL|k!MqwR;Q{l>kr>zsEJ z=ES!Qe9!xjSzja&N5{+Sm3qdXn#=ovR6%!V7#Lo{YtN@<{!LasRM@ci+pKskY;~fa zggs8A3`yF&u=rM)f9bh4yg4>-L{ieP>KqzTr{kYGY&M@ihls*YTCF*;(C7mo1^4qR z*ZgrYpqMd9sm%%OxIoZwOC*Nl}e~#O5B|@@quvvoxQ4cgQ)Eda;HrOjZnVhOIQ(~ zdBN?Sdnu8@u<5}M*S13kG(Ycwo%TM499#j~VY~f;q1I2PL{Ej(W7}E^ zT!C#lm?hIQ+a&n<;iHD{|4mZ;#fo74S6LNl8a#eaGPulhdV zsfV&K-ueKz5qbSUB}pT?9BXso){+10>z4SgQwlqKRFu5ug&8sF^j`#-I_OgxPkgxU zCp+_l-2-gm)R)qnmKaapG7$6iYs%7nc&jH3&`%QhzerJM*9vqHKheMbSX4Xv+EgY5 zd?NF_tI~ebTnQ3DVw7p7C>Qo2T5Uepw{K1VxS$8qGC)LOUS}TaK$1nGPNgAz5r3Rw zG#Tzu0JcF*V%DC#Yl-fy{};npNdAKntXkN7;zpG*5B1OE0>9*Qx3!-80j|~&7a)@0 z`|eLe+4Tw zOvuOe>VnyubSGX^%lQ2!R7$h8iwH3dmrG#fT4`W+TSRNM8m2j~-kXjGZ;{mO7%jd0 z7nR!f+==|qy3uVqKGzeFD*J9`A>d}i&%>xZTi($j1iFIip6U45+EN*+nUl*52kGOPgP0wKu1|)%)7`<6u6O|L~XXLS#!14Fa-)HZ6Kd z?gfly5>^0MV9EGWCfw*5$BN#IPz_DN#fl=##zC5Rx^NXECzo08Q!ZHtPC#K-{g1+~ z(5V4FY7nBA&1{nLY0KXF@W*=@3yN%HK(OBC)FKjJu}~R$>A8^Hk>fkOC1S3l@Ck)( zFWbpE3@=PXWeJl1)1s*qu6IQjm)F9cdB1oRlvxU zdEaB`Fa~m;V3`Tvp}VHDPTpfP~{=GLRZEOu2QO!hIClNm%O z5c7&t)!222{|(6R9#teZZB^mf`OeDM;#i(MtC%!;kYJ`L8HlN96~<>Q$*n<>o>YR& z*oYHRkxLz!^bHysg;bUfH|p`4d&-`ssr%g z)Z%>yYjV3rr#fJR+bK2o&ZHJ@A@?O>r8&L$q;|TPGFai|g7NP2B*u}~1T5&w+-1m_ zATq?u$dfp`DsNV`xYq8o`2iW-0oje3VBN;EU-~b9pRPphGUZu?Lepm1aQ&Qk%2d*@ z+V}#T7RM6(QdC>pXdxa_LY~@&>2%Etnd0}C_eL6f+GJ?sXyo~b>rjTk(>~+<83MfI zxd~xSBU?{nb5EuFn?KzZmsSm1%sW9pqktW=>2x^!a#(6-&)K121l=nq@pf@@uY{VV zObig}{3R+O1=MTMI`PZJDzgLqrxWNlA|+v)Z!#_caZf!7i{iC7fcr%)le|Ia{l6Ty zd^R&Z7W zlamfTO~d(tqNt@Ni9ofv1KwMg8#5zC_AbmlJCSEmCyj|fG2g3dhB^EnDni^U(@=T1 zqF1TEGo0C+mAAAL+O#_w8_d9xVVOhA>|Y@FIhZwpXFgWPU?YVhTm0@9E_fDTRcEVS zOb!TsMNZPze6;-tqjnghpVgG@t@@VH{U_>cje165cC(pTzAqa9eJk=wRrAS_qX4a` z>z_w9VvIe&j!${N8z9zBHz6jHFhy?}O2CCE&0(Eg+=wtUA8nO~dfHUd5}`JFH_Ce{_gXIS zSrI+24Z`awK*r%4@nDGa}{u-eXM zYT*;*em*j~V^yv*URyk@wtJo9C^?dJ-PDeDz@=>^Hs|WWQ!uOzyc3YMXRi^JuZc)e zxZEP+eqJL>X2w!5Ms$z)%BFuvkX&SgBUJY$E_eZlj0@C|70X{YRx0TgYay4ZW?;U+ zcHV2SaCh1v4)?PP{hju*?evyKfHGEXn!e)KU6qB-_ypJyi+0|yPLZCQ#;#5a{1)20 z4gsfc9A*wIjkp+WV(1f;Z*f}@oH#IKE{|0mDS7x_e}5K>RGf%5o+4V-O}JeYgh>F; zW9I$AE9RDxGhyx2Xfk$gd-A(kyv}6g{em3mW{e`f6;rGWrJwR&764T--rHGB&{f-? zVJD)NaH?aN{oLC^?5Mw!0i+339wTpNUom7)9Mf_>XV}4Wqk{KFa9J3_g6ijC_j&Ak==sVkPBq?5$I++2XTLU7@bAj$}q*+&Y)yQ zGps9pvwB(k>DXiu<$Kg@ym0&Q&R1(5?{m&^^T54C!Yg3AOsqygip=G!7{6((10XA_ zF&fd0f87LUl?)MnB1^@{=Nh=8^n*Y=KHYOQ^w{#bFAu@KZjsER6&PPTQTHR*nHI$H z@A@|_35bu~y#&>rUvnKB5vWh<$Hv^dlLUsB9VHfW8fSI0eYoVaRWa);(T><@rCIRk z5h5k}ngijSO9Y}##t_kZxZ?#Gq(X`{3wR^Mn>*FLeTPFz!z2HO{XK7=K+bh*RgdSX3TpLCo{zd^5FTHRFYsiFNDqhjlWBSL^qI0<*Z` zpQ%^v7QX=2i3p5OiG6BIN7coq=BHwtSpje{a!d{U@^3ZVnF-#fABl(m=A|0 z{uMe*0h5x$t|wW_!ZE=MTb0A5Q1vmN9N#FaJ_H)!LZ`t7pLONwvtsxcXPQgFvsy{p4SS+$g-2i_Qj+wD& zp!K2WY9$UU{2kTRd@a5dJefcQPd+lm#vIo_>{NGb3<`Z|5A9)Az0}3-oiz0~l2)$y zjRzF73GFw6wZM~wJhpOxN%;eRCqxY*{igaaur?NUM8ylRb3~WUzflDa2kqME$->Ch zH1>J*d;uG=lMqx99<{`1e#_|Ali<71m%JhNJ(DloBfdTpVJyutzxvI45*!Wi5Unv| zYbUd5K@ItlOKD2r;tdZvApDZ|IU+->N3zudrxrI7 z_u}cefVr8;$ihnPMeRk!REb`W?5g53=(p6L3KQN;gi3Rz@rFuFR9RlY6D8rbMU=L- zhk5}rP98lO--K*WHb|EcKYQHDGZsGXATt^0t2)Qe3chyvbc3JXHSH6y_Z=wqW4JU5 zq5R`gA6cla=d?P8_DsZqT+(iio-L3T#5=ofm@%|fQjW2Up1fV!i5CEg`n*pbok)LT z8TBN=S(yd?Y~Lb$U_qrA7wO!O*uW1asBFLNbY*dPE92VZHiE zO+G24Q4hX9W)cQG%(dg!1RC@e+qZ+AZG>`E^i>Zh^qrddbKx1|f>9ZBZWAhNczMds z&pmol9{QJ?`;XDp@6?k8-F(OQ{sZ1w`L$huDaASUhG)U4)ko-TR4V+Y(9JR|7)z&P zpVz{!1vC|bDd%APbq7lLkh%3rs=Ox&RhWk=@elXWb%` zo<`wWS1*+6t{*P}ncEeWFvW<}_8H)+TlaXuG3|jh!Wl%zX>^pW!-nYM@x2t7vxw7R z{s<*+%b7%5;>wCf2*b2Oo~Qe+&LVCLnQZ>Y3z@rbSY*UndDin%coHW$#Z9E{=|ho87IE(mTe|D`jG&4`GT|If*cqIKFAx`54|z7ik3P&>Z|GG0BxGLKZq1rWPgA8y z&PYBq)XaA|esXYx-@503vvV5%+$K?AC#oc^REP5ZjzZzY*sH|dZCh}JHTj+v zkT+>Kn$%R2A-&v%8iA+K*w6KP%`g+R=zbjg6^xl!;ou{`Le3tnzQ~S4<3= zM)Lwi!9NhfKfVSm-FT^vxjq#gK6*=u^TR|=oM-4ulVuIHtAsA_wNT2e@l=Qj972v| zvJFqwoA1bw8&^ApWKOr}njq-s~Or{p+0Ji5*E6D&^fY zx0_6t=*5bC7_ZM?1$s1iF<3<#hkcT3$6xezdM^SkJ9bu zMh^~H9wvEdn+!*71;QBpnG)Yx)xTXd?2E{)wT{E`LuN6l-xE9DsXfJyHQ0QB)FMeLHH-5lQdeZfph|K$06%;tSDEBZ z$|FBjci^R&s6GZ{MUpC`2DDNzP7Fk_fMmMmgW`gl;}jcOQ#eqfhDA+mico4l;r|!WG-W@BVfVSnwX|IGYN4{vZg|sttcxkm zhmf0ij`N!iJalyrjVORUBkA8JL?*w`Mo#jy5TIgvf@;?-^R;Rx0UlBgKw6snP!8S> z#1uIPP{g}D_5e9!cYED~ryk}ekCoRp%ds*JBF6eJ6MOCInZ$4lo8#zNH~)?y*QN9U%x3a{xSR7%V?L&iGaak51wv{*hHvZc_`%Vi$Ka~LM4Dgn+hdiCU8f0|Rvi?ZsaS*9JlaOD`F z0E%1GPkS1xb7rCY+6*C|jcGx~=`JSX4moW0XtEIe(4SUb?RUFh7oJ)v-_`yG#|$bT zD?_RM%Y_fi5knW@g)&P2YoN>O(D>cfYKiVi$V z?baS_8dUk+29Mv1RzHHPe;wDF?zOA6XnX=QcA5VipO8e|)Srsiw*o-Q${9#nKZ!Dy zxw#c(Zy(K;2|pR(@Q#|2=bVa4*J~PgQPd)M_o{Sc^R|QAPJhP|vDP_0o;BGou1A( zbNjsG2EJE2i2{2(nq~gvsv3Xi9s(bPpQnp!aa|Oa z#(&qT(VI6%KI6irh)$pUKJ5PcE%THd!;vvEHY>xz)k=I7TQQ8WMc^+0A0frXVQYX=cyYTd*n0OQu zq=aOCnA7OVQy<)Y5x#jtLR+`u3o&@S*@X=r-pc&G5=(C6Nq-zCmyt;zWIcaU#-=A`>j3@)9_IK>#H!Mr2wYyLCz zE!#PJai#*tSv-G(T#8uuk+M*%jy`f@pz;k*mTfeygWf0rZj&Im22QH&k1XiCFdq%? zc>>I=Fc$r57ATGQTAxbdd3Sz>bV~(&`ISx9Mzp~CN9|0Z_5Tl?cstzLWjP z3tmhXW+0V6N|Hf2Mdz}K+xSY8@R58^-N>t}Yt;%$OK~!4|LTX1TglDU8M=G48rscT zYR~?q9bvVZI0p8bi#l!`!vUQQ`>Qoxn;#o+smqu8Pqs%rpt<3?Zw$ajSddV)tiHuz0iA2f2Ee%;)c88l|GhY< zThgKNT1Q-2J=#Bl0a4|^y9*E<((lhhaK~F-_oR^(*O4W}xG@TVLR4)TK?18bGpOm> zm#!8l+qneM+^9YmX>nggJ4-^9Zy0fk((WU*Rh>0%|=cv7Mp4!8~ zlln*FBnwRDoLGL3X4!1}C)otb+FSMZY`wkl{~LIh=4{^D7(R*=U1bL&Z}Dn%QT(D$ zD?xg-d7{;qsN$_4i!}w*^Y2|pPO0UfrsYdNQ~xFY0u{bm+70H!Rq~%(aZc+Zb?Cvy zKL@fiFT5_AXihjqaqrfBhMvGfmH{Zm)q&5xk9R~vAhj*eZ%3&WX0uAmp&6Nj*mnwS%g!|b+n7XolfSgS=6qS zlc`o+Ukf(rXq2Dho$vcNn|KVvegw;tdOIqkhEn`*Y5lmEI|b zLcM!tAHGZxhkzFmDdutYhwngIE`_UFyfBh%k$_RHC8!;+qTZY0;Us9CuS* zJg?JPG~_HTo^B#m!n|MCp2tIX#2TZ1GZ<&l%aX=a*D3p+KfRm98(_ zjsaT>lULLgk9oS0Iq`mC$N>>(+3Xsp$#T|}+m*LDo$~ij73l_G zIdtvEkhxa>N+n~~fqP?PfExA9vky%b)ioJ4YO5bwNY-7Wo5Ym33|?^f!lGdmWmcCQ zuRA|GOJV%W{5X2)qDE-YRR*Z%aU8q89FjQx@rq}hJ_cIldLp$?d3gn-OrAHnCHP_n z?^;*y11^R&97vR$D-i)9%2!#~Jn7%xv6*IkGfYiZDo<=>fp)L{Ut=i!uUqSbhn22P zcA~2Hhprzf0agy(G&K;(o0Dum{Voq}`tZoqxj&u_ma3WQ$rgS5!#vTTAIGN&*~NV= zW~>zl(B3X56c25b9O~)q>{B{6-g{oG&%GO2DzPqBb&%!d0-7^(zhAC-@bgcW!jN;| zH(o%a2WMgZ&G$hzYRgy|pw_A6pa6TQJoiDi0%}BlzrIkZUQQzZiq=N&YYhtkmt5&g z!lRv~v!PAC(h%03kDes=s_9a7FU$nTf8_DI()QN40elfHks7FKOD|4`R&a}C0ab)a zQq4!X&uae*GG~3y2w+e1Q9o^8pRf=Vbg;aF%xQFU3lgVPF_h!eX6LQy3*Zyo*MBZo z`T{@+5jp}_TJ}4vaXnE&SeD&IErOpiTMB4Eo%CJWzM9RbPwvZ4^|^N^t=`!|ta;-C zGcvHPYe*UQbylc9`MJxriWk9_(m7Ss^5$0#j9UFsegpsUU0+C zKrvj)~y!auVjzu;C5F5#9NYvb?esWRaQg&f(Y87%a&UZ zVz<~ggGFnDgZG86oT|um{86ZyuLwXzg#EfGGB$oe*O-T)ekw&P!i(Cs1`#K68~)Uu z%RPRG&|kSPcV3S6BOxcH{1Oo^%c&BWAtj90k2}LYn&S_HzKm`W3Z3I0Yx9KBVf?>ywv0V;?sU+HYx{veG8xvZ zgx=BI^(Jru5C|5HC`;6GXoHL@7`Jg-{h-d(1qnVsmLD$7pY9%NPMTlcZkX17OVl|| zNe&L8UCh!i2qfu$lV%JrLYr1rq}|(lRG_C9(9(3cEXc&_DLQZ;(F^jsjxs4td8N74w#+q7G3fgdN5N z+Uc-VJRo+5rUP?)=VL{%ih&=c4Zq`zqj^#K5By?vuaJ2U0IBFB#^)$q0 zH}D&)?$4{N0jBr5{}>TXi!B*xAG%Am1%w$ z-x60m`Qq?EldiyrL%E;2H{&OZp_scJJMhUK@&hfJP`Bz3=ngvk5t8ZD&|`@o)O3~! zpA3Ib;Tmu`B)CGg0Nb-^v}4Hq*lQ(UgIXDFzcLNp0CP?qOm%_fw^{R^ zjkW;qegN$>Ho!ks`{d$wsK!g)26CDE2Bx-D=v(j>U~|KejuNMJPjZ8E(zx@XPb_R5|=$eMHZ zj})ABk2h3^jo0c=XTFS?yZ(?#n~cdV%WWw^LMwVuZ*KA^%9dz|@VN374_Bg8k$cZL zv{oTawLu5~_+YAZZ*G96w_@&9N!T!JJI>!=02kmthK6>J9^Ix!W_+MnLJEm_gRbR( z>l|)nvxY zrZ@>zb+-uvT?5Fm+U>5^TqB3kf#FJZGW-JPh^YMW; z>Jj~zXIg6Hxt?YOw!h3VNzQc~cICHKN{0QZR;7`X1@}eNQZ9SUm>|q{1M%LObi%fz z3ze}RPb;I-o?77nrCqG{JoW7fBGlgKt3X#O=V3pKO@2*+rI9KiL+gq!1 zmIRj}?cc2Xl-GYf)&gTK~_sad>YkV?r8M?pLtlm=BWzNf-dv z_LZpkh1{$q=}*hw6{ov|a^4&a1!OljsZ#dBr%77@2|B}mXJb`g z3Hb(=bWfLy0=DZLDb5WK)D}pT8+CC2VAd!-=Dm`RmU2$}8in%{D&K#@x1L`;9Qb;? zRa7UZa#`~ijoONI_CkFl*Wj&mY0`rqUOn>?eQ^qRnX4`|)n+WF%UP4TyLv`^3MLM8 z``WdU6j;}YWd>woK2dBOmzJ84~?RSBzSQxr@0u zJp^jfw#JK|mT9tRx$mDs z*ZS{UuzoSfM)aOE&@<3yQIgHuP!Wv*WIJY$a)#p>V?Q5m{PBhLzBouEkB3}g2%nNm zCV}+zp9CjOhM4kyI&ITTLj`xIk-TFJ8)1w0<7cL4+hc*hNd?u8|9bpbB5IiHAJKKf zpdl#flSyO}qcf9~+>)|58Xb`{_WajcLwv`iVZF_YZbLOsjA-1nNz{H>`}$Lnbl`ks zHAdG#n-^p%RoD0EVHyO|YTE6yG+~eBUC6y&Xx47FZkQ8>KAO5Sp zn_$Y8O*Jsjpu2Vs!N!bV!H|1^YLfUdi_b>m;8V1nkF6_pM^ZpRbFQ%lSLNA5-W~rh zKv^%XCr*d1pA;^5`qv-d$_^3k7TA7E7UEo7TKh?MzEsPMZ6+7_t8*l%g;UqFEL?PJ zhY%G}AvG}zGbb1H8C`4Owya~z zJ&pZnF!`YaI11t-8wI^#K1gInrx)@`RqOI4v1&ghe`up z4DlL-N_MtIRU^BUdv<{C7$c2s8GzF}#2`U1O*n;s2Rqv~5GZDXie{(v897ki2VaBt+!jyDYqy>H5lhzB~KzE0J(=icdPb z(Ff0|WLHV0KwXHODDOe29iz4feqqje5y-AXRt)xu!_|y&d_v57FhMQK?VLX7{%Tvz z=W*IiUtVSe7T9erU!blU-@K=x)`Eo@V?gGUANup>Ot4yOBCq$QS`fnc&Z5;!KP!`P z)5zQUbJmzb=C0cKPa>rT8!QA2wBG$?tvisbHbQzr{w+X{9s0V|h*~00YAAG_{f!ye zLklU{wh3SVjbDP}FA&KX;X2$*=W$v`0gI>XIAdc*e)GI5cj`Cjp}viCJ`~RoTp}4* zTN#nK^j2|Yun=%w2Pr*^&T2i*(_b^M7WH6am*xD($v~ck`$hDs;jn39?`BvOon4{e z{kS~f^lH--Gq?u`o98vDi`Iu7#cV|o+h#zP1BIJ5yC{tyhc(u+C0r4fE#6HH%Tzp- z4S%?qjqi46+7WWTEL*$yFt>iDR%}h4X2v9j4dSd>5!7m~=FQzc`Gyx2)niZP_i`wG z+%{1rrE_b36jj!j`9fihLYJ$h@4AC&!oGE?qUY;Wg<5ZNUU_X5)Wcma{A8N?M)11C z+9gPPp)1!1V}*srB7#5W)aylzUSFPj7WIo~$9OFNQ_SkL%(|f#naI1w@S>-iS|OHJ8e>z_@Ub#jqWN=v zH}W|0YO_aajrhO`4~O8ihw2z9+i0`skA&*90DyLF-%T^cct>1p2#)27W%Cl4mI>Rw^(br3vJ-w zCUeOUurel|>}yCEYlK1cX3~{|1W6&TMbaR-;m>s+ zmr&~7&`5t3=d~N6rgPpl^RHKC4+ZhAD`L?r^?9p7{ih?Kto{CH-6&8OTFQX-%Uuti z`T%wVUzfj}p$l(}Q@%gu)^h}rm?x^l7cc3f*!YsJ*V6U%-K^ zNW`ArUgB{At=&W6>romp2=RSX{`zDnGtK_0LU{ z9}5^>jsjD9>tXEbMB051`FuN5w3|`BADaZfNx6y}M|oYu{am?k)9sBPI(jllEn2^_ zQ7KLLW?mGhW2|+*rJI&~r5v?ALEs1iF*T{S^t;SqGH35J^fD|b_Nq6sgQx-hqu zMO?M>>A&;*8{un=0XmFEUou!c3$5gjNo(h?*e~*j9q+w;zd3{A?N|eDISlma7h6}K z$p91+7hSRtr~&bDAfp8BhLI;ML$Qij?VgP>`v-ki($OR!-H3iC8cXCUB!#>*!m!pW z^j6>9EiNCP&dt9+tC3vhIP#5HA(XiNQ7|}MzQGE8mDoKoc<=k%u3#;1?5fO_)buAC zEi3O9IKuHIaQFHA8A_(5~Vt{vZ77VCzZbjo8x@)DW3rsO3O4W>!5>I9Rr~+kM zb?#d9$*9@=8c@Y+@5Ru2{>?TvqR~G%Dki*4MC6NYL8fXV#g6)r^p~BNJHPK23AK2L zelDabyKZHRtjCU|tBa3)Od?drGf&NTWe&QZl%zN&jDBsl_MyDMs&O^M^lmUT1p~$x z^_#)hSu1M%;t%ofomJ7B=4w;p`B$8Eht_Lz&k`jx7Unw^jh9GM56}?WcS~hVOod4cc? zAU2DXy2hkMtvH{l%WWbxW-Up~WruT*j$U1a4R*{_4zip!gS_vAd`X*~K-ue4g- zG)wIy>#Qr+}!g^!S@BUN@ zQNVydG6c1+oeS=Wm7~sB+Fn~N=V?+EK0iA;mS2?)BYX#QLT{7@Ji-?dl6YnBcJck1 zOK^pvER>um5Z>Yv>(vn{Xf1T1?X=#T(6R5a7$~~vzD11)$fC{K*#RM`aNbd1_(R_k zcy8|GSK;L2uI1!N$L}8Y8;3`ig7zXN!h>i%kLZshdv50HFh<1Tx7HwB38a3ob!*%R z2yIZm{o_Y7U>1Nk%ee+J;lcCS+i$wa2NyzeGUQTcBY;F=IjHHAcQq8}3!c)d} zYI%J{&q({HMYwefy$^RXAiuaFNP3vzqQaPIgnn#Xwi_S&rH2vxcPFGUdc+>T3fuNM z2@K$>RtHzn>?#zjY~0nDqO1(=-Ec&o?)!B7810_YAd#<*v7ygxp`g{gzN|lZPY5Fs z4Oq-4szh$a8Z`DL?|vZ1x$}~Rcp_^KP{(Q0frbLR-Nh9LAF{}aly3bo13vW11qLwp znjy8Z#xyYsBRu6Tu9#*$0AjDbAmtqJAA&jye}kg!3HDkvQP?*y-*3KLZfJ$B52epF z!-dy194%n7%fIsBr6+A7v=ur<@sEJsWyow-80B|Vq+z@y`+CRw5W7YD^+#Klp$4{M zCw>_9Wz!>=H`xJM_!9O{dtC0WS%X(Zr~fd>(*H-P>j3~7Lax-E2Lvde^&oerLrP`N zeQ7ldB4QF$;o5Tpc!p-Z}J=w`^FzaLNR_qpHw?)B~c=PX#P#WmM;#&I0yaX!7;30j1qeLh*h zFhPywK2MqU1g?JwN+dT@)q4NfEf8&-{r;5x2G$RLSM=NK3&B#tA0aqy?ojj3DH2L& zNyj_$no_zMKc%&s+h{!6?!^FuqkdAcOW1F5zA`brV%@GebM_`0xM5%Fh#F|`9Xuww zVX|enh36QzvUr=piJFO<=#f-Il&4LK@e+79>jCHwHT(#@{S?C|j}DYvmr!o7)BKs{ zmFQe=vr1{KJ28M<_4<7qg+Z?r^Qxp~p4#F(8Jz6g_!D$VaxTumBnjLTKo#YrAg{b) z-v`WV#C)KP7DY+(HD5ZN=#j6+ot(`|V&InXn7*ewmK&Yn7M4Rtgj0}3z~rDL ztd-}-Of2~6(OAKs{;k8~pC|Wm6%GtMU*y$>@zp;CaoO~D@+NIJzJBTJ)Em{}(|iL? zx1FhVT&(0O+ttn>+C2?vu$5I+vz#9A<)y!=B73H5kJQ2Y$_~`X6=+=P#Qc*#M3?Qp zi(Q!796gbFIiibq{m8b}GVwiXCO>g5E9?ZWvU;I#25})PE=BIURciS!xm1nBuWK`c zy?njgc$tDQ^D~ZahAeYPxyY*xej4lNDb81|1W!Gog9#6)>K58|i;L_IlRmT#Xo~O) z`1nMXuhtwJybLX{3twnD9Y5^^>-BUDv`AfObmq6gi&^6V+l3p;Tti+RU9<6tFy5v| z;o|t)+vXuYPH5qF^>cq%5>W$AVur zxnM}5;nlDB4a$Xhan!kYDAE&yzO zbqXl@p_EnSMfynlW8o3oHdYrwigu3TiY#-P6O{dN#%gLviy$r&M}crNshdLKii`u9 zmN#7jpBnlux9d}NmB8&+Rp*-}R!rQLYTs}^%hi3wt!{tJ5TPXH^rdUE4c|$)+)Gt< z^)xZ1%v+1-%vh&PnrUU%7ltUqwAC zl&caP7&02eg_GTcgWx7nI~Li3VAdOH&U88fWnbLY?3@`cnVPO0WnS}%hLXtYDNmN@ zT-UOvPjhYS`q!^&z>>uf@yvr2t|p6&&bbZNUYocZEJ z$47xZC%U_>re*$%gv zYT)8-6I>q%I2YFG=N&(t0wX9VW}8#xnQB>a(eLyd~(O*gA#;GNL93*E~cB7!Y1RClVKu zU;Ek)88@mu%RK~9isy_`kG@RM^ysa=cWl5YYNTnD;l2%Tf6hKCp7Yhu1uKM8a}@lX z=ZiZ9k}d5~8`dM&%L!_VFhJ>+YvOR0%}JIQ|Ab}hxgUqOfg=$y%$?*Z?mU!<7PN%>ucSgts&I!5j;s_icW&|T4wD`dOv$> zHq`JqzIZOh{+j)I@dkW?hbg!|=1Zay_5Bc44zu@ZSnE#;lj9CTR$nDZWkeef2TMHg zDoArvQ5U@$7dB?<7dt$fp%3b)p7$7+oZQ6%s?uSw`r%i6w(X<)9s(4M13trjKUUy$ zevLOoi%Qa$zO-L=5>=!0LP^wqOg-_#9eSRA<9#}58#NNU!Jg)AGjSf1(cN@a(Q42% zvV@pd@?C3iWS=ZQ>1=gaD!0e8N_R9$w+CDYh}`5GfuY3X{ZX)6{~>=J#vma$LTcZi z(e)wwHEL}!a(*U#?P4D$P1-N@BW7kCC?RiHa2dWtI}cglRZ*EZtL)x0*{m{|!;@*+ zfcupQ!=nOu9trZLO=!LeV6qf8uj7zh0X*<88xJo!`+prRx9_O1r~g^9 z?<}lc>eQaUGKorA4l|;XykQt95gS|8{t>`(36>usX%wkY;p<>f3mU)qIYjdD%D~ng zMZino`9R!*kyv`hd+$B?$#REGg~aJV>0$l@p|jxv&4DWuU2F(3&ht43s%e)f zzF`SKZ2X!riZS6&f{P#XwRE5Mh7KXl4+!;v5x$$0-F8^xo3iEKkhSVup{3|3`WvRh z!#lj*RT)IlUNKIW|0r0=)WU9%`^xWJEqBzIpUJ$JVV2r|3~$OEa;wo8D3!+KqQA)3 z-s$%WF48S{cS9uCy>c^qvD?50N{GXk$~*s=Iz8mWkOV=9h-uyz5!j8LbfIBvI!d3a zn8vkX6^$*KR#1b^JU(n^pKb*YxSCvyA-{uA8tEzFi_ zMEoH1{$xO%dC?e-f7ooIi~4mIkq^i8iO5U7iX({d7629JJ+E5eV04Fdu|njQmEd^5?=v&grf}VvDe4O zv#(Z5=(`eUP&v?eJY1go#KW^6hp-xnf0c+^|e)+eI4x<2yBUDec%cJOrxWbtljW^qcy zrY5~uPN3)&!cj|860x+FN?p`rwA|7D!i2WR=)2Uh4n3%8qztM>$p15x)QbR42q9N; zlo#r=%t`vIJ-;mzit2rB_<*#U92P}u^nEk$DwivYK2S7Uvq(?L_s)RvmJEB8p<=kZvPyz>7N_yE=BVNGpAc*b|8jHB7F_5Zvn9cW>w_Ozv6B{i-`bTzt5 zMBnvpE{+S&ezn^A(BgN{uveqz{c?xSgQbJv=5T*<;6uV>q{QW$#YNbm^uGAkHWXB6 z5!RRrFpI5G7!Azku4zx08v7CNOmy6=&ZJ-*gO1x}_ldQ8zNyEt%VdxWkK>ufm1xJ2VriyNqqQ9#vFrP$X#fM60o+YotCG-EFE+(6AxJG*ANg zB(DoA3DVe%%QFAuj9F*aA7tsXwy$$Zsp!=#002>Q9u2 z`4vIO(->lsN;HA_6zT0l+;$UjMd37|A4F7Fi}+ppO&Q?l0wR=HJidVKhQaS~y?oRf zn$ev~jWheVjXa6ki()>MtJK%4ln~&s+E1xP5HA=j-6~RGZFdwF(qJwuoY92hRfuV?d0O5V zrwN4KTJ$ax_&f+{@4~oCY`tpTEpBecP7#?Gbd-op0^lylE1@>14ixeviry;M6$w>l+U|`h)dsALseBe@ zct5_VJ@)3ki_mMKCw-=gF2>=cK|H_iKlCy+HIS4}KMizufWoI09ZuY#{$<#tk3Vbj zBe8P{+qxOS9xjO`gkm1cPjwO`a{uJlZIa1JFg?u|tRMq<)f0LHwuQvc`XC_%@tY(d zI?y4+g?ymU9YuU@4uqQp^PkBv9W2plqGxcsWH+N2zx(TI`z7~(jB_A4QfTFMS7X44 zFC2)Cz#(@H#kT^i$gd!?GHh`dcw6uv7`BS$SHsP)x}0mI4Z#F?LHfvJCH~$)OREv1 zqM)*C?Y{ehg-k^Zb>67hoaCcCHjtFFlb-I@+YwrtBr@pP=loZwoV&VbDoQg7&ev#z zle&t{XproVC))8@4^bHW6)dRqgW00r8mwjm9UW42ow71!U+-&p-3gY{4=@=@f4p|N zF!bld`;=*`1r888lqU=KdcbaT(K}lAH@<6yN}_xn;dv6iHYm(b{GNAFzA*Y%FW+@2 zO(ATpvW$IKM$vNF$6>(WBCm7%KOOzcx4O=QY^(aY5DrV}@x>@AqQcN*N*cAppB)XdM&yfX37v+3S| zqJ$w$2P=H5t2+56u9oh*^8>*dH`^jfm5y=xuL!1d49I^QMnRo#^?QZnjHrRA)!kdpFulfmI@1Qzx#o9j3khaoE2MWLY z*;c{mGhxD=FO8qd#N^TD8Qeysb8icqjRborx>=YW*Z{Xfv>M5erTF$eD3eH#E8mEbHi>lVtGPi?4&r^Z2`;$o;xh-y{gB0Pvez9uZ zMg|f!(dqHI4LmA|8CsLXzS5r>W>mchP)Umzx<_++EJVh_Thy0xvyD2zSIOHrT-?2< zUisGu&+mTP>mScZIM_*f9_dJ7mTtx%tXO9NMP=HXCVA}yY@zGx%vZp+`zC@jL9jlk z#MF23B_`$*xtQzr#I`r{5~Z(W0N-1gY=w!=Pwa=eEmsOJj*WaLt!|4;;cBS}+e z(BTqsOSIf}l>Yv=?Ih>;i=UVS3e!JNW`2Tw@nGI8YU1(T{hd}--iVT+vWy^DlS6F! zaKqs5oUikm`-i`&7Ffujd^S-HimZ||uhU_z+aRdvFAr99A-G41DEhy69 zyi{D>-y$acgXVuiS;=uJu~L9uUNGn@eCGlmjSxEi17~2+);t&#C5M#>4w>49+N4*Q zjOsDiz}J)*VVh(<#t7{`XT?Vm24I`$C?XaES-wS(IAVhM*iwEZLt7}~waj_cgZvu3 z0(jtrvwx8W_UI5i!Tepr5u3oP$6*rg$hP8QtwUg7X!t*p(3E{cGQvC3eembXWIZI&_lCRX$5 z%YcM?2)!$Ji}ULkc1!Vh-R+$UZF{>H<~9#*+eq%3({ZoexuRL6!v}8ahCKj0Hqq+R z=hEDd_wmP^6O>~H;p`Za_l4hW*0Q6~zVdK!d31b^c(-v$cybrMf#rL&lo81H;bsNs z7J=GfqrX6sG~4U|>C*~0rpByI-F(8XVxVSe1mLmssK(}v_-Ry`V9CnL`=RNw3Ij0I z$9wryV6i~@3?Wj5*WC6JNZJz@yyg z+#|vj+K8(#-^l!HJs-GzdgNGntV6LqDu);N2C(>35E??_Mp- zeS{gaMI9!OJw_E5>-9K22af8o*K1V>=h_s>yr0BA#H)6v=wx5F^-*?asp=mp5}99qnwQXj zv5)@?W>Ne!dtMjSlW^#6|1+0P;&|5b?N5Lo9Fw2JKPBI^DM3|nwE~MI?3O+WX(({U7PssW5URBDcFiUKcNxhCK(Yka8ABHX+;LR3ps{9&h zU=?&W-;g^Xc&y4D@!Foj;nh04Awg9!T{!!b(7(L^TxAMhdr_z#w%`3BNxlj`hDp2; zd!3BbIZwapscJbM2gmTTc#)U57RTmLBb)YqrY%zJ=wg_q?q$Lky-f!USmA_{Qj#rVm?=9}4{9yrqg zs0lNjcUBuz@}~mDpH!={N1aSxhfP~fhn27|5&2@4_E*Zczf4Ns)D0XlTVEff9-@B8 z3Tf&(o#*&nytx&ItgUifTAfaN?S%nm!Q%AZf9`llRWvU3&);KIGkIC|bG6uESJY~) z4)f}PynZh5AGEp;`vUfEL~ipgRwj&OcnB)fXODNOwJ%RIl|B<#2K?243+S=w(C8zs zcKd^J6QM0nVf-Y~!|MH$)E`wHVX~Es4^{5x9cgyu76D3&w~b=E);QrZMI;;)(fK1= zPLiMs?%T!5mS>~Kb^1@RfL5Mc5TWOOAhld{;~dyw#rtreX_Vw${|?@vc(VXQaK{>9 z1dTSsT$Pi{g!3^5@7G|O@I>5}B^M=&YPn3WI=-V4(JcI|Mj)xqLheua&qPzwk+U<`L7J|51p0FB&*gFU>$=< zE+WhI1wC6E_8i?K6};%$!Ns#YT-Q}ruWV4IHa57LJc=ixZNR@U-YKcIEe7nt>Ocz9 zl#q$Q=<8M^_ssjVj+LYG=?BS~Ty0v(a!sCm3vglC)NJ&8pY~ej5+*7YvbxNCBv+AB z(riOH2C9J-DibLsyimAH%Kj_FY#jBz)0lvwBTH4)M*i?rk^l!=x{(>_*>m-vKfrQty?+CBgiX>-eq~w zzaz7tvL%!&SbVRZT`=gdUy|JzdK~9b6YHM11}9_OxdvRtmXqA3Kb$%s-45K^^nO_v zq|$$^TVYeLa=aoC!b<@A>gOkf8g?&5v8hk6mun)@ggs)#Ee0Vv;fD19Q5h$NpD%ufN?_q5*+`x}CDBCkz=I?XEG*Qge_uTId| zTgBEb8RIoWB0tum^ulNFLb}&i=-_KT8!khwpF4`_OnjsA4Oc@AE06^CeC97&f~dfx zks_BViwMm7V%gtBXu~L~Cr4f;>3I9K0STy_md(wrXDA1cGAHz_<4eHZU@U&D;^U>y z)($^Wn1LfYr|JgV+(^tOLC0=Log3_Jmu3dMg)pcX-NhaINeltZsy|lY?tB) zz_(#vR0}zjbLV%_&S@PCrXlPPIM{1qM}Z4Ey0Jo zA2gGMcjhV<%9>A{onObt8lI26scJEBn-%ryy#Ul146bu7UOZATs2pUx%h~vQUNBsyXm*rV4H4>A`?a?Jxv9{pus|IBDNFC7)2cP zss3j9e%&mto*gRps^uEj8IR;Iwvcgu=_NlX>^maqI?r0WDFcQpg1A$p#*yx&X&)?y|~ zIL?R5Bu@>4b(=5JKrM1al8N=Lw6@=9@{PqxJIeBI4u55|oHn1%HX5?sQj_}|AEaU? zy+H9AAzMrI&5pm8f7L&*+|u-Ya*0C5T&O$q_MUn>5P$kKOX8LkJOd7yo+~JUaXiWO~8~=S-73_z1C@X@NI{k?U+_|C|a>DppCgF(-?TtH%ua0$qvqPYtyK zqJGA!#X}Y&)3tBVep(Xm_2Q&->|+-~?Y_2RKA}Kk)OVqCC?Se0A03*-UhnxnJU=y} z`h8lZKnJgi%VcFV%16bB1FW2-5iz1DN2sB}uE-||<;NI58Y#5nU^Opn(&!?V9K$^+w+A|B+R{C7qT zOz)e{o1gw+?6NM}=K$t0=Ru&H8l{%;7zD4leSeC$FhNhJ-MF!v+*@|7+*n{dVeSUD zpTp!UU2ZBiX_+wF;@0HlY|}jq+^~bf)E%jtpo-B~Og$Bt)2e~Ml#h-4t*qrTsotmS zd$2UuxyM$%z-+HTBlGXP${9F`f0~IjaaV(2b+!NaVlZ7qp6Ab^+uAOsLpG`_~KpE7(dW%kU$%O z^dAS5Ch+HR;r`zp2XzIfUg>X0De4!HW+{swVp0-oyu$x1GwIK)&; zP@Yl$!x@@HN&UP)v{*A7@0)ht*e^I!Ka*e=h!C9Z0%3nOBX_ykqf8HT|E%42_BsYK zsBh}A{C4;p{|d<|RNNNysVT7ixfZ`-+EaWPr6EP5Z#K3T{$iXmzX{=xaYezyEqUtE z0ErbFNvsGldLt^q#}i$0dYXs{GuJ^=(a^{DNIEA5Y3_>D4TTg)fvTxRV_}h60Rh#| zbghSb%&r~IPJe_C4rwQ@=r$74jSJ>53q;^UoXR#|!m2C$N{x~7h@Vryf2 zyo73?RCHu`SM$(7NTatr>Oywu%;g<45sS zWaYcSv(Mk0C>4M(ya(*KBD^^*t38}1i)D9C9Ka1_mjN(_{;@1BnBrYmOZknHb)^O~GYPAh?nU=6(9f?*f;Qd02!A9>_%>W*BHVs%DOMBs?02 zM|eBYjKU;J?=m#>vlQ2*PZYum?={LEcW9(JGazkeF(a^ODY2-+Rs1_XA)zEOysz+M z)g8rD+R0;|n@G}7l*hax3{xCeQ4qv^>R~PEe9W#PWw%^HDRr!7n`!%V^ZtUTKQ+lH ztBD}~2c)%R_=rBwF^hp$?}T;8mcd9_ zb8;@Ato;5GwQ7dU9k4n_T@R!CFZWM~3W83AJ$Kg=$BalJoM)%N4AFj%Y5HsDj?VAC zrsug`7cgMXKXd#Gz)qLfa;^AEy0WN~@irf9RsiDKwU^_@K9;o$mxrF);mPU_W_i-0$x0-)NlQcOQ2GJx8{x{yCD%oz0>xXV zk5_17?)(0w&Eh;c6n)RgTTej6mP->~;||EM?yq8|d;TTYn+1lWR%O>CExZ}d#|3Oc zZCr%n{NYA)%j$vDo({~k)l!O^6zx)U0~6 zeR%!uA2MH3$(O2OQT;-glAw}vf(+<)CBsR&Q&R8+)jDeoh%ZaRulvS z+*yo#Zg%Vv|OV3dGI<^e7T%LLV&UQQd!L(e_kUV@4MR`*VZOa7G9WHUdLqiM{DBRaZ^N39nuClhjRzbqYl;eEK zTA?U7F6S|#<1JQ62-yeGQsjv8!^a{_Wgq&cg?W-<6KPdvCvO}GuqRL-t8AghQ>o>* z6gmowFx5hKc)lxn2+U|yt%SByI^u2iT{8S4ZT3hF5QSAbuc|LZgjuPj-cnctRT#!# zmfPf+>w0XZM>HCiKSNvCV^sKp8zztb26h}#Rk+gqTzF8ZCLxt(?(;P~W39GC8bM!7 zGy0A1ilRWur~vhv$pg=v7S^9!G3;jpwe`Xl=c=i;em!XP?%7_-T2K&l^~6@+W$%r+ z%+pe@8?jjq@-B;nq1Ab5%GLSHw}un3*E}4gGnSshNFDv4Ur6(BEc$(kQj(3NF3M@; z%~As2YEi0Y$AV*c=I!4Y??>7OstZqZ564YsAgZecFOL_S1A#q!EWO?z-X#Li$~JmU z;@x>i$L06+-QW)&KA3qL_Z$vfiA&sE9xet^r4wyKL_f}WPUh5fMAA_)NjGb7cuO>n zVNV`hU)*F`3q{fhux-~*8ywnQrB#G&>KmA(Q#Aoj#dN%B$@V??>&g3_=c3TLeyET2 z1)o)*itBwJK-Ap|>}xc1XC<{sF!epFSPb4H0A7fqSwO8h#K-5HE6IS>9;*bT50SwT_-pBCFXiZn1mi1_Pu_eYHQ>s=hE@ddZn;yb)XI%Z{bct#!vVv@&GFJ@$dw2}| z)#xrBk}^#R(z3yM$;~5}U1s&qfsFrtvAKC})AP#UwEn1m7NUs~vJqHz+?p~>AnJ_9 zr4g<8onamrP+;hMiCTFNUN z`Jvzilv07BvXUt3xB{`k*s~E+W0_L2xy*C2l4ET(moEJqS!q%DIhW?uYx_`!`Z0Br zbmB%1Z8H?Prfy)J-CtR4D7pQO+OKBv5Y=C+ibeCmm`2VzSZHGNaIOqC5P>Fanlf_rAf6EGeWKJURpY%$57G9v>X5 z$2#>UEljq9l~LEUc5ZW!E3lqm{DGitIcc#HQb}QaJU9qHS*~Nd4$zJnEb)W5?RJjW z>MM+e`0gUUzc-_U;>lFbd`Mtu1sus^s=_VZKDN-E*iKZ~myYz$)j$nFAn zpu+m{Bt-XT;i?Tl0KEV!It?eU7iEYdjAB+pL&~_*uZla%P@44)>UyQVJ4S$vgrRMu<<%jnp08&R-$``TMdxu%_ggu$d_2)giO@v0{RDorpJcWhwgu8i~D1WTQSoaZv^ch zV(%YEsAcf%f6fT;0IUnN_hVx?>8rGE+?H+wXf!d)*F%3O2O*=cv%5PS17~%ReG~*M zpx(xVGKA{$x*kD1zR-^_@iJZ^v_TBRz9{NS#qA*01{;naPovH^Ul5$z_Kh&7M^oE4 zXvNfy1oK9NZNEerJD&*_z{ZNMi$~4%5R8$$a-N@U0>fHthA5KL!Z-Q9rld1Fa{jdp zO(FQ?+@Q|9@n}7uvn)o>4>b})y}b#3A63>{ZWK=Ze4~6Xy5ycqu5F(YzRPPq+ut25 z+J1_q5hAEAT>|e31!7C2q9#Q2m(oe$>Lv*+?XoBN%~X{YN5UZ?K7J$snM$A981F8G zhU8&~N#C&CHZNwYz2gV84BnktW_v#EYm*WHOUoSS0bL8G5qO8wnY8t-;p6-8hJ^U4 z=WSqBQ{RoeaPkJA&ktHr4Ce@2Nj5a1EK7FMN2p>FYyu}wH*&S6$<(aY!=K5|RZGE)+ zJfCegcIq^Goo)fmC1W`P#6nLU(YtCa$@4Ly5#d<|Ua<*(W;&19X zCFdH^$bpyh$-wVmuxtE$Ge^VEP7Dq*MF;te%E{{-z|D}tE-#?A<}Ug!uchm4f8RHN zofPDEtPqwZ8j4k5Zh&E|7KF4UTY1+lA`&4yOB-)$79`QY4g?)%*8TG>f!5SXs4UnA zZ0I(N$jT4CdDgAT9NBy{6qZ$;CkRN`b!IGGUQTikA%`kGI2(!oo?5gV@!ZFULcO}W zJ%7)Ye*b35$k+e(H}ub0ZUDB$y?q)7`?^AtHiadxiKjIpaZ_K2*oW_LJIf0yeMNTM z;fvIkkQVW$KX@_rh)J8lrT{%eGn!D}TlCmZ4{EGzHv&qJ78ON;j$q|Ves)NHC*lIZ zE=qNeW9GoZa)`dEq&}52t}l*s-H{bTXqXL~5kBZMliA1=(kwPjTk4208zM;$zW2C9 z^bit(=8BIdBM}dF*C2O#WNyUea|ccqO_~-!`{{R~hn~P-s`izouHQD0mMBwxL4M*% zopa%)K&VMdqo@fd2hl~+SBbiGOs?>}10}&juE;u@T+x=7NF7BKIn?8}Z0cgLyj(8> z)`~Mt-Jr30==A{P z(ov4Rwo2PZ6^ldm1;;Q4J$$hIyZEwlGx{#GwGB_GKCQ33do z@fTW-dU2Gck`q^4h)@I?`j~03EN7%$@gc}#BGGnj=)2uN(}EE-`6X{Zq`bHQH708e4nlKs@xTi*$El6 zc@*t7qte@v)@-5Xl1DNlQT0Xv-kWWOR1^$O9I`~CvYLl3gvAQ>qge$u##1vxQuI0m z?M`v|(2oQkh@=JAdjt^93nrg|W#^AC4|)YWpJT=rl>!CFjZ0v&x5KLSB=2o)dph$z zl$N5=2R)X}0xPmJ%Qp%Cz}NcHsBE?-fbT-aWzH zF?U!c&s-kYp156H)N!Tfy=^@ss=eK0z4~uWEmC}ce@_46spW8QDUOn*clrzr3}%Mr zU|o58Ckf_PEinOHc({>uiW`6C_Y3%!nI{$oUYtCNH1=L+jn4+C-zxXfcgS+%Xdwjf z0ea?ewyy%uYTnG$#sA$-ukE)=FGh9Dj4LjRB1A2Di|oe)M3F>Gg2@D(c{j5}CPN16 zM>9N)63)p?^*AOHI?F#B{Uy3C_FjW5jU3$_VYAvA&zt*{QM#q;$txj6f8~dD6V3}u zpB%b6#fVEa(P?A5)xRSL!?H}Qn>Ga~$C#-aWFl?Kq@_H$m@>u!)wftRL^46WmR66_ zwYOBEd~g1YOlg62!DHg_HM2MF?~|R}B!YfZ07psX=O&D$nCXUNWMotcelZQ|icM1+ z2Y_HL-JBaC&jC7RO)oF6M1FI{8eMDkM=_NtHa?Om_6Z4zhDIjkFaz`dmO3cz!1H$K z(f!7_Z<37SNwH=&jT2{-cT?Twq(-;2-fyM4d9J)s?b)$ug@FVSE*~19boPD!$IMdk zk{RGjtv`HF{{$s=<4$ApPogJsx5o?A__+0y%27wypZQIwg9^QDDk^M)RsX9Jy>J*D zl+hqGVQFp=`K6#~Vi4gdGxj!iVJWlBhLeiUhn!CuI*DKj+RC~obXL@sbzP~X%Z3Do z!Tc0aF6kq!`PJDa8ug4TB_z%-5fUSJoSfs|1C(5VfLa`fIYA>sO0oiKeVbRzBLwBly^k*6D(mX% zzGX)NRH0qL5a3qYz^#(^)*PV9F9T}}{!hW_KT`UCsW`Z8Z-LQB}7&(a-S z!hU+z-Aub)6@M5z9Tdg#vb&6A&iGO0O0Dli2#AVBQ|%WUljDR!iyl!aS6>0HtCI-v z%FBJbnTl!6m`fsNkKY_@rl7!T!#1Yt8~TM(9Lp*G;An9r;MuYjHq91U1p1# z>PgH`N#@}7i4gm;D_4e3p`0rE>=qY#BvXOwUKvS$wid0IjDQZ zV$HglQD)#ntsf;)`ud9cHTE&uF*1CUX7r_|PpFlx@X9bYP#mZGe$$rf%i$#RMmiNX zLn^>yGgEWK9hGy4*kc|Y)-z`_wM)s*?`cC`GDJHYQFIkB^f}snhEG{;9fTyRa^sBt zr6M>iZZ6(ck`_2xto)~V8f~8S@q&k{?ji0!62(0-|C(BJ&W1oCB?x;UARhq>etYh; ztOFiOovdo5vu}(h5u#&7#Lep3E=A_8JOPr-7T1ysfR_B%(f>W;{O>=JdCa1v3bEFA z(SKi9V%9MP6kYR?fTAE(I9dhqyK0zvG&PFadw(-_AXUy{uyB<`zle{OUCaYT{!D3| zh+o$wDJJ0k2h4Xx=h2q(V@1I*01%PCifc{1HWJRU5qMU>wq@}sz6s;ZNGt@;q2$Ly z!}}w&ZFMyjAMFgJPPHg(wam$le1qlm$e78q`)kMaeO|WnkdWA>=dG@V4=1` z5=NX*rT}e!4imL_sVM&oP{cy2J zV2TpY*XC=?m_k9#`C`F6C{D&BFqemQNOg}5l^C^D4cd%@?BoQcrc0!<`ydXXD`X^$gvn>bKoXq=I?`NQ z-+1xx%$ipSqC?6FMTr>Vqc_WqNfbh&%b;VahBnr*8ie)d@`4rEPtKMh&D^AFbj2mb zOMIYr|EgEGx$t@cVy@Tw>iExCw~Gc|PlO?FIIW=ALpq^vxdpXve}8^zJCAUJtNHfXf9RaO2pgZKS0FVFA73n`~rvL2*2a{p}v`_o2s#&ez$T$EH-A8{a z$1T@rl#3QhlJi{p!pkJ&EaFtDAXtJOjU_G1n5|viDQ951;cz4`@)#xp5h3;rA%YV$ z+n9IcA9EO(JFoQP(#bZCg%a-Z?YyA(C3FV5>Xl-4sZzBoLH1W?Md@Shkq+0XQBKuD z-X5|C*^hWWM>>2hid2X4z^O+&I#Pr3!lKoEy@U8Mu>l(D8j&I!6D#KOIDhd^theFI z@z~LCD)C(QDqxUNxuTmY+>dl2e~L8ep{3a3=w2HA6zVp!9711t=%unzf~aH#=SL&k zi-zdsQZmC!17owG3U7({Ba&kPcw0=nxfX6@ zh+3`H<KthXP5LvpjYj5Ig;6zxMz0Vda*7%+n%VU;s26-0(GV z#8&F!fupiJz2q{EvVEHPM;Fh9Hb-JEaeicepcbSe3|>Tk03S^yVR_|3O##!i)n)|w z5(d&%{+@HiUw)Mm$Xu_A{nBf54ZzlnD8HF;LlSXrIo<{$j#^Ww5qqcB%hOZiwgYhCDc zMYx{si$|ILy8F%l1bF_K;!I6Xx2B3#wZ0*KnZsLDQjXsWBO;0*h{$Sck{W5l{>*`k zMH81(o%i@VGN-7Hvo}Lpy5D7o;zq8h=suT{?1m~=#6v;t^5^`B??Wd1<^OLNyPM>; zs?3^1khmh=`)kW`9ei|1SS*ops&XzZ1ru1*m-#FRh8m8h zM;XF!n(dC1tbjfUQq7A;IYA6@mg+W>*V9CYv-)yGMPqx>MrlZ&t!H^hV2F?9I@*n! zS|nESd^Z5^L8Y!Dp3z}8V2*3QNQC{1>SD`&7%;ZAjG;J0D*l??Twq)?XMI1!!2SRWL?|M8MZWFcd%mvOHpR2T1r%mFZ z>Br$49moc+!C@Om7zwo@&c`|1iC;nvF8?pdE(D-N5#Q_UpG+gZH`UaO@_vw&kWaKA zFVX?ch)2&a9P?Wt%j+(Qmn#I=3C$u2yT~IM>YYLiN&(vznRrLB&i)4H7cvF^7`0aQo-8Jvkj+JkhI6(}f%1xpx3*OLMHhv$LCZ|-p?~57#?|Idap9}v81mG?^*iaDohF#BP$Hd6MfQpuOQ_ctML)}hT z5E0SyP=+m@SAcKjnFr9d^2YF$Xmb_@U0M ze`ursQlPZd_(r($j1<_t!QV>)L2tdizezRPTSg+DO}k<2x+0)Mrv2f(C%<}0bNsJz zO{llB5k9yM*_ALA2WsBbese|hnn+4M$F93gX=fzkq+?!Ac|D5QfVxC+Imh+|^1ciu z5y@97?Lg(r34L7`8kc9q?8N)pWZI38B(j9Be1pd*xe>ja!d01UM%**85#i)Y&k_BH zf}?MQR@ae(xMsYSoQLP`6_jU1a!iU4ec|eokIril_{y(>RO`Odod|t>{j8s0Ers&7 zf1SxM;upV=Lo5ff2J6-U5|+i6n(*QOHnIjYV`0m1TXqbg(Vr&nnMTTqfl|f#7EgbN z4NDYHYGfmSB?Z8f&)W!c*;?pTb})&$y4iwH4I;;6nVip=F`^5b)=GM#L)73pmnpDcXHYv0gDGc)JKSNZ{~a_;G8zu*pl?R8 zq_o7`9^Ji|@NRXbQGG^GqvSzRYpQ#QGa8F#Bcn{)V?@IRf=_f@z>65kYF0dtku%Qf z%)egNRXXd{k1^a-c4ov>v$b)UfWz>J&PeLb&JJV1ZME8q!$nW`N@3>zG&C0- z0s^8-sz?n40Rfe!AiWA|r1#K41SLopr3fJc(rbW#bb-(zbO^oo(0d7-4_Ddu?!C`F z%e(Kd`xEikV18r1bBt%agEK)V=d-vV^`bc|bgq{(K@QMO8vS4}F(WMh=1!!F6ay7u zp+L>r#vH800(Kth$8~)A=U8>heyzrKN2R*C{a|)KZK@~*niOo5VzzOE7oYYE|1&f4 zU*yn#y~nu}zgF3oo}&oy<9==VU?4HI&4b3kGfFx;Q56zJ{YNdQ1he>@-TVW0Kc~P6 zIr<(yopyP8E;?krKy614v;K3n&6jCL?vz1c^h*Laf$rOUKR9YJ%L9B{@=$O= z1|QI>49Sg2-@P7Bq!Q-P;#T5w*Sly4cc4_DZ8AOgEa=5`aT*qOIzwkCpp+zqLv4(C-Nx&K9aF51iBalWrxuCuQ+*Br!MKQ=3=5O6>Ea0&kFUh=6v0 zXWX4odYqrQpaxr1gP;@ESmE!=nQ!9zH-RZ~E5GMuZwaG|3XJ&k`u}YzyZZ91v6hpY z+k!{|(3e!i{Jtv!-$0fJ+T^N@AALXtc-HJjDKF#RQQYdjDS@8iqYev;kb~Eo(7-4R zAu)eM0jshLbq<5F6m#7_2tAbCsVCOuF$T|^S=I!lTIIB9(&_(!$0!i6-9Z<}*pl7R ztWH+cJFw8ubg+bFH*;lrKH}`g@THZpCtM(hY~a_~7nt!F`oWkx+?l#pxp6_+uBKEW zOI*@WUwPh~D{&6==;d(3uj)#qZWmO&`#2RU^AkCS%&!{)Gdd2G7WNa-Dwf#Lkf%F6 z_I-NvfNcmSprz|JLh*7d`Q8TR4GA^yh8dQupaj?-jrch zgVizTyw4Z9w9=h#JAvGwu5=^3I?^p+;l);Pv%dm@_F=_uw0x@QbC0fiTLpip4*&Fvw98jxnPPzX6+4Y*aIhkV3OBu|HW(29QgyVCw$R^aR``rZR_^w4IEM zlZEXUEE1$SfPZBF+Ys^O!&H&Mz(iKZonVXaNhz4*^QPwdkTkPDH4FeL6rB-xuPeu( z`o9!8dU_JT5Ftd#>d%?--_$@3Ocl^85~LMC+ihx5=AnFJ2STkv+Ny1`(_CBQU}7M} zJ^t0(5I@N)juthIK$%MQ+6wK5kdt8MY)$m~1^Fjjq)&b9iS%6i3t=I0!i#|{((~Ad zh6LAQ(`7W8@sav5XADV z+A`#-?0%@KC;*c%S)Q{Q3Qn^Q`6}i%*5FWdvLE$-TnOZ67efE?O5y*8*!Zu>?59@r zmHGMt+x`8~4JNMs0nLuEJ4i|jF}v{L34+Y~2LtB=scX{crzYu^o@5icK5GY*E`1I1 zY`$f51Ly~dv}>Y(-_54{Gnp#RAGq{XX$Mh*i;r+aOMK8~=CCIt3d6iIefg1D(s0fY z4se9Zma64u-j|!HlD|ubP(BR5PF+JC$M|*nPVn!sG$_-)$Ve)DFxkP(L#K}g8Ugqs zie;JgN9i(NP4NhzZSHKM5$~?9{Xl&x#`3!0Gs_g(GN9znja4@;k5La0n@zvzwIMhq z$E_%g(Nf5Xh!7Wy=6`L$1=SPK{W}6zc>xZ9MK7<3{c&4iaSmU#{QdIL`u3HpMumZT7f2tZOKJQ?P?BtaA09$zT-@e3^?+eKM)>3 z4FP%fV*`n^7D!GHAd~;q`RFRWazdj_{T}X zcQbRd8P|YaP$lyx^xw5EdPXv!n|99#hD!Oj0^?_K;VRG1cJMQ80QBzf(-N-#UF`!Y zRs{6jC0vjpC20F{ni^bza3fSfc>2O0v=C+qhZh_H;z_K4CKzk`e9?uU>szYxx*)d} zvveP@Rhr_2RdAc@@>Au+%AVl^+a6vlKjMlr1f6vN|3LYyK9Z^^c-pe|x4VX5Q_Z1A|)szRLRJ z&Ci)F2&dM-vw-(yU!uNG{7u^%;{-)(^Ysod(lotTz|^p2+R=qL>L}_V{M` zXH0RRO{#jTWJ#+93DQ|JIsQNX(CK9e;Z(Yn{i;B)n?6yiOhEMkH&69k?<42U7{`Tg zNnZwxxe=X*Ybfb+ zG&J#I{>fYpXPIlp$N`oAYnkiZS>}>`k(HVI2WM1mkl$n!^?i-a^kch2gc&F87&C{+ zY+afhoAC{Nv*M@7hRmDZi@lU?&oHx%ip;``sJV2g;2H9$f04sm%%_(#Ow1{;KM<*7 zPqC53&tcCzbwxpV9;Wg^UfXLn!cS$Hf14%^pH546;gFiK=YBoCb1ly~mPbtH=**mm zOH1F*U4pQEFl6d$%cFVzjAHXs)(+XdCA-&#y`N0DDV|Ezn+EJZ@|nFAMgM@!Oc8c{ zV&*Y-!eMZ)>C6*W3E69){+5T=oE#9EAc>uIp%%4J+{N)v!8(k*^t^xT(D#hM+ztq% zJu+|kZy(z~Z_~~XA1pv7o89gUOKS0+_$F;$&!y=8`vdNMG(UDO2;Rt)udtvULiD)PXJqLu z$>mx+5Y9>wo4wB{uh@Hs>+6Tt5-BMdGuOsi(3;Lr;OEmn6_qdh&leEk(%#}P=Bqz@ zrYb70ZEb;yCx$>K0cEu#Of(8Ac2W`QA13Zkwg`UMCp!bP_pk4r5|E@Zql#{;isjv_ zkE1-+qL?nzSde||RJz6PB>S5Pp54hWqoydl^Gcu7)MZXiUwT=xE51)^FDa`e4w*2~ zHCImDFvsW};MVwwp|8TUUZ#Am$nvV551ot4>+lGjIg)gX)#$r2^Vp)cw8u7^MES6` z-K@k&6H@bvAATi%p?~?p0P%T+eN4t99}<9AIN7{7dwEI`@m#lqMH)T#TsuCnaHF5i z2+3mZxH3M}uaI-p^X*E*+#B$H9{=2&QS*s)&6RIC)(IC&-cVWby*YeIX>c^$p|k8* zERD%u)+mt{Ml;wl!%gwXYnwM^uS)44%D2!OdD7kmlBOXrQ3XSQ{03eIB9N>QDa+Xf zd{c$5Z^5f;(~58JQ<7bfVIynfC6VPp>Z4q2m`MKqHxgeq%Ky_3!=%28oKa(18Lo0$ zq+0!tP+HM5kHp|h1j;eVRtC;gLu?Uj-w}@(Xv_^YzF?{8A=Q=~wXuR@#!e`Xgls5Z zof_Hy-E`f9&I4eUJM}bIoQUzwTn$ib!{dZNnRq%D6lNX5BtlZ{X3gV$L?tStoM1wL zhzX#>87svkLU?ecERUrHd72{fZHNahOQwqW4BN1N8y~obPTm)Hp(oM00I#ehm@pWU ztaWGC_Da&+(`Z-EG5hpK4bleD#K4!jg_(xNhfFZ={Jn&OCOQ1DnA59T)zd$FtGJ? z`TcuQ(zRleXYQhI`YfxQ3+4zZjwcQq)#k+l=^A+ zvRW9u=?+5&NE@WiW#6A=k(UaG(>f0}TU#cTc;m1VkubB&te~`N#|-^e=8l=7pA4#e zZdE3{5Y4fl^D-D_(Fram=4h%Qi(pff(-|R8D7vb5?=_(0@pb- z$J-gM1;5vOA9uNN30RX7m+HzgiE0d<{dM=awoHx;i!%&PyL6YoaKh~NF3d$_3c=mM zxSy{?`LYopLv<&TD>EzIvCp|r za<7cmSiQrnA><(XX_zYt|3d7N2isoED8j1_@l1m85&e+&tEAA$@L& zQ$49L{X9J(A!{fQ20yYal!jwZ8cb<;=H%DA#+j`e@;PvdSCt?V(4(F(A{@tm8231-Y^ZTZYG z@1{LjA%h%fF8yb81Q?lgfTKHs?WV*)=S&UDObp zoYg=llUYOmPlN`}B9!YjRciZd5uzYT4bqW#VtmICSgfimR$%fHx%I8=9|WXC`y5Jd69 ziXf?`8r9Gd8PAb`cPM600%8|_)54X`gFX#OKVK}p6W@A*Rr}-m$ft#puNTApR+Ge4 zDz0zLX<@dWTaqq@HHO*gnqko7Hw0%)9Vg9XzQ2Hhum{1$mWI+ySQY839+-oE*jk

O034CFokj{8Jj$cph{XMe@JK(|^ytL8HeVd*!O&!fskL5fc~C z;ZA)YEz|vgFpjeX!SC2V@0@!s2|<(Duka)c4m0Dz1qZ2o6H!tb=Denq zo(QnNTZ4KYvOFXORX7Be7Dl4n`#D)h6P5_uicQI{n1WF60Awx}xbSGNfqLit1}Ito z$x#1;91dhC0b3*D&WiBM$@L3?DU`!(LbW*>(acwTsa2UF-jBlKxv+^Gb1mf@{bj5D zH!gp?3ERw;r|{6k6w)X`YeD=S2|!`_xR*06CrH)$2;ksgB&crOW1~1TA2=3DKy1Wk z4Duasg4!*QN`w)Z%ZHau*Dr@Uzdw1wNDh*V&BIOL+bsE2`0R}sQEr;ZaK$Qb)9cWC zH8rZimH3UW#;RRxKxk*RRB}lW{pPTN6}E^|9fw87ymLK@yYuuDz4IC&R>z_=E7H#f zl}T%Kp9^I`n15!vxc;NU_b{5uk@K%q^kYQ!Oc?CA%@_ZYFv$0!j1e(4_sY5cet5l; zOKun@P#=C(JgKIn=iytbvE%<^}EKNFh(X(QC&=GzpuM+m^oBGOoMV992Y{*mALCOL28MmVWqhD zwr|5L#La`gau^i!q21tYrrBX(LVlRK*F9l*(w9-<3%xTA*bK9Q#!#}K92+UXvGE)| zC6|U>LG4F~G$vqW?{Zy69%Aj`AOhAAIKP4oXBZn+$opGPYb+~17~)}dT>Si@@bq+1 z(BJAPM*l2{mq6D>M1CoW7gJp50V;$PQBiI?VUw5q?ks&%(--A6fJW7Jbk#-pZC~!v z@TF_Kp#|V*#b-F0682tzq^VRP2Uag&RLm1+$_nwOmAz(dx7VadVBhOtE`5uo;usGr zlt9n9@q2AAp{P*eyLqX6Ae6YZv=g@MFkf6rpWH+3*7w_qx0(%-d;|jQ1&)6c`L-iS z?>yw*`x>@B;u9#+K~7_-;&f=~mz@#Dux|f8=8=!fJO{;d7r3+-VPUS2W?+c0jB8CI z^NJrWgg7s}8?Wl$A@EdvY6*>TnQQ6lBZsJ8^Wot5`_#uKgvV{?m2# zcb5M0U{ee^UQK7nO0WH$+TJC)~qX}-nKFm4v=FF z6Qba9R})7qXZZ1aa88xA>yFs?Q{}&O0NDjca$icN`Tlw2@MYhBr6>Q4)sI~nlQKlg z#fw{IbV>np6v6$E)UuUoIU(fs0Uq23*Nnh0_;JFHTzDNWR?J^Wf>T2bzA#5^o0ADI z6K>~zZ{YT3D8pALOl-+)07kS}dQ~7TzMYs#48}kq-h>fF@2}pQ*Db01Y);{?mLvRD zb&=489OYNb2lh6Pw@c*d5tBt%-oTa;A>ZMbX(UZ61j+;#tgphcEG*STDUDXf?U%9B z%-aFM%{Dw3O0!NbPwKjYD44?njBg_$Lq!t06`YlN<;7E614EF?Tl3|T%l2dEhjs5L zHqwHwUX9ui4*vUYWBZ@z?jW6^2*MwwPOdc*A0!rg&O|^S2nUv6uM+u#;z_|Rn5p4h z0nJ4p96gQHlCVyp=%hrqFnE4t+egx&|)Dn8b@&}!s)BNWW@p+5Pj!PGVe?zpWV zHnaWR)LfQU`vk8E*6B?`4_H;a8CsFjSaJsROi9U;2o0l zU}381kXdB|rK$&ebph$-rZR;jYzaJwCCMG6d0m8GIM<@U5)qb!1lQ0nNRo+`192_rQUB4X} zUt9?$d#6(-J@S3FfBKi}Zl3F^sDU+volmsMRqGSDNqTVgnLJ`V!8OQvf zx1V1${0kZE8)kZ1S*4yqEN+@-TPBU-E$WhX2i?=0StG;B(#}BcY9BsJ>g2r93`Ot} zFsF;#hTxD_1+ks@ItoAf;uGyI!$nsti_sNM$pwZt6~ z{x<@)TO#6o-JNDxd4`f3-7|X9pUWm%s*+C$yDz^2w`JOfWVb^G&JuMtt znv=qU@?uZX3n;@*IgS--hvu>_J{10JAffGl1el=k&PK)AF79sFSATK5wjGMZz_3i-*0#k$HH8nHo$!wl`o@GP3) zYJ!@fX@;DS%NZV4{kl;4pjQx8c((p^N@^VvDL7XiX~w@@44O|Ul94h)b&FUz$L+0Q z*@gxZ`cb6_>?4^M_utc9owp$NqD3|uOoRY7Y+*WkRW&;=K)vzHZuIv@l4x8@EWLbX zdtGDf7i?kgiiV1zkLPw8v{rey=am|q1X8wJsGuFf?=Mi~4hp}+9)7aaz|?w8)WF#I z_3T=w9s?^YA2}W0lF{5WrmCjq@bUODhJV*r<);D>prf34H@8|p*SE7XcWBF*C$jZ% z>%;G@%dNQMus8j`ohq!B&KtelliFQ4sqBU7?@=njmbs%#e@*+|WIwC9jw#NZMpfIn z`tnCPs9cF$u$vL9Lq?KZUZk!G$S(=f>7Z6mgVH9AAjaA$$-W8m!H4dB4VQp+$RPG|POu*JY#Rk~0SQc6q@}YSwlbJO7u3egs zLbM}x3TBc@ggY^je)&Rdb?4IM3Y2gU6r1ErLg~`p?^N&zE@`e{zrz&*QN25tx|}Da z)YD)VH~JH+9z2D6B? zxM)p+8JoU|8dN7dX;Fjl17>^$!@1?34|ZUvzb@!}dlId%kk4^8RT)*=o{qYu4ln8O zRLXlpSsbyrxcWS!0G+ap4ylA+xR%b!-ufTTZg0}dbI#cAL(|(N?`W1j;u}Ce*|XRI zfIZ_OIm%SkN0Eb{oUvyPbb*bHxNe)PBH|tkRVEfZGY0%UVy#re|wY*d=WXc_7#N+Bm*fj;fvkye^WR6`q*v*cG$lv6wfD7sx^V=!> zrN6i{9s(#iq)=RQ#q_%vxL^Z&V|BMXOf5fsRvF*+ym7UgFTK|xg4^ye=TYz(bXIlm zgH5)wA^@GC*DW0t2zY$Xctf#x?@Mp94!tUez9v1{@RwOG+|=HiCreqmf0%u~{*Gtp zWpu&bn1>7hr_~1oZJIxY4dm*1BZ11*vgMXdecKgxzVw-6;_i4gp`dk&MWoJ2uaF8pq5Q;1dcY7afl?*>tofX zU?Pu@ekfTQKiLV8bY1N=?h`+OYl&4` zj{U1V;iTI%K}e*S+2BrW;~>L&iQ5i7E-gn*(jHM>nU9f}zcTfbn?BBuhm4eS>@Bg5 zfjk^L(b!1Sqy=Z32l=s@o_@luWA}%N2_vFAcDQqRvnp9VL6QYLRZmF&Rad}Vz0{A zg>Zlsm2>H0ssEp0boW`$OM%>o^jGWWlh> zV5E?96W!T{l*ZLqovrpl1?L@ye59a+NEO-i7vWEM@fUpyuXT&9%ylsqnhf;xw>;Jg z)%G;nA&n~zL1*9ok2cu}z(J6Iz|g~*xYqRL?!9}@KoScRckf9`7QP?B-eZrlxe)*T zedrmhr~9itP=+G;-syIVs57IoBQ8?`z@SA$x7sY;{f;$z`&t*XYRgj4-Hof zo#Mg(2wXA67Tf-Hiznc_+@?OJ$cu6IyWesF0#2-4>8i7qMdEOErWAYBVU_7)mZ>&0 z0KlQA<+vNa;96FL3Gsmk3m-n4VYSIq2l>Mv1A8kA3fy;=YVV|wvbsLeeG;hpm-fed zlLc$uIQ?ClXW57!DedDezCR(?Vn-Bp6?uqADV)@33I6*b^{+ykFHQodH8n52_M5?N zaz)zp&4obcn(4@Wvhy@aOt1rQ&acyEqW#g3cH8OZ8a3WWNIc@R2aLjnuz-+iRuqk9 zUBHn^cgAK)$Shc@EI%<$0K4@k-$ciURs&$XX4#r@W%Q0>G-lu_%HyHIkUiGzjk@|*URKt&4iP71`1YPgn`3dH%@fhG z!8g5=QaZ?&)!5L&6@6R~92ORBNXx(aFr`9=@vr*MO4vF6C|SPBohbd5i3t<&<8_Xf z<4Y%NLd8C(IV(VKsQ*TE#eaVu|D$R4*BkWD{}%IzjKBlfwY2O_)puXon$OAJhgR|- zta;9;y1_oK%9_OS2Ujeb3}3oGY%oupU}TIX9XImj0zv>uW5|c0TA5W zRKCBUI>A)n;atAk(I1ejlQx>sD5cvVAxaF?j2~oyNGL7t>1v$%SE|HM=(yyI$>k5R z54#e`+OrqeL0?BD3}uOah3MV7fKed{XHIi13=Pm>q4WzKjct-2(rYlOvo+iT#0iW8 zr>!(BW`=$5dR8eHr9fL(%zG!@KG;rv?@TaOG4wLUu`*R#vp;BaeqifasLpoJ5WdLu zvZzYuw~S9H(>ZX=Uu|uI7zvv>pMG%>M>L3nB3h0DQqku0)(4RSSv`tS{k0QHq{QnY zQtnm(McKUc*HV>yuD0Qv><&{30rLZVgm^B%{CgUSLxKs-Kfu~ zJBm)0YT+EN>M)^Jx8AG_#e4Mu$f0$TjDg=A1?WtDrdB574et~EgrN08;$%ch!oqIJ zD<3ISQOY2z2_0B|I-C7@zW1Y(ubT$nH%Q!qIo+3GrjJuH2~H*z!7Wfrqhr+!=S!r^ z-5T7YDgs9bvm~C293BYm?m7Xk-?6q*?!}Is6zpNZhKF9^Tpze;{!@?dd=43A75-W- zo-^^44o*8y6f0FM_d(c9Ue3Q{VsL?fk&4~waQYTIYBd-}6K?;had-|J}& zVDWySD?sk;?pADy{8RDkzx{#7>y&PPG^RDej=5A5TYw#y7%uY?C1pfP2|2->@fV^> zcA+Qu2TqoUCHtE?D~6F_38;!^)RO!|@4*NQhnSimzfXUNhDmx-&v3rdixjgoi#&t( ztfg`Ih~hE5Ry}aM)L|>pu}b7U1K^k3Z?$&cYwby&QMMPFeTI78YI`2Ed1ctuY$4Ew zV$Wh}Fs5D{@~!8;K}+W@1|L}aI9UK| zf~&BtnQ)QKb)X&?RCosN(HQuTr zmmZ|XwJcJ;}eAL>S71 zd-K=YP;9n2v&tlcT1)kIufjJeml=Xsrnrgif&l*)j!rHl7b{)DYM_vM1fH! z&q&6F8A{7D{I77CyU}9;lFSjMMcy!Ys{+y3!MnxCnl~l?=lkH!h49CDmAhY7RBx>` zQkX6P+pfzsXVi@%=QI~19{({bzZiQ9D4=51xP&hG{=&WW;~CXip8cHK`N#|C5o)UD zW^uidb@YQYsd7S{q9ovA&URbd=vHw;*h(JYdMha@dAyvOIdteaOj_>PyjG{c?~g3& zXQyTFKeXn7uHN@?v6}IqI0~QVS-@Ay0hktm38Del+at3yRS4+@E~EoW*xq2(MBXB? zdd#Ds49UJ|A%s&ZDEV5nvHL=FOewCebHOMxQ|e8#<#OUMO3Vx2R6+|q!U%UF2NKS$ zl43)3f?O?khY^mf@Fl%g=!{-+rXlZioA133q4+GWuaECZnf2kn$XnXzU+nVeZw?V1 z)5)z`YAFB)@*Vc6lv;kg(N1vIZvOG}%(dUJtJ@if{+xVAl&M7Og2H=6ASb90=Lv3K zPCgnN833+^E#61qC%bsFuob~Ekv`y!5jUaa@Jr8wHp;UDyLeo42G21bk(oL7dSiX}vbVbAitu*nV z#E9p~AtjeLmIx2yEKmE3MJz^9 zH&p~gNRQ8%vO8I?s9p@nv*5P2-eUfKDcHpEd@sM>#L&2RgC44onDNdKRYuGRYR@D3Kyj^U8s>AL53mSi5ro#RF;zEf=h=BzBtvZm_c1@!dVekVNO$a?u&4+v`uf}PngC{X_~6S80s}PiXQ{gQg72NY3e$jUt)-X>J@+5yN!{bSy<2%jqhBgT z!}$|f(KAg9d(syGCg3p`_V(AxGw*NY3sEWAW<9G&Jh)gEhS~ zS8k+A)uHMXDxh%ZV``nOq2=eSm|$C%IkwBvQ#QdcQ_A^zn>ei!{K; zm``xme0gdQpb9G%_OsuO59YJ)w_BQR42ONcV!BCUHeTZ!_^x-MzRUcDJ#OX6Vc>I_ zP=Dv;j%p1$NUf@uM-lv}aJbIBuQ$%OtWEZssqTl3HXCM)9@_{waqfL>ucB~;$hz5R$5|$8wwke^qv>{p;+=bGUvgIZ3S|K{_c>+T25}E6tx`B zC~JD^t6w^|K*9Db(MnfJ*_s$JFnpmvZ)2UsYUBL&-hY*Y`-wK*&ca<~4B zR2mMk*@=o~44w;r<7<#P~qxn;i|$wCU7*=G9B0#1op$ zEo&*hu?87wzeD19v++ZW3mJnGxY z&`VKZJtoZzvwVi>5$70cF1ajnzK9k|cC5Z(*{GPM&d)b#s)dl5;Tl?SbU#poQ`Kl#MvBbmTrEy z^T&qcu<@OD_YV(zhz19TK3w(2;dlhvX~DLPKXQ zaN9~pa+OrNj1MgJ@&*C>#7|yjN{^{5X_R3*A}DuUNGiVPq<_ey1b^1C-+e1mEB`z$ zn|y`OObYHWOin#;;Xah)@i|jPl4hk&(ympm6}5P&z#5x1Zx3f@Z%edX=eKIW0?kii z2}j`ReQETnrcs^Hv1)~-QcDnCe;&=&5*m_#E%>46q3N*$@VF=90DZL#;4=2Kf=X#Y z@!MI(qdL&zM2cqxJuhFrew{wD=S^{IFP%S<)oHzE)Y9F|%xo6$+W%wxVApNdW1OhU zH9n^0y^U3pEu{6F-;nq~wk~cb=3whDjL2QM!0!G35tOx1i zcYx*4;l7qDLn_$zs2A>pxExk2SS)%`s+;W%9_B~qd?D$XscgWo>7+{ zX3wZgzhu(!YXDI(!~6dq?6Qr~^mg6{BhRjP&fDst5{EH4C*reRU0s{GE)_XE`o-DI z=ogQ~7iVCffHfh>S&%_+w2{N3gSary^!p0$-W+1NrQ8bg%}Xkmkv@jGz*4C8ey{Ch zu*T|ETyOOOaO^df;8G&52 z{qxUu>~qL>T;EZy&*IkG_0lfE3qtcgB_96sHd!M&SBq7egrnl1 z8GK@Xc4PR-L7;EN@o37dCde#$o|HR0g`(i*0m3~f-IJzu8Bc(cX6j=4LgMiH| zgEq*BlgnLTCVK+URQw}-VU={!=Gv+Tz43(p`i|PL3GV2Vw&wu%4m9gXq-$5L9OyBH z%W~uQdCnlBnip}73E6_)W`m`OV4A7YTQd)Li?xoG9p zd7w1=y!r^?5aw}mcuyI9Kn+|ntjVRyFS z2dcDikhQqkM{3@W74MICCsIhRf91V4`g){0B|2K)wlsy=Zo>B^uzYv?^+>3bzfKuP zmulXx{h5u(2!P|L03*W}esnJ?K7f>L?;4JoJQQ5Zcc2m{4m6=A+8C6e7rG+9oVj)a zmx!1~s{!!3?c)R`hI%#mGCgF0y`w;YYix`yhm5N+=|F#%02EUMqV<*tBT6<&LY+Ql zr9;i~O=u`|$>Wvc$Uws33FmW-ZXtT|(yO?FPMHlCpQB-~2 zzm%e4ZF_Zo%=lnw0Pf#$60<0&#N&nAQoZf+z0STz*B$T`){)4u!yTGRA5NZr4)fgi zn*}yf-RAc=FfTlT3e8^Vk>Q!`>)cB?S-mTH&)~{tM{IXrs-KQKux#bCO%{|4yOI$aY=6cATx(?g`_JDcuZE zR-R5SIoOZC66Z+84O$?Btq`z<5bZb*98g%VyXbeZaIU_)mA|}*$GED3*(0BSL0&Gc4vJ3jE_B= z*BPFVi~*T0s`+e2Zg!x=OC;B2C~ognb$F%TTX3ROiau*7c@Mta8DEp%8Q-W&{U82a z4z@^J_xHv4qxkanko9n|-}{H_8)e*4g2yeDCFQnM_%(#AhV7 zd-wGgPAaamUuXbrd^*{lP-d}kC{Eo$FHZB}Gn#F3=Pi~j=wZC@wK`QF%VMc6-5DA= zFIw2NUUjjME4rxRlkiSo_aGac;eOCr&!YfP%Eb%w%iQHXOva~W4w_yE+bR4W@`_K8 zJg+p0Z9S)#XThf@G_#2m9G0^P(dx0K%VPWb z%2t)8_sJG{OWydhXvB<0rGZE|vPFM^dYUL2KH%6`LP6 zjg5&Gx@CmT3slSDav)v`*9pHeplpTSKHl=ts@huFDifdUKpBG|+v^T9PZd9x_aBJf zY_+Y#l(%;9fB$OWu*lzfo|IW9RD2HaKww$ztn|mD2F8epy08WB%g4tkVs^GpX%dgF z!!tL0op%XO_5;zGfYZI|*>XT*mF^B%wwxS+JD=|iS38bhGfK0zWOW%~Y4tgsI2tWW zom(k$9dJmS4&$#r(682b9}sZVxQOI0-|l{_UiH;33{VITZRp0RN_9%Ku~yaQXZ~m=+wX}-p0q0kO5!K`5SNt2 zI+wiP1*TVlWs&9#46L_F`yeA*3Drg*$nm-e&!GefkhBh6e2&mRMMnI5<=2l8I@K$~ zi)>M$At9fG_{;LwU5HJGYn{sBfOfA<3upKxb!ejhvxY@E7alQrP$6*GTgFyg6Dv0Z zvY1x>O;XZ2J}^KaW0XY}_u3Fk8HN;d@|RTnks2mO_$aV4Xzx9hTO7e{Gtq~R#lQ1^ArVqJtScCu7zVhQbNCC2W}T(eSZ-ip50-?wF{srqrvG^U}p(`L6&rv{2z9+MgT8Q;b^Jlx_m zpr?7LJI4Ea9ecIeL6bHv)rtqx(&C9%uWbyNRIY0bt+_W2x8`{}o58FcX?b*>By5dn zNSH1i2CG*bojvU?ByOik6CbUCuq%~&&>ik!yywl}7|!R{m#x&F^V#gBX|4309;?)S zQk*&-=Dl6F8A0J?BFjRtS2=#Mg$A`fvq~1YOXIV*5sC;pf0u_}ce7e#5=vPNJ`N9v z{o=)PVfZmmB~Ywo}Ho6 zVVy&J#pB&ZH5Dteo$N=FWm0{Ei(%o4?IN_&*$b~S4W1a6 zjL^zpKZOCnP!clM;$D>+n?wv(wUvNyDF({s}52(i%Tj>IT&SkE7pjs z#vtiq#Oi#uTjgguDEmdeJbnw+cRIf{|L!o?)b#Lx*eIF%addTrO4Da^8XSFk-0kC( z*CGq|-%ejwUo0Ox7(j*%X!^`o?Jcj`)fc>+CEeL+l3#&Gq5p8Z2d=VP$KwfVQ{u=IX7p6v{(Ca9o0Xj7#wN3?y|U=tf|e%Mto>_TI>R^^YQ((^Z!$ zL+AC zPi(%WtNNZrafM-uAGj!dGCb#c=A(c%aJJ;iB6qac?qEr@3vLhwe=*-Y>rvl^P3g4BRuJ1? z8u|aHQH%s{&i@$2IJ9`_C2u3rR7|Y|+yo2nI@S=Dwm$P7H@zM?IEooKO}?8QU2{JI zd7-y|KKSP1t%@fjCa;iGv{&l1EQj;^)SELMzc`GAd44;#C7L@MeK-b=ck#f7Xs!-G zFO^3>MESI2(0C`YNJ<~q>_wxV-C*xlt0Mfqs9{rjFt@p+U75sTmEg1~)MB{mUUG%1 zHHw$l)@N8>VtDyv^V%iZTbmg^#{ru=c|JKD_cy6;akgr4ddPsiGaj3G}SoEm5+P}sq zFsz7_&0XKZhu8iHT88B&k3|T%4;0+w*pv@q)%9r9sa(gDlF2jnfY25U?An_O=gw`* zcUGHG=113yfBE|CZ>2{OTS1ruX`uq4l?bTV?t`p0AmSk@4^dV&-s(`8>keCW^kf6- z=K$UZX;#gVUeSwz>OmIo%R^`^`fRZ|>9k<-)I)m~iuFILw0C+Q)4d8iB&bUmdNRDH_tEYBgcAaP^}Sk2f;eLWxa`1dx=A2uw1tzjcx1A<8{=7-hG>7ric7(frT(^6;@z)Eix#g)Yy zTPI=(=u>~HRTi#VA&lO2h)p?FzfEK{NQP3LLjq$@SR}&rbNyqU!fTa4;Kpe2c z`hvG#azlb9sRMS~4^Ls6I;Ur{KQ4+EZa~o9dq%|-%ZbnEZRBTYx3J?Z9W7HR1Icz) zSNjZhU(TGY?m$~i@dUVQDQw|WfJYM6n}Ft%I7aOkP?2WlUw?WP?O= zMQoFj0Sa`|bdg-B?NpvG^=bl5hbKFj%p7TnxuE&4_zoA!H5}X@n z=W&b`*4b>_JT>3z-?8eBKuwj@!F!H6Ca+CQXOtn^Q17eE@NaH?oSm_o$w#eKItl?2 z)sTzeJq9JO70Qd9>c(1k69*$tDc6Wo6F^B6W8*q2=mt}fNkf->RvuNi9KJq6+WaV~ z-Se4=x;}4hj`2p%HCrBh$>YWctppxrkT(AyU3?K~2jn*^q!0;Z1FYId(nmPM`zp{xx; z4csfv<`#CdNevn^8D;Bkf!W&OYPA0^^EP|HF4$i~i<)(pN|9XeWle@xxPtbXX6w2U z^A&|K1^-(c0^!Flwycm!VsT3_Hp9Jo30eCtx(O~pu^*08VQrhN8)d7eG-E^eoS_~t zD!c2xhK9zMZLl9eUnZ=FRPBd){YunNBw`9?-8jqc!C&)*^R9$0kDi z@`w5^tC!LgL0j@h0XVjx?nko>45fKf zlWQhE=sW9?NN%knQs(o;Ij&ACi%m_JMf&>xy^>U)dTYaGjrAK)n51ZX&s8WlY#46rdP@43`JS=uT@auGnwv)e`aR>l~g+hKp0IW3KZS`t#^J!Z+>tp%z`Un=2Q-lC=<`Ae2bDEU)N#_Dbc(n+O|D*W>9!n6X>`?+`^RLFe_K{q*hcw<|*1m7L@#65=DX#cE zx6UhDpcWUOVP&QDc8bW%9M+&U`k zIbcFgu@utggwpKj6Emg(fpdb(bfeWDB_Jr*7yU-ApWg9vGg^&SBRov^Qrm0au%LaH ziy_g0Hj{_R*$cc83o2GB`eyDp7kLHwt!%dWw_et3!qF2UiVT53&!tE*0 z<+MWY{RL-~U#ed~1I|QZ-6b&guW2}@w7D7i=(~}nU$R73v2ZHffmX@-sZ#S5nkD94ri@_uHy%cO2^$>OozItJgv zzz3WBd*H7LBCu=v1%m532gqCBUzINEUSjRRdbFJqfFx1E0YkaDsDD#Sji8|{@MpVC z0GcCQ5h~|-xN_4@*o^t3cET*FkHz&;SR$ptaMYeQiSS`lVi=dfMQ)Q`toP9l6>ohm zCWj`W=p1p3pKEmlNxa;%VozO3EF1>?iXF4GS8kRx68Gd;si^&)i=vz+h}o{Zk%Rj9 zxKfrFe8l|vD7gizqn9nOAaJg6jsytowjVn8H9>dy0Tr+~U#9pgf1?0v_QMSBVoS?P4aJ=G2#qF+8d`DPY%GoRu| z3-7ZQzAt()=r(ZNL%HvgJJG0nGMlIYEKF5LkLn$kzw*Xh?ZxzkH8NfljA9yY1|r&5 z5N3|gM?_m~)Q5RTfzl%8A*I@0J4Ne{y)h&G1Fa$DH*&I{B{tRyK-l*hpgdaZ1Ubpy zbfw~e=7)WqyB9p_TB8Z0ufMDJ9X%favKy%f_X(lmjq2iTAIxZFZ02GPse2}yF_m_k zg4bHLi?^xx%s^fC1nARQo91$$LUQB;l0V~3(D^svHn4;z#t}SKu|qQ8_bHnYW6Co<4U~>HGN-x)TE8O2=s?(?DT=D-u&V! z9aO-r(DeHNELQQ|e5~vYoF-PD37-Ean$EuWcX*`BSM(}krnXEYFC-yHp6<&P{9hI} zn%on6H+g{j=)KC8KfRIV71Hq)WeGF2=Tbllmeaf#wU`EkUXi1k_k?ky2M`d(To|-xF(%#kNJ4@z7Gw`veld z`5J)T9q^on2;^j;6*u3jp>Tt%=UmVjfK{%69Y7v|38y9I`1J6yF6Zg$ggUn|?ym`_ z6CF>I`B2Z2Y6~my)si(&R02d0Fs&|NlmR zm78)``u_P&bu>$HO$Oaa^7+rG9^k&teH8YpBe$b<{k9vt+{Yea zy-T=yEMPj6-jK0y@%c91+>&|qoQJ*Zx*5klLK_9yK5IUkKN_|lcyUvj;}}=7#WY`q zOgexz8_P6ZG!L>lybRGI&^X>^%;v-w#ak&jlzQlJcN<%)h8G)WjPayoEu<3kGE*;rgPXR@3ac)iO`{BD}E zaYp$SZTZI!oALFMHVd5AR3J-zq7qi^}hs6h1Zw+Oy7X-k-exYQr8dj-zj~ z>iPA$t>gc;@rfeX5$>XqhvWj_E?sdq`zYU3|4&u-FH)unJ**Z_WgiMZi^!-aUS&lD z+G~RW{ju1)N<7D)_RR*<5(-`6kqC2OS(vA5TwQlOg5oT{WY20x!DP{6RBqju+CyL3 zZe_1w3wwHhN&Hz6J1g&^gMIDR3Qn(clc!!SVgxMc@=RRRQuw5_t;asqy~l|uZr~1N zTUzAA=O~jJT`F{9h|ke{wzaspWbvOyiqk0&!Ns1fSzrCQ?A5~r@2yW&y)1c(=??&D zSQnI}iJ-GUyNx;zwhx-U56}-J`g!)fF_-t(f1sikFZY|h`FGVyc5ADc${roTdofo( zara&d2xwtYMK*h0aCBBwsuEDb*E=8UxUN55m$Nx9Y#nU6zF^U-ZLz4msbKeAF0}>i z7+@+*QC$;6!ZdVE7hxs)n5H2c7s}}>mbyKtzMhBe6J2gCyg~`kgHhn3MtbO|DrcQ5>hw1Gun_P3hmb87wPPz<^= zc6Hxl6WLxRmIzGTkdylA#f=*Yd-Y}dXmip z2qp#c?Yp_UvpE0f>Q+zdgki{SWcqoSklL?##!Tr%5))ku79((#zU%eg$h#>ho(r+_ zzIvT{(`E%LKNr+_6KMTuSx0S`&o1eZ9Dn*z%FSKImn~16-J9TsQZ7(kj4jJHWZ;4D z4RgH(GhN559U+%-=zK7%7RUgsaa9&Nas7t{r`ejY5ag_cB zHpMDCxf!`#9Nb@A6um8a#10J8@Npe$nxmSi4yNgXW95(JmV6zeL`(5eO*HipJ6DZZ*yBn;(K<8k0hVQxLxqdS}IP-Ly zs7O@@Mr8Gx7kHRekVi(+S&@y?n#NvJk%R*3@Ch1W3S#S|at}BPH5I9Uh}*)i&$1+| zfRRVH@960RgNe(**(zY5tLLTZx}&`?#_h7*t2f;E(h^kax@)1Q>9Tzqq=53ZTfCgt zS8s9t-LE?D1igTIuSE5r_pg7YaJRuITf%qad~1))#u4oc=dSC}d{4oz|eodUA{_4qkI zjwO4OE@AxkVjEDP_gn^EEgq5LaU8TOi>Uu+UHRbdf7X>@t;2MrlF&e&V+9pPoU(dkc4qDu{d0hw0j#Gl-cV zVAkFlU|GOXyrq@_!Ubt$t=+Q1b=X~dhIrWZ@-O%|gbsn||7Bm*lh`iy7*C&_v!&4&(%Of0K=GctL*2Vi5$9@kNnQc zbUUf;RG8b?aOb19Wur8_lX0A`)BBsGIztgsH0NQV51m2deZ4^qJl!}U*kyvjIs(Lj z*>e{_0WNkCH;CafKRaUZ8w7LIX6d-^a<4a?HG0<`WavlVl=hru(E<(cPz$4rYA$S1 zgNI!=`E4E5(et$-$$Erx%0=I%!ZXkaxTaDjxZVD zm0|Vl68En5*sot?{+1F);c5)f%1W=UHc1^g?2i(*L-dZy-w_G_I;>At7gQ(#DGY#X zjyDH6z_Aq55#WB`E)O7oezmN&U`6BhWz&5D9lrNi6-8+ai!9%-r8QID>`Pl_11HTW{l@<33f;$xRo7|14ER?SK-{Kdk4`LHC;Q zNp(JX0ot&_UY{6;^M-dk8)}nXZg+Ctv94bttEsO))}DEKRov(s^z=WnR9XRn=V@~( z1}zmX1m9X{&e!H2_?ZppSF99s6#rmy_3}PJ{B~9W{{bQ5wR#fV*{tAD5LdCbD^$!N z#~a@n=u-Xq)eugqs?Vyc+58vN7(-bYr5@!P*pI6uh;~X7`&2EtN`zD-ElbV;GQB)Q z2!$qR&y!igX#Uv(4j+nr1rV|I*|8>L3hW~8d-wOzz~=n47`y{REW{il+=PP+;@ zS$}g>d7W}?I{6u32XyV#?#;E|yAV^X$=<>UQ^P-Gi`@GShaMhDm z%>J4x4r=8jLo!5Q1fzOft=`~mI-9&tkCTX6K^5%pGSi7)u_E?-dR zIV^LQ|Lo=X{)p;o?kh0F_g5_K%hBclV2t``V*x-=0U!+xQWz1RD{G*2a;JHAzm9s7>(npqs}Li-e;k^atDR8iv>YoJ{6 z(+(_pr>m){up0-L5quqeZpRh>E=LiIPaW*vBDoGTS995sK`mdWZj%c%)Aj$~HseM9 z>t=kdr6Yq^KgoCIwX9ej;N6stQ_(xfn8sRuKlnftuv;(L>3V;OsM!D6NY;xJ$2<4Q zQyt%KU90?fqtoxCJtT4M0KO3(-Q88tAko88Tt7bf#(CbcnvE(T^&Yjh@Ou{@M``S= z_g++<(n}qtKOq-Kz=-w%)1?m0BYk_h_8(31b-lZ?bF+j~HehIegNB<0gH`i&<34i$ zwU>nS$UhBZr>1LGAGs{veJ?Wc@j`~GuWoYhJxgz8TMqS~Dg0{P~}UhEZz3o2-K zIc_f=NaS}@5iBmWdyNVqcxTekMO2#A(@kx;8(18l%uTCUYF{?$9`*ee9G*&<3Ruo0 z(LB8<$QL|v^+62Av>0;-n3QiG`;)j*Cy8+TdrhXy= z05{4M{*40XL-yV06}+G$kkU21p;@ZeKE&yo6*2Vb3_rcp-irr{%W-Zrp8NLO>4 zwdPKQ9No*8FNe^J2$z~5?$@u!w6Dy!!=v-P;&PsX=AAFrabpVYR;|{L^oy9)7nG@6 z3U<^p9mlER!2WR&-JY!T;Fz{_{L>_LC+hs>F9Jd(h-w!-{QgVDPHTh?C# zbyH2wx%C#U^X_@>%jgFuo7=2Z`)j~0vKt&4CKudo-gS@t0l-vK7G9=DH+ZgyPvQci(q8UtEfL~!w|IB_Lf zR`oUQ2j~yDFSreGarN%?ac!FF)I*so8>?9=o^m$UHK{3=)u#p|&r6jNfZOm<#yi~O zkCTMloB+3ypno6;_J`=VZ#p~kG?M4?ulQ0ZuEvP+iOI`W7V-n601ARzB(zw^EzKhA z;C5wB+6Qb;z=Sc61Hd2@NXtRKv+(2v4Ftjt3&3o4hcs*Nw%So-CQR?Iq#Sfb<<4?> zoFt6QNzjE~BACUq1O294e9Gi+kB zg&g)}p>`5>Daa-p|C>f8)GnSl6WB06H!)RhI2EN9u9;G$)}Bk$p|59mTJP@6JJ(!> zjlh2$R&9u!_ER>Qy}m5s4V(Q4O?}yN503(d(WUUQ7XKBLJ%6u~*IeA-a79x1RQi?o zYwKq86q_6CM3J@y4k_!~rb9jxI9?a!sy&Lx}6w$u6soH*C1B7KfAoE?E1r?5(3%#xKAI| zkll_VmOEBwmEV~gF9LuOA1*Jyd~oL`c&CfP!>YgYW!q=97qLs+V>zPuQ4OsS42&a5 zykgr_@}6@%FvXg!U0!MLx_gEP_=-9-DlVUN4+QGMhSL~z-n2tDy~)?b|H<(DRTkxVtL1A>Z4Gx=zAzCBh961ui>*+?W}C zNhS-M8m^_E78#EQ8HEyaQCJZ_HYL=%4YP^8l znPl=)aZ=aRd?JERousqX&T8YYJr5Geou*2iO`3x@#h+;*+-JQMgD83O`|uKVKBxqU zL*XE008@Z%`_@s7f031sSLa~inT%KT0 zm&eP%z|sqw%|A@iF-fb^cMgA0RPuq{n<8_v#K!$zm=38_v?5R>U?Xd0ztyI*WN0K0 zvfP@AR?scdM?Z8AW(}&;x{eO#n zw!xX0UJEV;jFf43LI^O&txK^`(pPfBiJwz z?S+3|?s)bYbwqN~bCid397rWnfDwO=VW&;{YN<8)8t6V86@YTx+DX@2Vq zPoM9-*}uZNGmqM~ z>B1v4ThK-d=U4kb8AVz>;gYuaahuG@9Ep+QdB@6B*=nQ;xZa)8|I{90 zmj2c?>CZkFJ}ljUzwWfhu&6VVrcQn$+KA^gBC<1^bUb{g8}t`+dgRj-xww0iT&xZ8Al%;dln*G3mW_F;-j<a#MM^V0m&pUV!2jGB7zLDNV8~! zKUi}6Oh!0PtH)ho1v3*49aCdN(x`KPNf=X3vU?VmK?lDZOB-+Akeyy;@&;^yBe5^S zM(};3KRJq`S>)5uGjd*Qj}pdLNV8JU!{1-ZPv5`1PdIdHeod5U$IWFJuVi&MrfdO0 z$cd^?Zr6++{@P)`1f8E(mV1JfQ9S#?&PnP8@Df~oHEW;NE z-{WuIr_YI<&%G6iTXOV5X+LEY>Jd$yLRTIGLVnZ%`Hjie%Kc#SKx&$=VC3r+ruVK> z3|hqY?S=OaN1jCRsiTdwUli=>GnkNNKJfZWiN;}iCE}izhaz#11&abs_$@k(+P?~z ze1EBVBUOIDxzxSQ4dWE*P%6ZUz^_OqlPZ$Co}~Xur4uMs1dVW;KD;;zR1?aCWc5np zJ4iwD`nw)?E>x8@mDSN-WlW5;9$i+w_SfbZG^)f0Cfy@fRxuY0W2@FSZ6at=g*d_Q zJ3m-7FGf5c_x!^|LL3{Gr7WWI6y)V$XF5Wq6<$3rcBjUD`O94#q7~A$5kfjC4M~n` zO9JKXYjoi-=7i)YRU9V#*RV=2qRn0H5oPVq_`vKUpI~)Oy*f@I^}z>mdNrRASzKZ+ zqdG~Vkd=^l7d&q~^1~y}cbyzq7K)?7(b8<~opd_@v?D`_GlAIm3^^}Z@>OkEej1F2??oVU%+%Dlm4huXUM0JUit@1fc_$6bi$9Z|wMVl8duy3}0Ai@*dugQWcTX3QBLCXS{Jc zlUWN*bo!}(@;WMBVShsDSXo)wDKlq{1Q9cRt&h0ayzoRu*kGp;4kYpd-T{=tZVn~F zR~BmLvfBgR=Q7!z$l9u+iT>_v(_L-rwgSnDnfJ+cCDuU1szo}Z6FIg(?qd`Uv5Koq0mz4{~6+m=!GZxo9}s%Ff}5OvC+==+0BW_kbbT53FL~B={A=6Q4sDai zi#}WAE3gruj5dn_zvrG^)XT5VE<_e4uM>bD3p!o;I88|BOwZy?=`m7M{y|lJOFHd7 z;b+x4K>PdYemPO%OT#bYV`C>v<_(VO&q@v3zJ5BNy!v&^LQbBI^6~kTMx_rTlOLPi zm^ZYL9criqH!Pp1oS0eu%l5H?6b;EqBrA{wih1C`Mu4vvHW(TwC35ZzJrN~-7tP8?; z+c*BnH7u%yO&mZ{!p6Y?mKVokinXiTJoywv(CvF?Q}JJxZHI)COKa`;_zIj;gd25_ z3Uv@$7e`CW`Jgpylu@RXPzM^uX&g3HA?Y-(XzfIW9QS>CGMSJsDn!RQwgi~AmEr2r z)=xa6uH8DakjF1lL94Nts+LhmC(v&p$Q*zy+5jx^ZeXT%1bn@xBjCd07Zf2 z=;&DWn&M%*t~3p$n1};2`yCe#8hrZzajL~zx83eDtxo&1oo42eTXqXPf5jgD#_LWM zxhiC{xoG5+`hIqS4H$Sw!EN0WbKI3Vbs6kJv|O$2x$U$LtwF1jxN&%5WCC%J(#%dL zLfP(i1vUx5pnI*WlNf6ykI!|Dc5LHIXRZ)Z1-GtUSgwp2PtXz4?66YVl*TCh zq>|%E^*(v4Kpw|%%5P`67f`~Kbhmrly5hE>f#!vAsN4ouOc-foXY##Ru}9LXNjX|S zezoWDvAr`8`)W-5c8)ikm@Gd}4*$pJh-4*KEpm&X)dLkMA;I=wU>6f8ll^LBm8#rg zO;nWZZUZU`D&I7r{=@-gG%87P5j?n8NJSeNDgBVHX_jY<_kCP!v{o4rxQ!~xM##2s zBWC%nr~E5Pz7~g}r4}CJ0|FNOtmmZvbfbJu2|xb5cExQmIaOC_G0GHe_iFoqknZN~ z?cRMiGq^WT#T0uw&>65_-%wXNjKR41j*suCcV1br`DqmNCBW?jFS3#mjZ6rG$B(ZB z)>i)P8%-8XJ3X;@)ha#jY1Sd+j>Y*=hVP-d)p=6T;5L(d(o`-;yJsPFPzC$o`|Mn; zeNj`>!adxl(Mj*LwPp@YIg>rv9eKQT#S1;pf~4H-n({<2ANjF%={^nly}E?@vREoI z{46-lt{7}PWw9bx0FM54$?FSmNj1soub;=Wb? zK|u*bOE25#Q>#aJEwXWpLBeXM$g+Mh;@mLrF{6VIbb<$i<31nzD)k= zo2=wZlTI}?weANwk7FLc*VD89mi?lKwmR6-=tM!6#zBlOu0!f(U+mM?x-kYHk^;EG@b;v zBHrh=2hn$NNs6Oj~GY^2g@FYgR2l(fpHFq*4lk_JTZ zkJYE0CLpx2Uz8n9Y6G+D)`f)L)Yy2$_ucKpH+*y<$FpwG*>TrYz6|vyf%?%{77q`E zth=ovNvmg^Om;f~z@R8m+b!KwmbO@b@Rhm+a3Rgd92Jrv^V^dm`23#sWXC#4oibQw zOuV^1wKHKNrIAJ+D(Txx0V9W4B*z0vnFhj@pDxqP^0?gZ?b)Q9R_?y2JGw*VSjG(e zC94FjgiiGEc!0-W#u9rWP+~VCQcer__4R8oP z8-qR$Eqxj}PFssTWAG5pdkYK7Zrt?I(Vc`SG|d=P#KE2SS|_R)V9II>j&aL8=pVwC zxs(CjYngwN+%91|e12p4R*e9cluav|0`kgy>^V8%-q%g#IqViFd8L~{%&u^0T;z{vV&2=I=yNRqI{u* z5yE=J+&@W?ib)9A$9cGda1l^)46-~zyj@clW&2Fwp!+&Eh)1%)&Ntz_6lkS|cS1`w z+j}~m69mzaCbE0z5U@Ydyq|$&7BQLs$rG69_HvA6K;5$gaYIh&0tQi?(l+a>qY0&E zy08cL9sFt$p)f9UUE94Mxa8!8?|R?0g+%b{Hexr%f;^Y229qW_ z@tOa5pi#H6zDe^})@IN;LhLoo_!{|>*813F3JMBBPGfIUrwdbOag{>hODSKpJJmJy z-j!R`SB-bPE+YZdJPQMSo(W+TO7j_l$g)P8>-NFl8j&RwX%F8Emm_g9md%RAs1a z58#1x)B}`G(`4W2*77-=94vKKK=-%_J#>H$%Q_?z-!<^6&!qFKaY?|_skK~^I8-l{ zY!Kj-sDyqJG%1oFAZH<|p6nvrquxjm%kr)dX<454SNq+smRfg)r+)G$>?pHd5YQuk z8A{*DT7h6OHcbsAJuT1If0=D{PUsQ%m(d#2ee`w<(4ICfPAGuNiJX2(P6+K87mAO3 z8mz)5wHpwDDR^=wv3cW`XwRvxgNWNDk!Qu_oFKw%?)@kJo$%fP8UyxFzC|-vSFcQA zw41M$<=oMtcvY;%i#r7`dJ ms1l)zuz1zW@@?KWPoT;lc8cEOW&cFL59Xt_23-!M+f;S*lAM|qUzT!jqtWSH<(#JytC_R z9uzA43ex#Cty833z3L)<)R#}<@Wd$W$V~p>7pMk1QvG3-CNivF%@9$|6kG26@7xCy z@)>AFZ>?H^g|FnQ_R8>c~(c;J5`T-Dq4fGbN!;g$1>@IZ63ArhAfN_vzumsTC^=>JM>da z_3Fy)4}3PXH$IWMoOx!{oGWw8sr+$W8KV8q3Y7IFmK&j8)w_W1MRlq}MZ*EQr8zD_SZHfBMXAW>CpdW2QwG!Q4(b{@% zjFGTwk)Bd0RRF0BU>3>aQ=FsqkW-7#_Vr{^yd`C`T@du{vqyt(S;cf3Ncx|wQfz$V zd_s6j9E8luF(>q05S#&SlTW-wb0*f#p&VU(t%d-$obQKuf6D%#$tyRVOp z;3*huvXhNb+q|eLtr(o$lPcB-%+6jml>%FYjH{{zYV?FWeML7XuuUs1mgYy?8K|En zy@4|P9R6G#6dkCh8&)9skX~+MEuTbqj3p0%XCDztr3k~B$?3kNCal36hx3cP&huL+ zT9|?+-{~b~VnPE^FKL5K<@?WDITq57Rxq}>5VhOF(vOl>KXMr}jcP2FK3@l$E>A_1 z+9c?#{513E!7-Pjx;P@HTNWken+j6mkn%WD(nsF-R)SJ8J4rd$I%}r_gJiP$f>t4H zu)=0LBwaAs_DsbFOc|W%U^g_*l-KbfZ!Ids^Zm2f_c5{2UrFgc{OijCs(o*oCD_QG zXT$YHiAhHZ#U(;m;EBHG&_{*lVFO2`Hpcxe@R^-0+Jwr1?D5G3ozl4d7rQXr^)2@% zqi5uekSywFkjh$X1))PfO1mza-LI5xTj{6gtI+Bl=YT(nWu*+*kHiXy@=MFhM{;Dp zmor!iK)hx){xM|3MuemUh6exbPo8s}(*6$1wW~ z;d61-Ill*30H1DH00lj-tTnv>5evWqAl_HZlH2f@>SNIT%>ppSF;|w({r-vxe>hKT zExoYBA%%?gx0R+2b|dUQ?5lodnbD|QbRlQW$R%L^qhNC<8NYOu3bwo{7RQk%)8Mu; zS~sR|4~e1Pu?2t_m!_be@tFe??C!*<8f<}9MkC6^4J`uB0w|OpCxnzP@#?(X=z#ft za)MVJ53$9G}~2QyT~snj2|w;O0NPL%2%MUF9Lu7eNWU9$=YxH zG$rh>-s;5h3zsrme=xGQc$}56@nPowgdsG}Ev8tf{Z;f(oBeKQ_0=du9$hp4Zx#TN z>A5Zp!(Y#-gFBI@pDS4Qqlh6koSL^Q$J+samiL=(1TP8iw94}9@k(-Sxk|yZBx@Wr zj7h{0gc^nlAkN^0B{Kjgan3MQ@Q=R8foF=?`R3E*CRKnK3eU!O;d@GQSW#gi7{y{U zRcgrdY3YsJWgqre#NGV7yi!i1j+5_|6+@3%-fLJ{72#5g%t=AzJ@JTb(!Omfo35Jv zZrRCrrlOcl=+Woi4eS<;5mDNTpku%Z&=A$K91-c*m_kw3j4aNC19e)(*HP*Go#_74`>v|%`DLZOL|D=H2 zdWhx!tze@+(X=5>*bzSFM=<>zrAv7E>oz{wegv4kc8y4I_vh&AU9MF%bzKv{7R;u6 z!E7{Vn$mf0*mPn*jGUZ&x2Srd{GZSa8JNLwWp9`9hk0-NxVhJoxXBJakQm`QEiP?i zjMF^Fej!a#WL2r(JZF5?94qq~Jti9CG#9S;xmENzixy(#l0R=aJC|U}N;O~ivbZ4W z6nH}HBkP70f!yk&)0|KJE^Nde%df$}MN%})cuiba4{@-$Cf>?uNuHLeOs$LPa7BskAw zpt>#wqgvTqE2-mCV_M^5efE!{LjL_I4>c12ZQ(PK1khV=frE&_{u297nvp5yi9)Q$Wpi`KrMc?*z+sDwuER!pj+DtJOas7vGE$!3 zendcBCB1wnJCg{TH;#@!LrjaI0pBx^zxWvi6zi<00a3m=cUOv$?q)kWm6I_!_WnyNvEH8tHO|B+}YVC6LYOZ zI{y|a`e6KlEV};ea6p=M{O=rDD#)hn;%Lq;4=rbZp;Z+VR*S=WUAVV2;Y9`D`$Sa_ z{aMjwwa=vR6e5?7X#T)E1zIpKl|s+_X#W{jkZiJdxNX}>X^Jm=qA0rKa?o;r7qEt4 zdp_a&@89>|rZ_(RG^PB?;|bgrmWM0t9lM+E@QGcZ{6t?2dRr@qTo@mHlZ}7bB7)vl zu-RMQcEn@@Ba541!R2msHI4XJ;~zHmgV~`=FQ;{`QWwmtY_7xVmClkp(C05^P3Xsx zqJ=n1ru8&Nh~)KN&l*bP-^lA;z?L4+Op44HD6qZtRCK%=Sg#s9&7W&uRvn$aE(>xf za1(Ljz)I!M8VOH%Dr}IB-be|UuWy~R2L4@gZ=II?Rn(NKXb?wppAOSG8wB)TZuuS1 zMugRNWxxz3vvs5(F6qo)`NdehbjMV7(-@t?rU=IaH_KU4BN775NA-Ek34CD|OF_A= zD-W+>l|wP$B#*LWp^c+Ls><=y2;`FZ>z*7Pj{<-8heqV54_heps8h`g*fV)D-LP)FasNN+-a0PIb!{8o7KkVz0xB_tfJli*!ytknj)Z{H zAl==)kd_z`rAv{{p&NvuV?dgr8G7g(^1WDVueG1|{hqzo{`dPEh2QVKulu~t^Ei)a zW{VQEJ(77wT?K-5<5nO8PhTQ!BMM-izN}f|TFnYdwTAlPa@3wA3)r{j1viDvBa(%7 zbsxNQ)URH_a~29v<@D%?Rht^oywy})skZiE_+M8C%O6+AQg~3BdOJOSSSgQKQFR#Y zTm8Hl{-kKir(-+?{Hj`4>d!DA+mdNWVXdLG?~M}$yNQHsEEK21nq~Ku>GJX?V(QbY zGRqcfbuk)~!q`IJQUg!c>*#pvy4YeQ4@#tey=JF}+THkOcXxLSl^86FT}DnUZ8$~T zS4io5%E(}j3RSuEtOiziqsD%l0~vlhJ}&O_;e2N_OL_08RrQ+C4X(CU{^bjN3meT} z(Go@#y(6U}?l02zcej#{*T-j|>Bv(>FmOc_R?}V3z?^4FIgW!&MD&o?sd&u>$}9|> z1Nz0hY2_}hvEEZw(<@I_Ph`eBg^sVBNqeIn1U{!eUEz+GvpQ{BmEHHvc%tuSb~?#V z>7%s&u)KJmREuqRii+dKOLkCWmS;YUv;&=$tH0LB{}!9|;uafGyc zLs)$nefZT^3vdasU4|@j_9wRN_I`H04pHA3quJ#V8v!McalGNPkiuge@X_eUo1; z-4E_lze}2@QEJedQTIvl?M2>iznigDu64HDOI{z%mH!7ysfD}HBNg8%tEm}nxNi_S z{W^BKQT~FJkmX}pK;#RmNHQrw)29>>VmqX;oSe=z%)y2MOPw)(PUgc>LvwYkHPfJ75`&CX*K-RqG;x9=@-} ze1_ddb9rqMR&TXXtsz=zVXd38`&WoXdc%cQ9#$`X56MkWXI^t(%`3+OKf+?+^@=7w zi)q+L)_VdrDKs_>mzopP~Hnw`c> zGcc#dpi7e1c3Vz+u+dDZQxd@_JqDz3hOH3qn%eCSwgBRp6u%~7v6|Z3rpLu7sCf-b z_)XAb17F@4Nu5f&G|`jIrr;hi$YBHiXC?7U^ym&sESY+|fu3}{FE?Xqc(TGawL4LG z_%J~aJ2G&IZrR@%Vb`R8YyWV(5qf21c1Wi3wB_sQytG8WO#8WCzY>HXBh#p}d`iP| z4lhGM=mJY#+z8}1E^CcZjDLJb2tFETBhWF`Xqquvq%W{{$8M!(MtR^X{lefF#c?Or zDE>b7@YC2{-hNl3^7@&sY$|@bTWx6(Q!tD7##*PvZ13$k1F$tK8A+D7)%L>wrKY{w z(w>C|*Zlfpkz8wKGY;7qo;tC*SZ|I34r@eH6G47;7-uOdFH^e^7!>r*wd3}5Q*InI zv=J0jLh6>e*L;{9stm!>sk7r%q_0ypTPN?j=^a}r@X(Csb`B` z@a+M0dxvp;98yvGyXW+9+?`a9Fia+;n`WS^`fN%GH!PT{r7F%Cj-)HfFp6KWkVMM( zv|U!KY3Qxe6LVCKcWHjFM9n=A0k3ojLw*dGqZw58CItfbcjkt2p^|P1fp9_I;Kk4R z(4Sv+Tcy2M7;|M#4V2`iK$wYxjsChJ+l*5)1X1^3aR?T$>P8>#FT6YRq;+J^Oq>|0xSbjP4UXXK+= z{V%>Vm8*25&zZrmrOC^^c_eYrIRrST9@AxLD;Uv(=^nMwMve)t+FeEA-Cl`eEk65& z*T<6wbW|B_S?m`RJ0twPPlK>2FEth3fNroDG~BK+Lc^P zK0mHMhY^{oR@mr{1zf%qbsu1p1_8CgEaT*1C|xb(gk z1`?u<{V1(yFxVNMU2>%*!|ZIknR)IX(Zp-4ulmv-VKjFZk8DOdnKj(iHFsjKbvq5F z-n#cKcP{lf-Q?|R6Ac0CXtV_hSv*~sXQtv#LDE?nb^2OAMH8P-zOS8W=_GL}5cBHS zkEeH;*z(Q5(BtvuMyyY`8v)8*DQNhJsWd8cY7#3ON z?Xi@dIu=@##fi|&4$F^8S-8>jT(Uc8(5U?d+&raIj;IlQC^vsIiwHd;@D2YIk}otS zz^g1D&m`rhK=wwnM#?Qy4CJ_n_+gXF1|*dOMYdykvRSHDo-lOihVGOY>n#<~hJq~c zy9nDX6$LUaTV$cv0&@H^;%VqmW37?apIxkvSHSOG^Q8@TgmMnraB;?|XIIpsl_r2G zeavQiDRSoBKHkZhj|i z1WBXY2)JjL7dX*q&;aRMyQ9%X6Yb?m=iAZsn30`(7XbE{wAj%b_nmJ3ol4=7Eh(x8 z-4^ZA?4meKq-Dn!*8MzdPc~tZjgv1*atM_7+0OpDbGgs*dv$)VaYYnD2irx932_vN#{9XEd+6*OrIP9 zpRzRUreC`%g};(`vetmbxq5<7n7tOA#zG|MNLjF&R*R4r2J=VdW%;~<%f(Mia){Y8 zY{(iU#~7pXZ{Z_u=D*6zV`BHIQLQ^LNEJQA^C$~vVh*xmMcnyd?n;F=6+FHk)7^)HA^mrD**B5MvS(d&DmEs&F_m!1ba!7oitttf+Za|EmPg}Xtp7XT|$x~K) z|8~9EV>2!Fkl7DxYHap{%@l-Ad8ERK-PsTPnPR>F5*^^Q;59F*W;TD6!~E*Okz-<7aVy6@pg9+tDm(} z6k(LEm*u<$A4pwfv!7s4Et2Q_bok#WC|!$8!$uI?*_@?-4d2Saod&H|*R~c4r%i)+$rq0itffL!O z-AVoN#73x+Y`HQW(rbYydGwb9%Kq>42`MI|)2Aj-@0rt;q|d-T2zt8P@AUH;<&S93 zAvI$r`^n^mrwT;Rrla=TDr|u*ru({#+-z<^L3yN{5UXc7$G+EG82|krJ-4X%MnJBU zaSa#8vYFm87*ntvYy~9}M1n|dmzitT%jxl0U?;6qjj{RYvGFzIN*Q8%%)G!KW%bG; zBhhIrJyEXSJ(br_qu}5N_O@I_&C1B5oZr4iN(=0)?b+O4-q5jpWhDmTDi_r=HO$=e zJy1b!+Elw3>}T6lnFui5xozqAp1^aq;gzu4N_xN=DXiU7B*DsUr$6ix%Y~-J$aq~T zg4yNFTqZ>8taU&p16jtRCC;A4S6)*;gTT`uhj#jI9wi698}ritCU8wpsbRTs%3s2$ zQI|)Q^{XM1)4?*>RCnnYT1`~>we?IC1Jg~(;WW1{G_VbMJPwwjE{aJsoJlurwkuxV zA$Xc;norBe=@%g|+iuuH_FDeYs4r`x?=5;F#fLauav37ms!fS8B%CBwJ6qf$0iIZC zx7q4Cf}kH5K8o$kFWvkQovaGB?W|F6p!3|r_rVW!!dCn_hGLC__~La# znUC7juH7#9FdCx7{_M6dgep~U>zl-ZtMSvt&udFmC? zuh1)0W-y!g9o=QhrFkQ|c8#jaE~a%aE9-1&*MMfscc`0M%=~9d!W&Qhco0nnuXMv3 zTsJYX$eQ&ZyAuv^{+$VVq3t}Px(pu4q_hXHWl}eFJS4`X^WOWn z_ruc0bsHfjYQMUd?6qJ(3at*LuimJup71(eyGOhTnD3#&cFQ|Vlg{2K_sK}iCpLPx z2LV0@NjaeEA_oS6!m39Y*j;4FXK8I~9|NDF<=q6-t#Glk!`+%{@}RV~GA}ugO>h1O z$e8s>9jAI337F+k-TbmfukkUjx2J1}=ll#_j=5it{tzuNLU2#OPYMFjH4*_YC;}qio=;gTW~?v=IGruu&|_tZ z>N%X3(jb$2^Hn)IdL$2$S$020QQV8Nt^Ct_cg1JBln@!Ks}qr(OUfI1LWnP6DsO@9 zmc4IBWD+sS%$`hdrAy|f?Uvs{@HKjJ8Zkzw*>qD2HBq7*?^j~)+(1)?k&3p+#~Hvw zL26-Xpx5-<$P%ipS)IJISnKLrJCZ#XqQp0i31=e}%8^MUTg5C=D|#$a=8ClfQKcrH zD`^5!9tbUW1tRXXkGIjct`q6qk+zlO>o!b{<@1#d5jUReQd7NoyYx;V{Jwh0O7rOt zHaNAPAj53hN*mX7tU1jRhO{$tBqe=~A#gTiZWbTzvT)tAgkoVNRw>Y9<~P8Y7~y4k zhwD%Zn|`(UzB;WA;rfpjik?cRe|-V>E*~|C(N?~=PRY0I(O=Ax7FWPP;p1=(q5Rl_ zQjSG*m9ZL)CLV`!5BiIV{0<0fjC?uK`%#g1&z%hM1>LpNqEM#kvDLgEX6?afxe(vx zzE-N@#%Z{XX>VBz96Mfsu($(LU-4!BrZ4=CE6O0ysr9q9c4zt)BLo+8ieVA!dnyXu zLXydF+ynQ!o!K%l6_2ycp|h*Qbz6@uLJtJfj6*+}yDD)VcW1!3Y6tRb_s2q2nRB=D ztJgaUcfz)*tSac6TGoPSJvM*VjMN^^hLoM39aBvSz~_PKhkRWkEm{*uNB-@p|6S{y zQqR~M9h|n|eSRDnDdT#Rt7h}LFmMa8ru5P6V{syHmtQYy zbDnR-n)ru;+|0P=Yqhw?tYUMWo$6Q^aXQr71g`4#tHe&&SnQ!h6bU!#%#{ zsHV|y3+`2#xO4X@mQ~(Z?g&mx^sVfaW49EZDJlA1!kPOUq(y}K6M7me9w0f)g!cs6 z4BR3VqV)`k^FxKY-r^^U*xhZ0-82iA<<6GBxg`=YcYh=paJKNF3s~59w*f_97r|p} zkOa({$y;AiKlkodOE#MhSp>|<;JG$wgMJaiu(P-QZC}34W{_Sc`23tfRZr=PgU2X> z!G2aL*RANDPj}F#tIu36J-C_ zIsbUuCq|(IPydN&t}vp+oc1jLL6q5x^Nq;kv4}wV!ulFjYp!m%_pk~w3SJwm>NfC3 zI<20GW+O;r6bmXKqJ4kdUjF!?{yb4vf4f!etnUJ7p%%uIWAs;z<-o151(1oh!Xe2L zQnj-m**+^l$%knXU;4#&BE)eEd@Me8?kN_g@UBV^oE;U9(d*}UaQg=4x(U>0CfH{s z?PbzV@T*Tl(NxXQT`rFqLa7baif&Q^EjcYfK>3@4+d%q~{=(dbWrNBXLeiUfD6-jb zrN!s!XRvug$_cMMmE8%a=CnDS3Cx(5M6>72|`3c6k(ZfoJf>o2idvh0b1_D0*I&&I)^Ok5feFd*)ciwouH37VM5mSCTs zCS3ni#xcKJ%^#pqBN4ys*_id+J)HGcc`{eI1WPdA7xl$!^^+#Bq0%yUz2(Ydm62m- z*c-1g;kUckXCk74BnlDx;M8)MAqqr4%PgEsug~xIc`6NL?)j*?z2hf^ogW$%dma$b z+=*@U@kWhhG|G)KmcpAaMatt@xG6sBe1%=_&vCaSNL<%qXNd}cw6sr}XS2Ed0)@9p2>n+>PW+{8hYuS z$C`QXxz3<6%}R#$^(>LWRAxjMITg_HNN%!fJ7&G$bn??AsP%(mkt_J*Rh)JM$)v*H zxp_m*-u?u~Tv775MNNZhhL4#kQofGDFA+xd>w6)q6eE-`Q(auPHIr!XYt9*97sF{a zakKcuRMB8ob=*pM$dV}&dPEZVkYAe%y5@V|%?5aBlzuJ1=lP#j7dCgDf_VcYNBVRNm@66Q6qU`m6br=X3x9Rp$voGhNJW2!yu1}p^4#?R zAO=N)h07C75T=|Wx;LP7uMA5tRTz+akFY!zZjI=tMciRn1&}FKM*3cP{pnf@YxXEW z9ScS{tFfOgz%W6zLzf9Ivi-7$23a;AoK`;NRlOA}&JMod4%RYqa&kVfj&=#w z%1;Kdyzv3I6tp;HG~exMWLIS=@|TCfpo=%R8ZUHt z7a`caKLt0=_pe1h7{i&XuQg8Xvm?GJ8GAc?CWGyXuo+;p$zYwYV3EnG3>X6iztd)orcZW#Z6bs+|7daCHxL@K){j$euwQxQa(TxlU6{7u|$WQ{rV~oaroWDLrm9*kFR{_DL;S6QW)xA zh$R0Xh@=@yl-0e-8rN%TPc`!Ej#fggH9MzhNgbyfe9Bz5^g5wFl;{zJ{?{bh`mHeQ z5rB9nBw1(u0>|+Aqm0l6GONCw%_ic-3W4U5Dxq`8Cax_rRVoay)uYl@$8DN!36>W? zL|h8HW4IY5?mFWBv<(ZS@MSw0*kalCx55)<@F*g$VZPzRE!2{|3bGr#kK zUH#Yk4CYr3Jnxl89huy^hd{zKF3b1PS_O>~Zp(6&n25KY#0*y9FH#;HJ)r!|E4N7e zYj41q7@{O6C~XTGJzP50y59Z3`>gfn*Zm$E#beM&2w6Mkcpf>&y5^p;ZDbaCwx%zs z%i}X(2h}81^{SMdXw}SyA@$3Mm7YnBu^d%7c3IK*?(Ce7%I2BMnGXjoY&V`iuyWA8 zzU7}-*_Pz?txf8d!=R!_nE-_t<#+WCa(X4Fc?4}z4RVHzSb@=NP?@8dXYrTY4}7IK zlaIv0r85MITogm!&X==)_a%80CpTFR`4coXdb$~5Kovn32`xS%6>bgh$_ZYrNx zUx`X{NN;w8XatYFzNeDm^K63F@an%V?e4x!+9wSN0raAB?Q z<+45I;^4H!L}%@uiQHMb<1f0vMgz0f?rl6j6(>ogeTeZ`;z1Tged^pvKLtDjW@ z7{T4cif=fZ@CK#o?3J0a?S8ZsoBWLoJFkOwyqv(q)>CT%876|q# zTO=p%TD>Xtnd#0up3%Fep$cr;cd7aU=7$r65OTEkoR*I=@12&4V{gySX*#q;52Se4 zXzRri(&6rs?nUctZIh+qOGBmnNRyA0d|4!%YRq(1YP{5WGKhE$^dAJmoc3DyiV<0* zam0J^S4@BYtEO6C4;rC>lK@t$3<^4fsJ6|{A1JswF;QuL3|uvKT%e#+yI80=LJ^6f zso_E$be~(ceIX|eP+YrwOS)v>4_AN{%#R40FFn#*{_WBgi_@dMwKB2oHpVqBZyYQ@ zEM7HkL%BcHPfm_5yC*@gI8u%FZ)Km)wipyNG|buFL^Ci7K|Fm!Xl zNUxc1Q}B0pYaO$3ZLJR*9nvdg&*j~LxS49INV~GzXW_~l@+?C6&P#=fA1uuEmbZkz zqOVz7n^PQJj8gd8)_nVJT}1PIwoB=!jsWjb9@eQFF(|EbG2j`Ss3ZB_J0Y&a`(M?+t!!2jAn&=8 z=+agQWN4wJ7|AYW*;!>ODlshJa(G~}`2MHe3}n~b)Alu*O&}{x`*0ASYOfUEV;~~2 zQgU@*Yzak+WEl_&R=MfeJ1D`({Y#C|_BOT)0n^heGYF+jnlXt-`p^0stopU`-M2#s zQurwll9cGuzV?yN-@YV;v-NfW;WpbZYHpf+mZ!D7j>vA-#O+ENa~zT`tU%5sBNFd! zE9;cD4b$q0l?H{GlXk`xHsh8wF>`^B3Oww3$;k#D$RV69EKFXlGu^M?;rw&u{j6Ss zj`>RwF6Q<9RRF5RWdxAHgyD0s#!03ZYcezr>Gb4Peo)B0d?rPqc zs)3#z&hbvnB0#r4bx?OOYVCcD=9q*z%@VLAyax$~I%T7afBu<&OE$a1ak(@@ClXQq z##twhn=;}PnV4W@F^d7P=+6DxbWh;xmq>l76(K-*FtOAZr@hWJUA%eRnr>bd+^dggAA4<5g#v~ zU*_ZUFrLE(o)j}>5%}6K$^al;4l*Oc8F3$PQVp9D@mjfk|4B;#HEppQ=FoBIodA$ zg{(E3*=rdn)8%gu5}D1mN>lSLLl!fk+zf?yyjeekk}03^wlflGeRtGj;q&^O&BbV| zc{oRHR>a)=J*RHFgk^gh7p!EVutRu>hQQx6MK5&hG2t`mSt<2UGjoG0hcQ=fFw%Y0 zq8bPdBPpQ8u&S(*nhebRs!|j)^`*b=v`sRo#P0MmX;&p&FIfEQ6DJ3$OLF-RvstK@ z98#R~-xvp`_3}bNUUs1Be2NmWSn3JJ1afF46O{JzL*M@_c1y&^E(5G-BR?(%_avan zSfdUHR{e5y*J^=wyobq(`G^f9<9Y7o=*UWoUV#78KKSX2idL2L6m$E}G}yp2aMaA@ z)mI1BQ^pp-)-oty{m}Go=|^sE7r3%-+&U2WZ|>y(o4!c*e%}vdQGD66J9e9dc>xy6 zFP3nG&&rjFDs9x^AUdcircC?hb z7C>dyCf6OS<2d-%33w7S@Bfn+8?nSyclcd487fNS4R~>A;3}Mylu8Zg_d~s(7}UJh z?URdndIT7ornDkQi;Y=UV?-KP$cIVo;Nf8PXp{CzA_U?FQiVBNs?#*)3uKS(2Y0*!s z)(1#=qO~h}^icuDcK^2vQHAe6U5FA@?#eUc{^>$gz(T*Zxw+XYkJmj1rGHS%sqNzC z-%qIfBY#DKivHc+tg6RAO1+c?#vHODku>xnT+98sSrrT43Vrsa0)Ty=<1>RxjyEDu=iX zc9oH4>^)XgDIEyZ1U3(fFxw8Frys*JDdiuV=?=TVB=kFfi+X2uK$ZKivMKg^+1&fH zY_eRG%|ON}r@HA6ghJ8E&vrqzj8uXN*52`{=&+||aAfB(>M8^zJ3+qrr5fA4N=z{Ili8)pv6I{(g@}^?}4oj;FcDeSY9M^kjw@eKDymHJ`}q>!*sBiKfjgkG?Wm#Q)Ou{h|%}n0w}fg}TPDS;9c2orL*wyhjdUZ+&Kp z51hW!#@13;(GUyrM#WF6TriBF2e=6~S*INy8)RAS%>q`$mXBuDqlAc}_p;Npj=fLf zRUdt3Z86`T+RTn1BDf$_A;%26=a=t{^F zQ*v1(>FG(YE(d7IyZqBG2`R1pV8lR0#Qp)Z%6DK9#~iM5Q*?Toy8|*HS(rtcdOcw& zJNjzbX{t-JZhE@*;Sz>nH-pRZF6qg2K-kS76+?71arVW4=3md>5MN6x4PbxYy7Enz8@FR*{X0Ul&ZOY?czu>IG3 z`xgh;NzZg~6N>pHfemI!YLgM#AJGrfXt~1x0P6Cs7TGczwq(#2KC+wy>&{4P`HWlQ z_nsI8iC185C3`gTCrZO!8}Q`6GGzy92bf z*xY8&uZHGlNv;d`j)6`kV(FxbrfGlFIC-~5m3;HJFTx&&o0uIxtS7~`=12P*!O1wy z)YBEFzJOV5U5>q6+r@TAcTmBrOZz6v7w!Glquon(?p7*hDs}c`m$qTVcy?<~OkUQ) z0DiNd|JF*q`wtC?UGNrA2=KpM_R0f(O$voJWy1O)isP@8t+OiiDMlYZ^W??y{4aJ*?HRK*X2GcdYm7KrAw>@+zY$gDiuq-p z!fE~u521Oxx!9@s4I9NCoZx#$D(BW=N$Wr*D(l7}jE(l~99u>0FVMg(KHK%-U7R*Qos zH(RkWijOGku9#QNygOGds7|5s^jq@&=ms6M6V;(WdBG}Vvbs@jN@*8TJU_GBuhQ6_ zdxZ^Vf#ObkH`GGyCN#c&wvvmUIEbn};MH6H|H{*V+#sf(DUIo!mKqUa7t41CCw^n& zmN=#NrwBqS;`@x$BF*3DD7lD#WzK$xI}BnX77x^D&8z|PT1Kcq=%MQ#YqY9%=Kl}u zp`b#4ilk33{SKd`p0vd0VB@FUTFjyYk98d)JUm(^ov_@IST3$1G;9Y)Q(^8W)-Y9S zUBTO#d8ksFpQZKk>&2482@rM{{k)bWAVnAbQ0rvU3<#tv2W(d1R#B7Q6wFh_+6W~T z6=U#IV>?(Jb{gfmZtv9hf^rlPIc`&0U)Hkk=5^W|RLPjSu0)jKY^M=_yAFzGzBqZG zY2C5h!eFFrno5nWzhwV;S(bmo0H4O;Q&bX(3|QKmMr+#1^t9)yXxjRV=l}hhB}I%L z=-)mb=q#d=t*Q7dOrn)lLu0mRcYum1VrNp&eZGNfvY;N^+PUoGvy~$+FnUA|F^_eh zw=Cj~xznSVnx9bIuIKK}%6Ab+7`gW{x|!K{O-Yv}Q0eIlhA`k$KwIyEX!qJiNtySY z95NEEzNzIRg*j8bHPaDH@5pXOe*DCSalPyBTz%or;CDz7l=ha~5Tu(05|a7JMBH^v z4|$zsEXw7f7xYzrE7WHG@L8jJV;Ng!y2hz~f(!D_bzW&32zkvT1WVqF~_6ndLfqui0idtFcYX_J|Rq4(W62+%S<<=tw-a7$<_@3s5 z8sMpfvX=WgXO+-j*`Gg*ut!%>%r=yJ>F;37HkyuK~fGtPiUfMRxFW<6waWS z-S_MBXta!Vnsi;ngw+EagCkJkRS(dnlU?R0-?07L1>VKUdYJX9Ts%;<4P@ZF7~$V2 zN5%5AzAMnSlnA&fvyYNV1G~8uuE!%luKpQyTPp0nVa-O8{0&b|*7DxNW{vG5H0zKTcp9Q zEyP!#yKh6GDMtA)L`QRY5*M5WakN7ZJw?1>q@D9R>W$rdkD?fTD^WS>I-o*q)~jQl zj<*$xRPYUnLpJj{1Y^~GJuu%p3j{?=hg7oOCc}`SWbNhHz zlE#Q}CorV5X#dPaP|1TH?xSW{De&6MN%-VkGe@%zb{57Xg0T)T>z_NP8{T5LbVsS5 zkC(%czrf~Vl)IH$|AJ+(Z^thjsO)xrdVv0k52+bdCH`CU`IHfohhLPNCklWI#mG!v zZ^$jGDft_h65n;`l8@gC<4(S?F|hi!wet>`19|7mUyttC>mz-5#|PmH!@{KBjUvB& z4>L5PI1=gVTB%d}oenucDtI;f!j&t9pHb6hR&vRY41XgGpJ4XkU#48mDnBR~gc)5i zZTPK3v;Q>Znw2n|&q`jwS5btSe`9vcgv;8FWRV@GkrnJ+<6Umg^o+<58X*}H_YB^b zq~1clQE?63ygA5|xqSbl{>eGEmLMk0SZ(oiKzm|Th|R$N8J#Yvfow$sj@lT{V1Us0 zAL3v99$de1o#A80f~J@DOK9^o%4Y;JEOZ(qy$?SK`7(w+Y@_%32ar z`+%z4=~*6B+EubA4~TtA?9n1WRlCM^e%=W6DsfzI;k2Z+J^FSj0%wAZu`LO#a1xfN zk0ZV&PFS;()tWwedKejnI~2jZvGzLGG=BLYEu8u(BBTt}B?k`=4Nz788T3c?WWy#s zkl%Tp$LgF8qC1+SJt{rs;+;KII;pSgEe9OcFL|7pM$U(lv8=%LaQQ<5DKAbcjypN4 zE!0qyb({Y4@@E+ND4dFY&7$ZAE1+QQM5S%bt>6%QCx=Jxpg`9hMOnM_Vgk-;cIs>_ zQQ~pBs-vU5m#vZ)Q$!n_#@^vQfN34ovH5vz;(XS&dHy(|=G(453m`@ zEG>GFKU(TTgF30pJ5Qx$`2qf@$;8}wcNb^Tb(!-N5*TjogBVXbb4!^@O;1kXRPPD> zhXCWnEF<^>nb0d-L>wq$Il9)n2C}%|{cq0k1z}E{o|XNbF1+rVFFke{A>E1hw@DY8 zhV`M)?Oy8baTy&)j%ED7-pYlssn~s{9{O;Sj3^vdSDRPZmh$OyYVqoLYN=Bb{gF<< zM!j53Lm`}S{K_{tK4d{$6^}j{f8Lp+YHiT#9~hY*$c5f3k9#L`MuVM8cJ>4zVzVCh zTLcux49FPkTTuJnpyP<9KDcZbu4_)tTJMlP>VAO{B|p4cbnHHNr0PdzR07P%XfflV zwrYywgMU8P2Ahl5e{@*mYJ0?TcHlT)yHTAz?$z2A7c~aaTUI^g|1O>MduC})`o=?O}yp3 zL{J4M9R*)HL2U4`E$^xAx{{L8JQJ6z42bp9sUALmT%sME2JJV7?!<1dsMJ?^04zyk zt93H6)qB%pv{U;X-NE+4$jkqnfb(9JRFyF6H#P2KD?^|Hk5Xld!Z5uMgnMATweIdHPcyoX!1hc?}N5E2s6 zWf^M^OiET$Yohj0c23T4qzFh7`i5sk=Q&OerL(qqd|^ zBzj!Z`Tg0%;7SI?x0W;H(gsafCZ)A!y<#E1Da21CdRX4xO<-h(Gd0;mytzznb14Mn zwqXK^)1E}*MtZ(!e=z2)_9)qDZ<50Lw=8;K`7*SHx#6BMJ_7K%_4i$BCSuAKZQri* zVEreCj&JVkm3hXP!kv4t2~*dz@QnXD4TZm-h9hLTbuydxeuOuh_gDt{lS9Zne>VCfqvgc;u_C&qd4%IBYaxr|?J_2S(^&W0yaY%!6k0aiw0wD(iMASA3AIq(1eos<2Rj@3lNO(J9yIXGiDi+@KEQRifw{FdQAew`Heth_M1$e!X#8Dk z$bb=2eYl4cpj624iuup&XoAUH6)Lo)ZQLb4ct)@y;w?Eu>%CVTQY zVQ>fynV9lbKlz~9J?Wv>RhASZJY&zbjl4uPlMj)Fj@6Ehb)%iT&GirKA1B_(Rz-Uxc*vJn)gdRQOS8L{eb>I*WTZQ zi$}s5)Meh1_+E^)c0g+Nb$NN&Zo8eu`9c3bgj7Kxwz}A&9XP3LkJ|utaeZj`bCpW> zKVFZ9^ZFz2&E?T;`QgsIs$;F&1ecAIp1#v|8j=)rxUD`o(Wzb^=sdNY6nygr!okBM zw+n^ZY58SIp0%^$a}e-s$&adaVrqPxv@Pm3r{UK~)URmOT%mt?^m9h~>Ms$s%csPQCcBS^ zUBOL5O&`!3sMSj%A1lwbKJYl%T?4)*@^tUBaNp3ACRfX(TC7rkl~R$>|Ct2)t7!zSup%4`FQ9#ZVt81&Tn;#WdVBrcxdbLfw04mnx(DCc?8R|QlSb%g`l)E z$MxL-0qeV-UZN+=0X%_iGy|=Pw_RM0Dk6z>73=R$j=vVge1hu$H{fa^6*{X>k(1Al z6KAwB4CApr=>fi~@}Y~{go`~Gx*@K~{VqmS?0}v|NZ4KDfZ{x*rne4tj!<9GiEgjF z&e?gdm@pXHT4T7E{)wlZ1tdyNPyLT6n%Es&)5R=`YByhua$C@m`PfSU{w5Zww9+ zaN8vg4o#y)c!b4X7)`3)xDoM3*704wt00~2JXzp8e4F3)33x>MLM3Jjww% zcOj#ljPkJ$;jX;~vDAw?-VFcEOQ{X}$B!len^zulFV}Q$gVwyhT&1nX{kjj(pBH-^ zqo>xZBp&&T)FffHa~3=N&o6JV-@f`zYWk#A_6r0`^J?%Xm#-u{%{>}cB{KaQ#O{gP zG}?B$Wh=Vwv&`1d93_=vN=E6P#JzFB&o6Q+{W4#92d9ndAv6hay5g4X@AAObposh6YPr z4e;vukx|)CnGO=s z#zy?%poHNM52K|22$rV1ev=B6Fj|r1!=b$5`74l`D#q9z)Nz4X8a7Pzs9~<9Q;j&0 zJ6su{-_m-vr(*AAkgZ(Xg&9Ju^T=*a2GKS0KH)ImSpdv12h+SF7oLx<{jX zn3)>>sFm8js|q>%73{A?XxKF1 zhg1x*{B#c&qG#D2ak8+$<=2N~619saSrq$6?pJ5&e9yss2K>*=&MVmFo5pX8L9T%4 zhk)qC*PbSR0-{-_$9nx}SLE_f8v68-YQ^Cp0Z5ntepn1DF=>sSbECJ)$qVhP>HeOJ zEHe6C9~jxjmznru&tR*%1Lv8Y_UiKo1h)m&eB8p%R5xA9(-?y;Dd4qfylkjNTZSmY*nY`0Iq<#dRv4FgLV3+)$s>?RzC$)UplNBvF> zu6jd(EF5Os0fCOYlzqWMK7jlK)DfWG$}#2y{;DXkCCo4LOUT+_5XyRF{H z%8Q9;5|3emkU(tR=UNw`L)qq;2O@_g+p%Hqn~u$mKS?L}TIR-S)$s&ZM(@-{ntPg; z*KRS2h@tfJs!25%?i4Uvl3Dl#T3C8aY6Vdrlg;($tvxvkC0j+&8{Og)brsky*`ktQ zy!?y^YP9vUmk`qGy35d`)yQJ|BhQw(^3&_~pXp+*;}ciJaN~XZ%&j6GyY%5MEFc-W zlIKdYDZ__c#w6rL&Cf^X$Si_5w^ zDef*>Tdao?d-f97jXuL$Xzkm%^xVyNDXSr5?o&=OwVlTEhk}Ppdg>B1m6LtfEBD3Y zrMt9pCCC=(c6;%i;cm!#cIUYfY%ggAw@)j~Bh3?0hM{Vw!nccCaD#*Mq{Zopfng)V zccIRv?lT(%w+@(}ro{v<>2w)thE{waHq~dBN-l$lj?vT{h)HTJUWqi9w^&%6lNZ*< zJ_{8_zFx?gfD2t+Tlca#MC3_F4j(1tEOdXrZa+Rz9S7}VSl2vubEZrRtUXm4uX0|G ziADEDm^IdAZc6@9wcd}ATu1CqpCK0)C|0~(;#j32wck8ehj4aXGpUAl3EsCpUiJCo zs=59jF7#D$pD4`^Do!}ygxUf6e8I3|u?ple5Puj~0x@7mW8?FK^j|=&QWXl9uvR<2 zT)BHirzajZe9q#CvTBQem3-Q^<-_>(!x$KJzm0B@RXEopcCYRA(RpuE{v>(WXM>w= z{F%%XAgc*EsfZ$ene;%h6vsO-hp#y0-DSSRk zpp8s*=BYjqX~0a)=FvSM1b~S-b0M1TK6cR0tC0nB3oGgr5yW$|vy-V*P}@{6yNb_Mb{| z`FV|C6hkH!^x|RTUW3@}OzAFqD^ahlhQ<6bli7IVMJL(r?j4$Da)N(8#>bii>n}&aYD?PxmDVDrF=KR?ZNBs zfX!{2hAz@7-yXdPHS@@^%9I z+j6&da+#)tYuj0j5?u#N{n$GuMC`X@9$U`s)1izTocqFKM{lL3>KoRbamg_JSm2QCh!5;+FBc@_3=^CJ8&RdS?7pZHEqQzuE>9?PPG^ z>{SYHIpMo_P6pFka#@(S^9&v3aa)PG2}8P}NRm>hd2nBKSouyc7uk*d7j3I3N0Pk} zPRXQy6p2W_gh~=bAh*!{btaG&uMf{clY(#yb}R);aEaR1%E7_C z)B?d>hcf8;2!NG`11^x(onrx%Oe1K9IV|%9%E*88Fc| z9Q=O8-qXIXTE*WJYx^RaK5;yn#q}ipCLQi-Qgauh#*kO0lx65q(Q7()?R9&_)S}U3%#J~ z$N2Gr*KLV3MW=#ZQNPizrsTto$NCC1B^`#A#(8zwLU99j(cY}}g;h})+l**;fhl2I z3puud3W?PX>>1|lY7}Y0SK7}fP7jG^Kbx#xsx3wPcO5wYALiaX9_synA8x0}SUM3h zNocjNjTxb+gyNL4M(9K ze7^VZ^Zk5J_kBMezu*6OJiK48*K@g^*L6L$q4|qDf2YqGfu9VJ*y26hj@cLwkLjUg z(Q)y|<;utEyc^JVr9Q-Rx@4?%$bpG@+k<84@=4%Fruk%3}9m{1) z=jMxiXL`K>Kc9FYLq2HVJ0Pq(H5LZ8(KpCw;N7zeJ~w!MgXu~q2csOStb%2Gk{Vwf z@$4E)Cv!=t+}NPsb0Ft8jg4N|5A?roZbb{!S_VnO<21Bd;!>J(*>A{K>!HiP7EUyJ z$=-+EG22KZS0)Yd$aMCW5UP69#^$b>fN7*tgryywEgtZq=;0ir`Dv!XHn-`QJRP}|h4XYsQfWO+_@8DB@(0IV`|C|YR?4aK(!rEj* z&Hl#KRsR*HDfioo6LHwDqMG>t?%-IVc~JL+#|cbwNcpe8YHCiw%2qgs=X2ev3LxsT zdNwig*iU{{NW`fJDUCJ1f9A}fD}$F#IFOq_BBwGX2D)kKaRhz=1c7bK^0q(`Bk=)X&x3eCz&9k z$l&ADXMMSku$#%;qf>aKdD}a~*8%5tiKQJR!eAQES!&(0bn8~*7FYP4Px6dy+(0+@j!yTi<5g=#ATfYhlG*P&EDV zYOu2Yk0A2Bui_)hrc(F+hZ5vR=;7P5%hAaR@=WS{!yGZ-_R#Bv@zcY1zKW?xrbI_Y z`HChhJ9~69aG=MOxnO>MD1CYNo&E~Rc=b3zb6_)LN974-j2_=qV+K1+#}?6$yVTy- zp3pw1U|aR+E=ZzY3X%p2`%LtemzBeqTJNeH`D_*%=#s(_-Z2 zSJ$}qTmyTtq>;oJc>!95(Se$I4~zB4&6&s0;)U(f?)Gt~;IT-1=V+AA0xP4Ix&JNY zHT2u8_e*(mw1v~xL&vZi-kagXoksf!)-Bn&_swa{FMaz^aJ-3Jp~k|V&Nh3n8}fHL z&OxfJ&QW&0|I|LiS)-?=JFOm3R(JDgvsS|;`^DGg($VEWo#O593A;mYy3o_6WPBxm zl5D*CL1$uRQux=vfOkR~6U<``w^s87MpS-xmxDbPeQYB>&K?xdh81y$gC+X*A8^9% z!~&nd#o$&4B0*Yk*B=LC2gLt^2Nz+JT8{s7JUZfej=z5?MO|*nr)ABikc4_AUv){y z`vljHH^J3DublS#X!}d?`$<0crbVgOO^{#U`TBYWfdlT-b$lK!XrCC|;eVfwA z)*EG9mLY4cmvt_^TZ?+JUn!TCc71+se#`>w5Cga~th|+J@OPNfTwW04HhST|M`#EEmt&%>$(W$ExWpU6+vKh+%5(cH z2S)&yS=g3h{+qm~z1yAK| zq1Lh1w-o_#-Bn)nstflx#?+|XIZGSXB2!{`2g2j4MYW-8t9D1bcdI)OIk|NHWZy`^ z)v8Kgb6i#`#Bn-n-Yf+(@-5bzkI}-gJa)n8Y1DJ6w}zVbE^oxmgIl25(;IK3^qaGi z^}p_%Cxd;1ZG%DPYsS0>3W{K}J?8;mpVFiS(vi}d8MA!Nh4FAN(v;4{FEY_GGV>rX zT;oC2w;qx8PrbQ)#tUBW%*whWt6L0w8s3I^@O)`Ns)Sj$J`p~y^FkEQ^5%5xQ>08x z^vAtiji6s~W{=A@U>3~!C?6x&G@G?l3VP?2Z|b!T{r&`=e03)&(ZJ_C79PY)zrBFt zRRgtQzF5Re-jz@cEGyy=0tmg=LOczQ*$^7aKKsByZqtnyk}X?PZM}~dsO51M8mZ9= z4c287RAcb;m+jin&Q+k#uJmQTOS9Qu#pC2iRUfyy`Rc-7sl-#VL-2CIQv4MHK{B4N zZ{?_o*q_g7D{KFE>E*-I&w;Ynb1Hl*W&|DOV~M@nSk-uA3}9J^W5w6;V<=I>$+$h+tv9Jn8vJ$M@Gaagkxbj?d6;%NwAF# zai_K>n+Of}qT&v$bvC0&qts|hl_{9ssuvfgFalW{2)T)X!%%Np(5lqh z{IRwpy9AF#9lJU1vrVmF!>TC--{LC+lInMU9O!ZYY^oj9=uXWC>0U|W;z;@&ZIkVT zF1(~(VP8HbjV`yae^=hcLu7rM-HT(aoO#QTY!^i+C5R-6sHrj^m={4_5V z=Ahia3eE56!5F)OUi2f{|Hu*l=G%SVkjx*xbbW2*K~|Nzz|HT2mlaCko!*5b`NP#= zA-bn?JRVP1{VMiW)}KD9x%_z|Zk2nx&}%U`3w6LwNH2LN8It2c&yqBjzl2$Be1V|y zs-oQRFMAv;n|a;fkHM41->iu64#)(I__x3p+0+d)NkEGvrOXar@v} z+H%~fY5}4dFbxTuFzAUar2xCca;0UA4tNuHTPAO3nhIs6hD2c}cH$1ee0uQy=YT#d z!2yggoj@YeFcV>}yw%{;%9a9iqbctXW5&@wje6lT2Fde23JoA(EN8K}FzW()ZM?Ki zgs|QUjFG!vOjuK9(Cbk@KFN28_;87dR{KA>YO|mnGnikCwcFzf2;o2OTJSu~=$F+2{ zC@oz1pa;Uyr*sd^#_*#18vlfGuDCYB+}xZi7%fhD7LwRKZ~IhkgHWIU%UV$q%A2dz z*Mkz5T~;Wnt!6NV9_U^b96BhscebiOMOx$ZCsRFuN{ska!D7#K|I%YymOP_nzgp?g zZSc%d6;dF(%&pnKIuv2?X6`N@Y@Aul7xii=N^8V|KzS*pMsk3pCshL1l3uwYWR&G3 z0iB&#pPml7EtiTJDZY(D*}PUS`0KKzZFMzitatQR|Kzf5KWA4N_nz;w)Y~tWk3WA8 zmDLFnQVyZK50^Kf;s@+cJl41q=mK=n)ZU%*`=1>J|6(kf7j*U;18t;$|z>~JWk05s2EUlIK3>uVw3OsLSzdE(wBnFj}&xMd|lN~uk z8;}M*gOFK;S%?Ct20e#FFju7DFZ=J@vMa57`v|{t!EV($`r+VV=iEr|hCK)HPZk4q z)oVG9PDGzs6v8eue1oa!Im+$jB%^hjO{;XdVmsJj{tEo4Fm{>g;8@N@=buj0lhC!L zv*EH_;L6PDw0IcB(D}MhI%WK@vQOOMEJu9L^xxM_5SU0Deg-;=KJ*VFn>hb2_ND8m zREJh)=TC`YmxE3{xxsKRp9Oy{0j<~lUhpDis#@?Q0?Bm>)=)98ijc71?OHrP?6O>B zm1D5kA2c=4`zAQD-h0gs?^KNGV;{a1{q^B8FqV6+ek?jVDn2Ws0P{;);mqRx^cWdQ zT-sQJ7A9vrP)&^>{Bo{ ztEp$3?7(XSu5794H2?()Iq>O%d@v^a0qAGF=P0wDnkJ!$7N1$Ty~f)+QD<|_t;|0E z?1>xBvkF1Zd!!gH!V@}3yNThcZbFY2b@l2uE2R-Gd|u2*uf1N?8!kFAsEI6huD&Cj z9+m8oBCaj&;Jgcy)@K&rHBvIxTB#60TMixdkNYy?<$IcjsSn3c!@` z3>pp~{CD}|M=0Rlp<}nne>3XNg_V#O{l}FCY>(aOT{!^D7GT_1qvhOa@BYx6z8SHS z;ba-NaYnRxE<^zP&Cg~Aen;~pSFiHcbD%Wv9i`U=&L$1X-&#BJOAp(X+OOg3HS?QMA<;y}f<+lID#F`g2D)YETRC zPED;8kiPu6g@-JK-B^p6?e%Owm|A5A$y9#vV-f~^b{xQA$L~Xx3kIHO*qgWm&-(%LOT<((#;053RH@3xHvZMN-W+n0 zYwig#kmj3|!0D_RxAG4{TNhe{ck6yXZC5lA_y_lU5W@XI|D$~*;&=Z^p|{l+KYRe) zK;Dp=%wY~$=13IXnCV1MRx#XMyQ(iZ;DQv!3khwmoaoaA%BE0;RgoztKb<@sSn;^ZkY<=Tv$JgfXOMR z2j_bV6k)VKBlPSRwzm>$Z2u3!^Ev*TzkhZ)cIqSOhJCt866b>b-5`^(LQx%$@4-Z? z)dkAN`r8JUs7{T%E*OM~EZ%ab7NZQ})4lDWK&5bap!IpS$LXOP0%xmJJ2K}$Hb=xcZ*fGUu_+}f@J8;ZqMsrtxk2*bgB?SK72`cq`52Q_MPv^#GLcS@=%>wG*|xG%SBiOb zB$WeO8ssvvMQDauAbu^JxtppQqhBE4w75IY?tPUfb+)!17z745+~fKdw8?Y66YD?h z1F+THPE1TpkQdRxx|-zepwsffU)s-D(xku}S6P^mjT|NQ()AVUJy5{KfbQMZw`jqe z6A9nG{P_?NTm2yDV8MT=$^Py@d2o0s2Q9rq-62xgBG$GS~gDqQ3w&AWu!FkU{=c1ptcB?ti6z6)E}A*fL>*C$Qe z_=2Q+cE_=})rz_4WUjCKk44AS6=0JzaJ^&ZgAwH{<`G-5sG{OFkD$m~<-x_y5rsH@ zE`G7wGp?#Tt*VkRMU^=|V+R$Ujn@h2HCnvL9BrRj)y+t>xA} zuYKyjpFDZOrXJl)kF>_rZzT5*J-U5=wis4qjQ`rE7ypVxW!Xt+23 zicD^d-k_70jON0&x$CWMYHb(`@04z)Gz}w;4=RWlh%74~(+jukqX@z!0u1rv(rs0d zJaIgyYPlL5V_I>ghKFRsc4`Xt=4fwV02>z-4yKchLHmVr-e;HY3>tVMLGnI89~jaK zEFNEvKjLyYs7aQhY^?SLpE>OX!-*qq6ec$#=_wPbltQpC_or3>GFfk_c6RhbxfBT+ zQYlv1fqk)7zI0s{#-#lP#HqKWXY7{@^Hf!vHjNwpy*Gkw?^dr_Cp<6R=mf_rOEB}7 zqIu+PyrKYqh_~w`daBv#wUs;sCog_;sVDPH6JUTT)_e-Zyh{dx+?jSHrLg&w?J|$y zIPQr>ZFODa zcghXJwaB88fdYDEQVc1OJ0|FTcBH1Q+$%(_*aHAFHIQF3omt<|Pz|T&_`udm`fr!3 z`x-tbeZ$w2UbbI-Tn_uq^OilgBKY?*HJ+EQAlklw)vU4Y9o(8s#(fNKwN{YRV~kRl3n$41nKq`8_y1Vn&Dl zwksjH2$e7sr$v8S;4Si;pfAT7N3O)Q2S4DseFA=6aGERcy=^S}sz(4Dud__)Dy>{b ze=V0Avf8NIq;tqo)m}REB1DTeYK{0+I$8dtNx;{Y7wVkg>SEcBn+Z1FUIA;wVGCo8 zF+8m`)9Co0NR|pPnj`!sp!^?N@_%_Be?B8Vi>+fJ2#lO807gE%_EQ7PqmL9$L!h$qoFgMw9v*n#u0`w5skSNKSQS{I+?Qj~WHfz!f*ht)-Xsla?@c6dp3TfyDw&*R zJ?Bi{UKFmbygJNi!g%;`P zb7du+U{-!(CR8j}9$Yc|(fi9Uwx=!c51SfmP2s)k4}s)OwCF8Mc-d5(eK`gKj|T-! zhLBI0+uW)OT>f@9Fz~(BWKHG^z%M#mYx$mb*&7N7wRwhY>07T}&1$6?r5k{Qt_0wv zBs$5zQ4MX_A8j^lIb<@RAV_w_%D(7s*GQ*&L{)F%H&5mTwaO>xO{4E`%%C~$hYl@f zcRGII`y+nx8`2L0sp%hv$E_dJIrlw@O*q^|p;Fc3b@?FW5_@BjS3LR1qXG?~VPTC1 z&p+>tJusfAxhg=D@X7gtt~5Qo>oir*5#VD77Jb6VdPN;xT!};>ZW3(`f}J`-ShOpk zrA|^uh@Q!k1-Rt($l<5gBHafe%7fi3ro~(LlGFLbPS~pu?#_P6a#wDt z{nVElGutHa3x@m`CLCmN;tQR&tv1?A3ue^;j#Olj!@VeN8|70}wqe%*R@);l- z7|if64jw%CHFPS%eOc&iwSE4#sG3l0dPGyxfI8prI*LXv zO}ZWyO-)nI9+mriT0?!f~D%jIt(ZjWhIi9;J7ND^56ryypBuQL5m5j}H1%&Co`bYl{}flnHu_ zK_!dhgOQAVe%8AKFGqkWL!f7s0?$Qc6why$Ovu&et5grq0EhzCtSRB@{6Vj^IWl0w zZpBIiZ^SP3H$Zc@bP)2J)Hv+v;6-8ZiNeCd-QM@sZgiTj&l)yYuQxmKyy>uIXY@Va zD$4sNe6VW?-Zja?H%r`!H*6T=SUD%GkDTX=CL`9cr7@7NhYp8jyZS{= zO;z=JG?ZD^Hk@D!TW$(IUd;~e`&QaPJ6XMk2)NL><~_#CO%Ob-!iRNQmR z4D~u_a){!Zjxn^QF_dgtC4>dRoJIqm%uwWG*1~ck8m*-grUmaZw>D(gNIuBLG2w56 zB7DN7@L6|Zh(z;NPQ;A zCfdw#ol8A`*^LjnZRcEN62{*EVvD6OO0}sAW9P_zkk63+@0E{6wBdC7bsT*mT zKtyLU;RlAb2wyW2tgMDNN=oDF_#hvUlTrzNV7T^>z{Oxv74=;MxS2LcGhpgjAol?17M|x> zvB*0DmRBcCj#n>C+nzM>uN5*s87coq;`Ec^x4&1l?`Hz(5e05;UcrLr?GAqn8V1!h ze8e?S+!jm8FxQ2NiO(;U69Vz2(OqI-P3P$aua(vecl0!E`55T7y3f0ZVi&>iC!mYs zH6~Tc3y|t0>p>e*M#+n(=>NE+f%-5e{^sRsj%31cAHIutzq0ro|Ah@kCHQz| ziuYxw(&_~Q8D2f}j9t<>0MwEkJ54})$>X8PS)^)Z8U7DZ@eQ?l;R0Czjl9z^Y%ACz{l^)^9|6E2K@IO8Zrna~Rv<8+T0Rh73`~X+74L6JyPRIEm4?0~9!HVKS@ct5fUM}Hj0-QNx#=@q;K_ZLcBTtR1e%;~eVLuoucW!@4*ck6(T4QNRk~Obw`Nd$E*W)l%bFc+}Q`$jn zm$+(|t=870!@GBby!&Fh>&>Et?kz!V)VO`!e{9 zytdB=t*JX{mZ_!c?VGF~+2-uv#p~p7qvWr)8{ft)byng>>NkkWs5gU1x)C|iA^Hq8 z6^>$U%x|Ktv1(4zh#Y(uofEqL@Pv@sP1Ku4ww!jK7_!Q7fR}?(3hQYs-n3SWJnc4T6ztoarp%P*pRtgNVhkp=jovPi}TCwoj@GFT#x}3GRdn@6DN^IqyjZ^&F{(cxgiiiI`rtN&VRaQv0 zNOqe|RNQ8;me09`{I>!Gtd`s3v*w?je&`R}p~?$pbvhqp>wRkG^xhS6!QH$MP-CfA zaACcl^1J{kFGe)?^;RDSUmE;3@&g6Fqt5IsVHM=*h~9>ft24R)t)hs80@?^lh1=;^wukubYow#-_KNU(P zpg_@=YXB%U-_-}#m!Zu1uKD<1zZzE+FlfVP+3(SdhvmtwCYHuYRyif7tjG!4tDMs3 zD^=8?ze}~t%%uf*$^A3IYo)wMbd+}0Qv zKi*Vy2t{-!zue>;8cH^_T>~n^%*{Tqg_3N-A1840JTRO=3jNH%=-Bb|iyX6`YMi|I zGD&0tz_0sujzj~qn6~6QrpSfao^P{X8YTDSwFT0|n_hpj()~4~`n<8*H0gl1K_cj0 zYt>+u&R|p`#GV*gwsxbiIWt}y&+7FAI=1w=D2lNO^L$*hl|770TyJUe0-r8yyfAI3 z^`-M0OgmN;SlfaD1SkpUsH||?w+KNg6WB%j`hWW_CCvRYJNHuan4?H06 zx!TDvw_3~q3N+3w)=2PX#ATB8akM{4s+qXCS}Pp{I#BTZtvox6epYt|4W%|TH`^}y z7*a@o0!WctA<9Gd|4oR>(LNM-yH9sOK~=KgfW6oq{W4#|GbzcdwGnzk35-T-U2!%0 zoC=8dTy}}DW{e7e-pe~`WG7*;R?`A16U= zbgb!&N75K>Ag_S1-eNjYf<)Mfc$rwS)h^k#*wx%VF;jd?9P2x$XJ(iRGHUtcBA1mu ztf9FNoHRNr+i=U-zQrq7IpVfdi^qKboMafgk0d_QZ2jDu|QyKN3`>j+nu&mL%kaYb>7OPW zy^&|V6#garYV~HA#~DE9;g(l2qOm3$T!EYr8#&&-Q9zA1UmrZRR)_nuPQI}9HunGY z+Yqt87i0Y{(P=0M_893X)xWSoI7AYl+KFX5Cd^;4r;(BK zB#RM(yT>{=Aey^5a~~hi{U!SnahKSbq@@@ZE_}3M17B8nv-~M+0?+mdzXhxkl8DxF zUk4^++hRh{w~z{q+6FI)%5Wc9F3IR3)wW~8&rWFeGi1@_h*4QAgfL7>3`4{40`vIT z5_!1esPg>y0L$7e#)U#XRJysNfN?J7@&KtyCjMhxckn{>^Kx26;o7yO^@}VNtCp&5 zYqL=(KQ%bN_L-}Bu>pG(wl>iIT;A5}f+j$$ZdOJys+SXjZK>i-c-<*{Y*GP9yP{8uAm3MPZegmSWXaJ^Uky*XoZlznUMwUuidDHDR&LO zKOWAk{?>8*^3%t4!2Vvwuf7%Uff482vQIz_t$mLi*kG)ovo1D-v8U7Qp>Ttwxwa;$ zTHeNoSNEif~Tb8x(`XYhUuPTC$blUH7n@?hx%*DJFVw(CsYfNojpSKJ8XMrxoa z8uzQsvLebPeuwA8F!3wj*lQ;1c}wiR%C~Es%kt}4 z!U=$i`xcN*Sl5`gmF(%IQ`PI!wPJ>w6QK3XrOgetSb0gzXJc3+zAjgi-p=5WD;D%?{nNMy`iatz1jrR z+|{mxuQN7lr^xYudJ9<6msK%iGE#o5>W-b<_qsvS061~U%^jr0pTR43KH4fQ{zV)y z@o;@FZvPHxQ8}07Z=Wc<+QT2uXV%B~umPcfYS^P;2Cx)r_Gd z#qR}x_ik+DWJ9;`-u|90&KBNVx=aVpO`NHpe=o1IF?xM@<{@FW4zI_``hY`nd)m*D~jlXH{ENxr=RTdost$#fUh@! z;g8KPW`O)hcQ(J3QhSjX#Bn7viT7s$p}>^pxW}ha^)0S-3lX@c=Fk^XS*u#9^S~JkDtG4E?-PM@58S;2x;QM+wZBy>sa2{U`kl6d6KFe(O z0#FqaF>?m{OW^JlyV8%(@`Po})D?%-ZcD~@%WfN<3Y!~e-@38@sB;QhYwr6jNV&L; zx2+hn=Ue!8pGhH$XWFelgW)ZS%w^tRu@x>M<3P9^z;_U3!< z7R81n!q&m5vbwPw4bgUN4_l7QK#990HFTBz8<*BAt;GnZ7s6YpB#E?Cin9P8-u3-# zmO;yxdkrjFEweONivaFL$J&A1sY{#3t4;bE7yjoC;9q)!o0;4I7o|vQ;JWuz55Awd zZy5*l0~7Kq|GNw%rs;o@fpG8m|4#;DQokplAGOM_im`2#xJdGPx1v${>5~LQ6}Tb2 z4TqDpC`SgRlfAB=sd zJxO#7nEiJ5kMSlOl)yon-P=6Itq)jS7~)uOlV^yR(DD@#4{YxMEw2?|Ku2zrQqQ?4 zGn62KXuh2{lUtrU2rO$HBK~TA6i3T}6>NR!&k9liVX`JoIW_Fph;9^YY^lZH&aPwavj+D0$ zQzL1>E#}X8`p+@s|N1SN?`VOT*c|H9~S+S49 zxV+#>4S}kvZMFB;Jm)VZ_xLam&3*3m^RJfS>a6xB`cQR_8SgvF^RdFN%v>xJUD>40 zg$*EeG>E|6RdH3&=P>4jD!kEBldn0Abe!ORSdqp!hE1PKnVzNyIlwpqe%`4tr`H1O z{cQQ90nO@%U@T0%9e(o1nA@&wiN<{ z<@u>2rr^N{pkj?G@@eYKqdoImYkHD?k(UT#>dzF)0~2b8WV2SXuBR>jHi@0zV_yo* zUp5PQbt~rXwjSxuXUYWvE(LQFA>DN-*lA6|w^@9JpFsqcvAq9vc{k#X@jT=FtX^=$ zYiB2WqHxsBkoz-8NAJXWUKPb90TozuA&?U&v2{M4vQ%Bb3oqdbJ6Z9sud}59eb5hE z)bjY5ucNT_b*3gKFB$+e+S5bVw6h9lV*5iw&AC{DV{OFq0_)m;SfogVyirwNq$-XHQ=+Bw=be<2Q#usmw5nO9<$Spt7G zjEkzLhP49N`4jkEkv6o)?V>6uG)gBUA?)l!<@+YyDNjIRi$>}FlySXxI+I@{bK4Iu zPUsP5>Wfya4uFdtxkUfM;qv~UjcAhN&L(_^i> zo7LZP2ZXJu#0fbGBL_R%+=JLnX<)e1jY6wWK7P0N*-s5>p@n|n%ReV;<^FTZs_>3` zO9z0uXeM;HfHCM&8y7OTC(opY@;OqfJ~op}@|R?dq{IqsxP-b!i+_^4Wyyb!tgp!c9SL$9P+jStGp{5B| z!2js4OqVY#}DZ zvo8F!aJ=D~h_FA6_R#1s&efNsbq-AgG3ORxq7C}lkG^}#8Sm~2j(s!w?!h%ZHN3L`u|_Q_3N%ZfJ2(?v&Kk4Sy}zkZ|&15 zfuo;w?uQg|9TFt&j1ZJ`A`Ukj!)=85d zD@W=vRMT02*%2Fpg(R(A4r);c8A;S4=VzTj_H#q5)mSxj;CbxI1rK_*o>-q?oJI)$ z#Tb=mb`kB{`+>Gx+DA~i@1@pLyL5r+tZT@N9EM~mrVhrf_(Xyc))JwCwOaY?l&U;+ zD)zY+%_Sm@c3IwyYF;Qy>KZ9c>F>7gq=i$A+oSIFE{|zGk{Jdd8?Nu zVWRX2$hEFW3w!S3eTDs?9IO>9sz23*N$D2Ter;2sT209JI-_{+bqrCipTL`+kfgCJ z?zS!tZp>JCnJ!bmlaQTMDZbVpCrTyq%!zATIjnLPX75Hy6+<)S@+9zmREgY^?Qhwha zdB>ntvs5D7UAzn)qu5D!HayChGMGrvuxO3uah5}AJm{HB4~2|B{X$F~7|a>lZlUW! z3=@F^yEK@&j(-sR1r1uJR^;`CgWVnae-E-S(#C~Qlp-r%n&dvhiUWFz=q_+!=A!hc zGggBAK?RzIo;M$4gsuuC)cFO_F?Ye<{4~m06W}pTN?nQrxV+N>-ua8=Ld6$}&EiP> z957VZDHjWbrds9dPaa`|Y?wcT*<|o>`z;n~n0!9&Ind(|P?BZGp&s_r4xOv`{ zS;1-f!H5&XSvrYfqYZvl(6zPL@+)p10r2v+na=oje}#3qhI2GNmA(r&hn@SzYge^) zI7lcjcs0bYMzjaAKULE^dtXwmmt;`zJj%17L@K%f{uUAon6j-Y77m33aQn7Mg3|H= zIOTC6=wY+vtA=2@bkX~WYd%|&@Qz^m^b{bj9fD+=o*s)@TorCn|fveEYTe9?Cb24YLb~ z5Y3(>^VVo{Zf88d{ovTxUKvI9q+Y3qZcd+#oGRl;nCObVoLcbWJa3SDw4#3yLy5~0 z44nj=W4NI$zA)8Qfu#jQt$cMDXgNH9bTbS@bjp_iGk>?Q`z7Str2<`tuqi!dku>vi z5zzQfu@z%%@7ridL)d%DGZyR!>dAV^L9r!iXyORXP!7IbDO5kjV-Pt(S{)P7lXA9i z%jB{R-9RG7)UkjsLJ)wS8SOWyE?l(Mf|R<7nzpX*kdpfG2LHcAujuQhQ@Z4jMkaoM zqB;*{19)Fl>AX9CZ+GoBmEpM#tFxEwrgn9TxF{A>G>sQ1I`qoe4bX z;K@vsUuowM#Qn~P-zF9Y?P0I+ew!tq6$a~`382*@Q*~gslRfy93ovQ9xv6ODK{IXm z`eoOd8I{%*8TWL*SX8n^4*H?EL>pJS@R8Ne$izn`Im_D|f*{~z8)xsV1b@J#%HXiq zV=IJLY3j@VSzYl0Syg_sUpRwVh1HesRt^y~)?$gwqkS9hP_?kY@wnxiCi_b?0auKc z$_EW?xO*utEJgn+7#;vqgtHI80TLQNak&&?wi@dLM~T2RN4wyFjW};<{5HZfgQ&VG zDUgv|g{BH@W~^Hh(B7{1Nc9%sn8$LBKuzgPHRGpRflAdm1=^Z|H?s%kev{#&qEmZf z!*a@GQQl+;LAYF!RRCw&igZKa_}xisk%55ULXqx{*?8JxH~Kh`g% znPA!a2zKDrDA)Oc;%~F#FmA%3o?A1pNBZDsM5kGe$zgkKpGCd(J5{QH&WT$I=Sik3mAxH)>Du8-3IDuiIl&B)X%B@e_#_K5#Omz ze#+!&F~ibtCe!PI7CVlssF#H}D@EM)DO#+{3Q2b2JwwgcF0Iz~=Yo}4bAld!Va+DZSm`ff!tMGsSMH?gJINRB|G!l9$ToCRwK5ulB5 z5BoM9A!d>gD*Z|nEPrEZ(;W7jym>?Qo&rEwiuru*f3Alvbq#TM4 zLWX&pt86LU({)^J{6qY2Cp#Inm_i;g zVZSq^sEo*)TZGVNetKXqDnA!~rmD;@J6t@dnE}`MKFi|Ge z&%N>DVj6zzYnn8ywzMu2n-~Dh0(0NUra&ermp|W;8`LV|ydT&Lb4ru;v?t~n4ss${ zl(Dz6bOARP0ZKFIx!6T<$uI|PRWI+Hy1X(WIDJm1N=@{hD`td!u+VSQrBl$!N0RS| zT5WHi%bqf%D&!u*l3IJl?wBRdE7YM~eXK2vZV+Q4zg}O2F)=|>lEbj#Mddof=NoVD z;ks51PC{{5r@qCy!U(`vrscDKoSuhDW^1K$L(43qankwLO*_utHNuwR(m$0<{zcE% zxnKuqsmo9P0sxN>3^*TbuA)hoH2et8+#bVZ-e=ts-UP_HCXytk=PH!&*`jrrcV_Y~ zDtjPAd_0^WK2JJAGqRElD{CLW;yt<@D10#PDUf24M&_L1AVf2K&0eTb*b814#$TG- zDoxW`iVy!{m=Yu`EF)~14vKC)lI-J=pk&O)<$dgfW$-#AXi>_U4M|^yfaiGEuA6&s zu|M)a8_CBhh2;SZmoKa{Iz4CE&rDjJQrv!zF!?rt1l$TfII1VGD4Gq>RwwOg{s+ln zt;VY_gFAsryvJEOzO5B^WBG6RWG`Uc#@ED!Y50>s|KlC~i01#cqT9_YVW z*c<($tu+X}e97{fWIdmS8mwMjjk0iZS%uccbjtO@$XLU}kM@`Hxm&A3#Ef|Pq`WAW zhH`@yB_JU_s7}+Eyr>Xn$jU`4~Zkn3%w=DxmN!%ccEnd-XQ_|;_&gu4_p5_|ho41WF zhXOFjpa7?bxD&gL5GjJHshLN*?J_!ydW`(-dH5yJV=a4e*ENU1sX8w;7Go)TF4bM0 zS`Mrq52AQA+~+J4mK)H3F5jmKuHKZDJR@e9Dfz8u^Y3Em>{cxLgw_Iy@A|hl=12JX zF9kVJVr{|vFxXZs3UD~#v7+^zJAD8D$sLwR{a5a=mKL?{%Mb2wL(Ko(++p6r10qNN zcuWd+w$l9_u)l=*&!qcTTj~D6gFA0dpFaJ3f42~E+Q1hD^&CI;pf)08WlusIcyIfV z_jb%vx@BCaqnxAr zQ_|!NKNL6loTz!s+oX47Zcxoc;b0*XnZF|)?2ai{tZtRs*erxoJmTZYm|&Nw_tTCB z*KYihuJ5&5AS%Ku>gc<7*HmO4oy%=u60MYjzqF`Uw+8MvoO#NVlo-Ay0l)C@-EZN) z9ZBXnx^L*Zwe=S*Z0WQQTNAKpH}CxX086jT(+V1CudE&^om!9a7}nEPIiduP5>bw3 z^7q|$nlz`I@)v!EU<2KzhdkaAS{kU5=s-Fb^{n2}6TYNZ5!O|R+g|s*?UnFd`}F^m zk=BENcDrF7Lyh>EZYVwc^E-aSQ+Y*KdbAx&jplOar^W+Ed20jo>I&(<78*P|R{u~q zES}0G8{@$HQD!;(zmjcf(e(z}OPzyRlHl7gB$P5C1!|RS$1tv&+iGh(Zd2{sXe*NU z;`4f}QQYDL0@S(@<*x+Bxd}rgg=qt^IvXi9OQD;-H)lO*b$f)=g?cyrqD3T|`LC6P2FY8Vg zL4{}3XAgX7ow$!K(Qi2x|GG(;%HfGLEIc4D-+lHkD6nEH4pt2RGvl@&Z(ZR%_fvq^ z3Rh8AK2y+xO$p=TUfJI!&J_)Q6uj(56mywEDw{|0BbpyVqgnbpqws}|3%FEcr7pDcIh%Kq%zSR>`0jS z_ylSQIr44v>5u3pqP`UdOV$6GUC)m|`BY{{y6$Pr2isHDHa2oZYDsIKx~~_M|I}Dh z%`cC4HdyEE=S2A@OL<(4mb_!K^iDeTOu+#n;B#H}kf|?JdZSAQ<@9TzIVb_0sLQtw zU9;=vscAUu1%pSokMp`Lm`TB7MB3{ljrS|6ysjRKkN~`}Te?l65fCg2;G`^t?c1*| zIHC4nyGuTl*C`xyp$e$z?N__(XT8BD|JrLyFj`R%@-Dge*c77enCf@@>Y(MwG~mUtaxL zn>_^sRY&v)q+RG|CR+Le53fna8=IKC$jFec0#tcbnUOO;OsB2KkHL3+%y?|L#J|)6 zb~JqdCR)qimvjw8<*SCNz#pHbjyKdd#BSbfH4gWhbd`5qR17$K;_20?h>~7}uP?Nv zP?$i~Q65R1y8_6tNgdd_p$fI!dDE(!7Cv9SIWG79Qn#0Fc}|yA{^WQI`B z;nn>WBjxk@LZM##I^8Cfuf`lM6~QDPTL`~*bV_f{%;Yo*iFoH@+D}twN~04w$9@|R zc@v>gJ=CY^ycSDsYtt*-$%$Be>b$*38BRa+Xn44?hiasB0_N{K z?ZUJtHR1|WAqF3vRoBAbGZGpjj4&y>G;X@2V{M;Q8%7jA6poWBsSGdoP(>7zj5DH8rXXL*kNF~~3Z z58LFi-g}18kI(IuJKkoqBR!h5o}23x=6;D%EYk`E`BKQEQ5}PrIajC z6o00ys=KXQAOx)eEtA4O_cNa+h*Hx9sILS7+v-9no_yG%ugwDy;|iKpwO>m5{N5oy zvF1^oX|HRc25g29_BLJ%oRsMMZ8rNmTT$M~b0Kcxw2C4{qwgg?Uw~2yp9P%Df-ED^ zDe>pOVzl_mW9E^r(!W1TpHoK2CfK;RyX0fcT5E-`W@R4SY`c6KgGovJu&Fp6{a4_Y z-wND$EB}kV^NwmVUDy7M4HTu$2+{%~U_lU(4vC6_ihv3VN{N67Ybu z5s)U*q((>(K{^S&cS45%fdrBe_}gMaOp(*^}h_%_vi4_3`6IVtsRefPQhMUbk@LHaU8T`rNTdf_ulfVDixcAht<`VS_zB6{;l_lMIOQhaSyP?229x36F9B6?@kX zeN{ULh)e2%nQImfO8R5)o5Vi1M<3ZF8D7GN%WY zUjPt>;E%_>)>^(wR~Ls5`fH$n9GzO@2pyD`&TQ&9d+O33;e?-+74s<^OslEb?{k!DhN2e2-lPUq&+EQ~+*4&mo zfMNp$!6V&sau#%;?z3}_zC(qL)|_9=Kc3il1MmB);``cPsu!0#ic=hF7Ds8d#Gg8R z7&R>=CDqgsbEDh#kB96vYoqIR<)6bYew+E-ujLWAV08j2gMAC6LI473z*fcMuMxS4 zs=--KX3k=oJftfN(f}a!g}Q55o%w73R^b2@w!CEMr4rPqK)8=(tO0Y(0w6}3cSLu?G8M8NUmm_We%?p?+TD@R?Ej8zEE} z%Yq?dQ0UL`p1-yCwE2F`srB^YrsxZU?h2iV!u1&VvFEAdyDmQV=Kwsm>Z2$1hY$@J zE5u6UBF5)q0|R#kd)3ZWYR=EqBq1)FT8PEdmLhuED@qzgH1L^nm~~5BJgqBA`8Yk% zK-2fb44^uhOWPE#9c~m}=g_KNjF6~dCxL2Ybo{OA=@W%$QDVUp#GFiFAvDT3Y~?ckf2?;8cDBS6tR zrrXqhCuHGEV<}5sp$K8Ga`%`KG4rFf+>d=4D6*C>?>Uw~w%zm|Sv`b*X8~ajXvxaE z&H8J%O?yl8i-P1G$=#$!a!ito3yJtP+EZ4Q-fiCT9&M)bqPAek+NBuGh-ofV21Z3@ zr}ijIa7y$Br5~ZC+n@whwY zaSMK7e>oi%V|kKVw^sS>YJ3Yz-*TjH<@~qb6>FB>eu;HDv9W-3r5IWG7>CQ|nE#6u zs`oc3R5E_R_#a83s{TbOl%|o1m4y5Vr|bUsNq(6v;-p02efJe$dxF$sRMb3P?cF#X z8=95$F!A;M_U5FOyZ&{{?Q&V`NF9;m$t#gj^~bMoGPo8>hrYdINpW4$GwSkGsX zT1j7$ELK+Ah6?A#doQlagIX<(-N*M{yOF*RhBJczJDs#m73u>i z>`ZkIeG!R%Vh5VsMHmLgmlFI=&Wb+B#+2HDO6pWJLBukm!WHli0C$D%M#589eWZKg z3yU|ku!0Dbtc>i^XH4bw&_D9URn~lJ6+Zf>;C0`Y|37CPJp(i^>CuCvV z`FnP=ak>d5YBogmiC%fhF7MtD1f7*P_B%wOj5~uI8&S62Apl{EUO9*sCXY{*Xs*Pj zRSo+KcqQu=g0PD^oJf)_sfPaAMHJW+r;YRzL~92sfbD!IU_%DHd}?IcAV?_>{I^1= zegBFOD*qn~p%_4`=x>Bj|4PBpT*DGVfy=_>A}vg~G{7N|+-Jl;!BEROKPt%=W006m zx)NG&Vm+oSB+?Ayg}*Ububp^Rv$Uk;v!~AHQ<70D_ zK3%;;IHwXaf{S=-v*jk=0wF=fGcbMmE-~U+;rA{2r;8w#aX`s69y;28nI+Eu zjP(x->4{t4muUbItg3Cd_cS~2zFL!#rVUaY;<5QKL~WgRJ~V`liyEMc*Cm;$BB^LR^eY`79!XQ*iHfrcRjJ<$Ee6<=Izs?DpQpGY zdd66HP{X}85a9?kJj=K+PPmN=sV68cX+gd~{fDhOV=N=9S?OzMclEDnriCn;X`y$w zciZ>WWmhCvbs0OXVQ6uk^j`KouuFdIYH(se;W({?4dT_9+!qXn-ydv7AXq!7R&oxQ zny;NMNqh9k!Hv6(_{uV|#0}U?d8DTYB{-vYrBf(bjCs$Ji+V8;fHMpg>1O%4N@qOD z+-E8J3^Yii3NPxA1PdF1=Er}5T#5tKPJ}-7&ZGvQt<8MhPpZ}kP@9elYU{169&W7G zS?-5trAN{L|GwHRj1|&y`MS>gH)l%V|N6rQRQ9xs6U43uZ-Ck(6Zes0ewE|T;zpUg z_J55Vof419%x{H(D{)G{DVsFix#4{TTGyCPLyf^{D;I?5JkMG~At$Jma9^JPTaI}c+v?MBpG*S>!}_F2t=mN|IIdu*cvbG#K*Uw9=`tX}GXEtk zg=a=cc~nIe_XllMuI4@tyOLla`XvcK#RX*qrj7P*=9vsJR)pWhr$5yGV^|*cFBE9{ zfU?PL>SJr`W1tWz$H|o=Tt~%>jsnum$$F(cE(_szMi}odo>(zy`OaiwzYzM;9XhYW z44``|X5P^_C9mSsf?~`dojBEx0{LP;csJ8G(4Oj+6v~wnr{QG{CWxU6T9t#|^xR^`ngSHHv1#7XOptb7Rz3kvKa)v9}C8GB~xXf60a_GrY zc;#~XX;~5xQ4VsX9tFMx^I!?;yM0#gQ_<=k)G~ewSWCzT;x=eO9H`2zpT1#$$Pit~ zt_FM&%#$&o*P}&VoHkQ&e>o|ZrDeqMDZ=jWYVh;2!qUYD39l0cj>UZm^&juyJ#R|R zf~oitQyQNu2i4hVBGmSfC7+?;wed>5$+abO;@({&bs^C@2GeDVRB4@E4vG~bZMEZD z?Xha)f}b~P4f2MxCh(VI>!YPjS}hWjTE3Q6d324r?^LUJPv3Dbk1B{h^ZG|6Eyib= zU&4$1&3Z=c53i^EuooiMl$ZO6f8#riO&0pvV4<4q`NLV7J%9wmG! zYSlVzZ{j^C@?2yFf4sGb(nT)LiqyHMdWSGQ_d6q122>QmY=ye&R(6#CrYVuh!=`Sz zIMREU`IvtqY;ry0Rq(s8Dc|{auJ48?CvqcZG$`^edpwRR&MyvV(`4n7pVI6RT?}D- z3f{b6m8Ftvt<{0limn_;ibR8#M2Qv3@-uJWOu8EtL9g^(an#nY_`or*KnS{2_O_UY zzm%}7Wm?nG2R2gl`N6Q4TH^`!u3Ne3B4>qn@VQ@+ukhm#e}MMlWt=9PFA>89{KamZ zCDg1(z0Dd9V&PU2c>DcXyn1rOMdg*&wDBoK;p4qITfbA2ty!grHTBC{`S+9}Jiiud zorZ=F?d-B!TJ_g1w{grrwPu4vs6PuI18E>pI$k0v%V5Qn|=kkF=j4-V1`lq)F3* z{s^aY9X)DQl-vio+jcjBO#7d)GAP(w1jUaOaibD>bS2z(Wl}i%uOXq z!g83tw!Ho|^6lJmSkE$|SYgrF94j*0EW0j-N_$NpO}FR#JX5yk=EAHlSRM__I3Wc# zja+M->MM#LHk(eE5#Bh5W@c%%If*K%kK1fdv4+&KuS`C9(t0-(*ewPKMmNa#?Kr0avev-55S*c+JN@Q->2% z*P>JN%HQZ}G9VXR$Og5h$i)woN_z^;=;x_>D`y6NLQGenO0geS_4Nk%kYY@gF2S5f zWkQ1D&T{URo&L1VB$xd8`FGgZpw|X20m$IhSA$UyJz?H?Guc2-amT}y%cV7JC_t=W z@2TW<2|}TMmi~o$G!W{#q7D+eU>F1v2Z>2qb?g?86sRAl7Vx6GChCE)mDUwDgUvM3 z?h{66@1a6dKddKnRf5zyY(^f|bDL*n*s50)DSvT_t>a|X`=nPhPrs|)4`B^F0Nbgi zjt*X^%+x|Mf0u-K3@~84!6^!JeDWk1acO@d_to+7H~ye;l6>#It-hN1v2j(9tmxWm zds_FBhHBtqu-}dK!J2_;HM+XLXp5H(JStKuNK_ae(@QV-nMt}IcF%Eg5>?l+%p#w}h9OH%g z6FKuGIUP8qdjgM6ocX;5x!=OlgtSZHHJq%Daxml&k$jPCW+y_0ojXkdZwW)XPV}Mr5 z)59@t7bS#HFF7U7xya-J-C14mvo+1 zo&<%ihan|O-m;Rfqr|=0-z5!B@2|VogX2GShTh(T5n3Dk2LwX7y%#tt*Rty~MwpM@ zw;~Xtmi`ZLyAOYs5SGyY${KSVvV%zV^rb zELk>>4KJ3cd`?5%K+)&eRV(2qFk5e=>n_zgF^5}`eL*8mIHdv1`jo!hWcMP;7O^e? zYE2R(^Gw(D0=hYJn=pAOtM#_iHx|HEs0W4OuQhAtzO;Ou!8^mP6KvRwpq|N(Pb%jS z6pwg2tjC##ES3kRv#g88BK(0J&%oTQ<0HjWXM74FOy>4{^ za2gt^DkwjvyGlNr`0arnqgR3;jcNWaMre zJb=`xQoH7YAOe8c`e8X#spk8N-dK%*;g*zr&SJhpKZC_!dmuFY=jAPcMCcQ(B}cL) zbHg{UyY0#y#}K7H?OyB6={A4_2r~H6s=UsnT3`-sU9Hyc0JD38gOTx_HPxJ6N0`L5 zHuh4FT^FE;9v>Y>+d6p!U+>9D;nm3LpGr$I5LL30I|rVzE>oopgm^F39IW+T_h7Te zUu4`W6c0MuQo!$Nx~$L_+E2C2(3CapD=OZ7>k$5rJ`z*Bz-NQx)}Ovpp3rcFJmOpbH zE6*uOsp4^QCmw2&4_Le^T2fme8D|AB??jZ_MrKhuKr-$H_c~4Nt3VK#p+n z&2kC+41V=);)O#ndu~86AiX+q>O9-BLH5* z{eK3)`&!`w0Pt`JZAvIq9WLtI!&PF&MapP_qFm`|{mr3J4cKSx@&%pPNYDII&lwW! zYky;Qqt+Q!~ftwmh0wGYC76}-x3IyS(9}k1vv$Vq8dn37y3>(tH(i4pV!wFb`z|s4*!I>>K`@HCFu@#z2kpuz4Gjy`81J>BMw?@M!#aHy) z+EPEh7AXHXnW{sr4wH1*snB%AOqt&NIMF8Z(5!i)W;KAL=olv<44@yB0l!`E8Vk1}arW_=cb8K(_rw0c&g zy5!2rI!qe$Z0C&BMLl7Ky zX<_n0mPZPZb_^ik1Cbg}#n}dFEp9mELU6yquH)b<@xg$tNs@ml$eXmNaZbGrEkFpa zi{z>XtnCRO>dF=THEMrzwkL|!HcY7iLoRjx!>C6&;CDEa1N&#G=+Qe7DiaOl0BLYE zrCF?SeZ+@!qQYzWq=7nRPGr1Tw+ZxHRkRWeAl+Ui@8ng@Z#yv?f*>ZG9&UEQ>5;Sf zmtOpt+07qOU`$Nw{>$KWzF5A8o`XLD?TL4yo1Vf?TwF(v#ZLGeXXZVU(~d|~U%BxFqnTIYHuP$VJ19X~rQNwpC$HI^k zvK3svH7*LDttJ;GxR9n>deNacN)P%~XEI}p#aDTm31GM*ZMXBxxn3ps(K}O0_$a6G zc>F6CZB~QUSdVg2Scxi=EgOdG(wNJBkYZPR`;Uu#FcVe!taVc%fQxNQ%vIx`o&jL8 zLuP*07$X%xQxt&{PoG|b;+r~S&b-&yD zboa&k0@+1-kC8$<41 zG^%pdO;N-O7eF#Ct=vB3g6Im4UPxJ=1Tl3n(`=(qzQEVCh_z8{UDc6#7bJ6mJZIo* zRh11`|B9%RKNMM%K72NZ!mVK304z1hYu}z01&gg1w`-Dm;9ImgJ;(`Tzh(7@c8xn> zy`EP1Q&8roYmYSHPOiHNVs{i?+4_(Y2n#sJ!8l)r>1fu2;RLwsmACou)&=+m^GH-% z9(J1T`35%m4CCi~gooWECgQ(Ns7h`LI2S1xZarW=r<_0c%s42J zPueb4{hc!47J>j^BI~z{7Is^{RJkaUTFURyhwlzdlOBI5NNyMxYl-0sjs%3SlkOmg zZpAJiQ3N}U^y05&aV7t~vN(0X4EbFyObQcqy|Fq2;ypCH8$ugur%KgpAlAhro=8U& z`(hM!qrF)J1`UqvM|L4Fw)~Zc%?9R_kh74g3I<*JUB{eVitIzcjX8F4xS|ZPCImfI zwzE|V7{_2^4vu#4+ydofZV_(-)?HXPlO5&cwQ0AZ*yM9E#VIaPG8jv@L*$1&MFiC{ zM$_!JTewS{iT(DRO=Y>p&R#k4Cp+KalHQk~?dFn%rkUYnW}UKA$U%*RInrJEACk=r zgP!CFA1_>QhHfD+Yj|j%v$^KYohs?gdn5_wy`@j#eC)d-C3aP9Q}UbqXoQ{Y%GveK zX7y7SkWohSC!=&B@Ts6?k6sJYZKmI5GpCGR@6nrYHl+8$@Jc*e>@i7=8*q9 znfz@1locCjKifP}E*i}6G)^2Td-1awIN}T8`}uswl>&U@(JMlHziw+0T6~)+9Ph`G)8!sBRw)g=+h2uBHGCBIB92f%V9%*f*_oOfw5b+UVu>>X`}xdAA{;|E z09-i8{1lGdgjcz|y0jn$#YH7^qol931+y{Y)5H(ncti3nrbTs?x{TfwcMT6~P6dV|KRV?Fj5QRv^vY#6&>(Q1B8b6!eZ;7sM8&aP+&%1yOgFI`2Sh1a!=TX*I_< z=^6zQFT3#eQq7cq4VxccKndo%GI`f0L-_gKJKMX znAyg&wID9>`kBIg;e7wKJAUu3vxL`3G9W>Ni7J6fb^8_o0da}C4kPGm zZhpz2_>!wzaDO73?L$}ji5OM$eQ3>99BSAJBva4P{ z^-7>xqjW(hve!`?Bc|YueghAvh~{#xi(HYryTf7gNRw+5$c!5-h!2Q~VVyNkB6w5&3^kU;^yyDpSUzJ}LKAM)E_PUS(j zQimRQhC9$#O9;}Mv_^-m8e#w14pu5qxxJ`-r}A)9K9bh#2K+B&{Wfcs8Q03Lz24fg zftZV-O35uYOql9qm_o&d_YSk_G?Yn3^|W}?(705M$u|W1=AM!u%ZF#7<-T-~W?F?P zd*S+k1M&uPy=K92(04y&%L|+7Xv*wgt`-p+#}#cqR)My#Yz3)vFMDUL*`VdF{UV_y#od~WlCr-}@eg{1Hc~B9USs(3Bm!w5!gz@8V!fW4Sg4K$Xy!?4@&f9OoELpcz=e|kSLLMa8niy zH5me{s@{&9CkTMD952cGzI%7elTPo&-E*#>#E~Zyptq74mHY?I-6gC}?Cssz44Psa zt@@;~)Rl>X_)X;mQB}BSG9i?ZUD-FhhZhL4#(o=vQ%~7M+is5-RpGoHnRe9N2Cf<@r!=yL`Zx2I=lpVnWT ze;sf`HH_#G5uYEu&D4QRlyq)gVhRy_bw^P)-aP~a{XH%}Ues@E|0^O~AG!obS(?02 z*VHt}dv|(I&89`lvR#zH(tSoxE03&L4|>uS^O>Qz{1w?Ape=ItwoU%V+PIU&BJdDw z@37j&JD?#2#qSFh=B!XL5WRR3^B5>J9;E-T5vnHHcx=3}FA9ax&#>v``I=VwI+UZd zWC5YQv5bst>jhr3dv0doqQ4xJK#8(v|MZ3M3bcKHqomy{afkHLy53T&Y!Fmv*$cOd}GgD!eIUM#SDw~~DAU#o8=BeDvIIT8@0 zmJ5lN28cRSfs2nuAx~_1U`t7ANIp*mXX4*>^^aHk6qa$>;0Vmk~^akzr$cWLz;37&5&27#Yw8 z)P0p(Q|hB7q!)-e-e)q9AFGmAy06onF5NKC_mtQPSGIsw>C=-e4nQstME#FlLRxL- zx{Pi}wpmo~s{@_`vBH;Rzsc2SVwaT5U6buSg;hzltwD|l4DddR65aaI=NbIwQXEJgEr0%*oYZr2BwT-Cix_q6vsa_tG zD?L&(Ne&i^a2tN5uKL2$R3}VbvvI~&9iR;WyNhy@5lM-egg3T(Af?;Q{8SmI8IA-W z)TTORc0chJk!YCgc3y9}Vp)00(3olHJprqK?vE*41_VqjL~iMr4|{SvcWDIoRPRN7Ik?n zg$*PVB!b+`ppIT6We9>fuZqWkImK))eb*bWG0mDwyj+$b`!$b(D_Z5^o+SlbbyRU1 z8pmIS`#%oh)@oZ4?^VaRu4jD>)C~$m&xnkUU7x3P=4%ppC4#`Vdz_NJ+{RaVYNVh` z&eV?OZR)f>C(s&-NrMhc=F%IdXd#w^^&_^vR7sSz3t&}?xx?cecj=j1EK1}Q9W+^eoJ(V+f@}cVVYsaW4WF{a4eIWDtMC2jL2f(D4OCerMXnjJ zP4+#Hm6>jS1*#y|3_~8#SsB1fX^yx}1q_pBbDz8z!R)Jm8=X zu5EPE!)$RjMt4^@TxjrM;kpi_GSAGXl}l!BeSrYZ6b2q@Uz{b%)P;7JR@b|Okz2RP zfAY|qmA?_{r#R4z>zJA33LoSZf**5a!vmVOq}nSVXu0}o~53`V`-kW{$VGiIY zv1D#0<23~Hq0yYmJZo=nR~_q#)md8}gey#N?TY;Qud2fB3JxGkgF^2l=@5hBd+4F_%WpRjJ-q2;Y;1pGQYc-oRS2dL*V>(rn7}boxz=x7f z*hC@dy0v1?T;~*Rz2x&heKN-k@CL?y5ZY$2c%Sf=Y+7W6V)vrk6IY9mG~!WvnAn@Pg)8mW2z~$~B$HFPkZ)UB zT3)V=GJ6+d;;Ch4-(^N3W_MnGy~d8%@EIAT3_@EUP1GQ#ebdy~bGZ*GpQ>qy0kVDQ z&b;xI0vh)|U-F$^LqbAyE4OadCXJ9sBhL(OlarpK5u@l8MPuCjKvRL7_rT|V~-^!v_S)n`>8E2W_P?_kmM^1 zpH{`G+E{(ro$1l-3Z13VzWUvnK+(wcQbFSTGC>E{2JQiO7tcp8_w{Wm? z%=w)D$@%d~F)~|YW}LdPnkpRd-7)s(66d;g+W^)?Y1#aKQrK;*9`9ZqPkTuUaIS1MKKfUdEi8 zLpVPA7(^Hw844-l0F!KIO2JHGTV#bo&RuYU4a^&W$Bj%op!RS|(JnDNW|!wt+M}*i z3|8)`vj?Ox+*Hz&`ZYEqk4P1oNg)ikYkn~vNS3#oig8Wf* z6}fxLE)$F;l#M*}tL?Cao_gq)Y^|_sZZVCb8+h9CWxgn@BlJpI)XOaYYxgL_8M7J) z+8_xKRF}M`ByF(8tp8Hr4!5q&%=7`GX+!Sf+2f`FKk>$f>FXIkn_PBipk_Aj+)Em5 zc&drZugxJ7x|yob!~uN_N6VqaT#x@cVkB2>&+G_XlNCAkYMV6@d&r=YwEBWtB!E1n zq4K?q;GXZ9I|zxLxdjN>6ThkbS9Tk7{gv9^jqCplwZFe1a#OB1ZXpkw0p!~Tr}E(x z2T*$ql-Y!85-HoMWE_DbBevV4p3`XL_EV7Jzz-_w>b(wCHiU~CcGJmef^uriu#f#B zfzgsQ8m%T$C6#e)+GV-IrF9E~S$duy;yhRfeZvGMMKAMfz!ba8J4a_P(z@mR?uzMh zHiZ%pSG`GV7H4KHHny2LRmRTc+d955*NNu$fSby7%o@MfW60@Isq;_38?7_1tRsCd zE?D%62EMAj^&)R)m8+Qx=SPXB0~tjXW69-LYr|fD8qOO-Ajfg@ISQwOVs;`@~_ zIk;G0XJ$9B3xXGYaK(}9*tLMys>B+(_18I7fpofS8CNM$_ndFG*6jbw4F}Yl86c4a zI>PvO`Il~y%X1_HKb^uB08IJhC|y6?b$d}WWg7(1#L7$izn9ez{+enoUGJ0#i z+QaogZC&IJQ>Ox5=*Q{%y^6X^x<2PmW|3g>lx%F z7vD6w^*Z+vvk0G#SULh-IS=C4b7QK{I`Xs&ym_$FIV&hyQdtIQhJ^3!`sud0rf=N;O zdd}`16cIm!F;rv(V5r4h%qiMU8wfn6d3Xqz%L>}9E$PbHhlqEbY_WnABi$s`EPViM zpMlF(Fnp?K%dV!b+ot1^c$s-Y$&veVim-XrzD-qdl-94 zRB-^R*4G0o0RdXW0nB}u-RroO4`lP6fMLUNc5*a7=8WxIMtAij8>*qn$^ zJp6@tht)tj4yASQD_xdlrrBr|Z8bLUI39`u3tC*7eGVmny7BTT z17Fr`fOON!M{4?SFy8l8mLj7meUw{3HW(zl>on%&l!3+^(Jc#^ZM32#^K;1TcQpUc zbE~}ktsW#k*!bGv)XBF-@ijBz(tvOdsW-f~b=qQ21T$^7cy(B`p|4y)5rV#5t~!Z@ zZiC7R6^gDK-#EHcoBb7^KB;Z`5YM25YZEW*Tzfo4PzucL%j{l{RkzLaQ9zr0P3qn( zRBgK7l3d4lY}&_fg6&I`RFP5pAdU=pt!X}jU{dD}%!7tnJw)ZVMhfR7t`@~7^~J&i z05~z}(&-NBSvC-iaW6=_jij9nJ?*sC!Xrd3OuE@R0w$KyM%Y3!x)dTssW7AmW&4X+ zVfp$B6(G-qjMQ>od%C$s$@eYU+A1}zkc-4^89>{aW(@7-k?pm?rZOCjLekCLDprS* z5yih|gwb3(qd0U5B%Akx1%uzkMB$m-19E!H9VLb#8F=xXKvZqQrY zHpg{}$MyP!cvw2Z3b{(MJ7vp}*_f&EQ1=0$dhh2Ymb-e{2)XEE!RIO_^Gojy10T{_ z#a(7Jb2QLW@rq13hd09GvG=R%*xOboG@oR0Uk3q$N;3w_fgl(obVG ztjIrf*Dl$~(R_zgNonThnyDw`x7GutuT4i)~m7iNhNeJUS$WV77bFf{xxoZuwUX^f8tWvT9~R5i6bYAFSxeV8YPVVgvb%kv4(#b$Mlcel z;?ToGP7MZl$m9{i`(rr1<_M7>51e_0=*f*CUoQ-8IzerhI9`WLY0kU5{iKEamoD#7 z7o_16sL#p%$Mq2+Q!Di6gtQ2?dHDpI$+^Je%_tMllQFM{rAWPv*Vn={7Yk}Yp*QCM zY5ZqvR)Z#zr@-!ec%Q)B?-UC!HN_DUYZwa%Ji3w(jP0dtKEHV-HfpGCWs-Z-O_-Dm zs=&r-<$8B7K6&oS5h7k&UQ+|u%+0284I}rLSomPN+Wdv>he9!ZWbVe!-f0z(1vJ4w zH&S#xBN^ZiFU}zBS0n&|=;6Y@=MUc~9B;etaqB}{pC!HRp!RIHY@Pq+=Q?a>W=ZxW zeih)NDvz?&=0}b8SZU$ju>sB`+%u_Z1bhW$d1lmNvlW;Z z=!4+1T81_4%Z>&n$F*=d;rBo5(>Ds$63T{tFMky z9qRw`q;jO174ayq!qU}b?CRAA>2ighqF!5923@`u@%k6lBQSoX-su8~iw6gjmlWDY zZL%K8^dr`HaW_YWf6UxzFm^zfh{7AKPFm`US%rqE0~Ty$|bK;v?P7lZe? zJy8LLS^P4#d+qFA^u2{2>*$_fC2SkU!L47V4{I7tT# z1pRz&E-Mtns1jvMmjSFT9NW#@C~Rr1(dK1<{n1Ic}gmfSl)X7%=nU?ac@x-t-ZY z))v)#GuqRK7T*7%d(rbeU(lM4!F)r_ogqF5=CmpvV@p;c@5$+>q)My533c*Y$f};% z_J@&Ma;IIzEhQ|^>~;*KKE3;ckR2Q51GZacR_n(D$n!7FOJq0a@Iz`1rcJG7RfENV9Z?RIk^y2TNKfuuy_#cysIced&fN)uZn@PNAXqWX z9>Hma@~rKcuRihz<=L4PcbK%N$@w^Y&<$B&B%I4O?edw)O|S zHPg0}L56I~1c7__@%yCve)HVq@o^sL@cVm=f0bkWs0vt#>I+NsyvyHZlgt(3e8Fxl zDMV>Bs5CIW&^ODT`a?$EQqU5D95$XdVo{seOa1H#wb@lJ#~$7nityp2H@JfUfbx{E z{nE|WJd}6OdBLyRiQT+6B;zeU0cCMLxu!X2h+o%O^t9hMA*IS00KcSpX6x2B;Od`w zXMk#h?N@MKUe%4({JVsIul)So`+OfDc>R0j=RXhhEI7=+SAPC)ZJYc5UitawdMDPO zNc?-{=kJ2ge~jQ~{=M?^XA9{w|063u|6cR?U%lo7W8np1K9k-ffA$)&Djr)FUa+H) zUeYl&1qijB2NAx8{D31QZ?dr21r^t!?t!+^;4)S6zA1r=)MJtNtonF$SuKzVAzPPo zFb7Ge2`|7{h~i2MK0*9ETEwM<NzezAX2*+E zYBZR{^0KwL84J9$Ulzb%ly}zRf4gt6#x-#B2GJDAvIFzYADls}e5r}g;W`~myb(&! z3fn!-+bSB&cvCeoTqabj2MsJ5fHTtAd~Sq7qkv^(gRuS{K6hyZ>2k8leTgATTBA;d zv1x_-#@56lK%W5Exj(-6y~f*Q)p(oOH4WH*{`CJ%gu4IJuQlHKy3yTx_a;KqE9QMZ z{r|Y7qy6ov|A)A^v7JIMDOb3`h9IQq!6RN%$C9o)*RH`#^U}LNT}}-y@yz88@io3} zbXg{yno5m&K42AIa@#1I(lL>G@3K{P&z*~B-&`MBV@eYiTGW>-n;$$n3yhO};fbTP zrJWgw!ecVAQu{Nzz>gC5_k{hzb7t2+_=g)w>_!}gKYbDI=rSQ3O7p4PTL{3ykCNUx zCSH9SBrRk!A%49nPh`Z*-K>^7GD+oefJXQ)df(BtVBH$>D3gKXg3LC2GkEyvOLTCvUGhuKwD1>p|Pc1~dx zE;4)fg#LC0>#BRM%PhI)4{&-)OQdxoZbf{bpM^;~fI*kIupw%VKT z%}+v=YC!o#3+9>8rzPG!8me7#=;kZ>QMc4sX?<~zt|mD|XtCyT9an zr^Po*?z`zX<(g47{m9tK6W`S(T-(8qPS!Hhw&w}uj-2i9Q%rz=l(6%|cO90E=kQU# zS>zd^y6=Dloc*z4_nBH-SItU%Epg#srrCtykL+KI_(Hi+_*4a-_?jbUrPPn!pUq6} zGCFO=jR>{~ApfL`eM~wRhm60?Ts1UYGc-^P(J?ldTU^&^NP8q0ihdrYyLh`Z-gIAA zcin=&4Ue<@@3*C`jQdPsu?yA(lKYQu(0@EB;G(^~$CGu~%FanoZ)<(&Zi=5ZghyAr z^unV6Q)zSJ750~|6Md_p>kW4UR32Z#Obqknd>XhNDsUw}vC;4}Jj>WfLA{VDvA9C+ zGF0;115s?ex{zvU%3Lw@S9oR+gTH1GpSHaiOfQglF>}53@i_nT4R5=h;(dkhpN{DN zG=!J0k3wI!ep+**356f)dx-*{!_>~Dte%j2??i4up#}EK>5bi&*2ea&w(IzI^MTYZ z?yQF;%UU%UxEJ!o##~Y5tG7Bl(GA5MeZebXPWYfu*wrDMB>b2X0>JT&$c08NB z@^p;X!3?CG+R*6Zo|p@NTf@-x;SNGSmxUS?J)zWQV!EIJ{L^b1q#(F00YuY*xPBHwwa0==4vy3%6g z2zz!$$t%yp-vW^@$B%rvj2;HHQ}90vPJee^?|*)3FCJINp{u30rDI+7$!^trNpr@x zddm9hrV3oeEowvzer@b)VeqRY0V~6c$L0Gj*BWtp*Uq;@aObEkzNpE(`?5X){rrZO zQn?RNVqTntcB}pQScJeTQ$<($jyGJEHv0-90iMe8JNFQ_`7)NOrDJ3ac8r(IeXc3} zlZ@0)l5c_-m$6r=X|0vN^VGmzx**=mT zxP0Z03k42jU8u$94A}QvsM{~jmvHN*^snw8a(9*)R>#RUprZ!GZhZW0ML-|?c+3R_hu~mO4fTtBV@^ zsT!VfDiK{rBh2WH((17H{#-X9j~x@InhBF(W2odK9e&4EOVZ&3$DH&Jf`6X*@m3?~ zU{yn+;JyTVtD1bI+N6O)%Bjet%QEN1jyUC1LGqhEY-Y%Ix=Z0 zNGvEx0mg3g_)3QBV%sa-O8d)-owp5XwNa-;-!68YH;Po5w?-LI(oQ5?Wj3a8DRvta zz9&S0)Cm&Ew_C)kMxg?aDF!xoG~L=f;`Bl5Mh6yij$yyC0Q%jKiC-^m7qjn{PjuXM z-ex|$`<3TzCD2dLaYL= zmO_mAF_aQDC*kmD_e!}~X?2eOT9AIQv(V36Hy+%?*V>;zB?)Z0zZehW4uyu&=lQ!^ z@#HRQv)?)Z65R|nam^e~%Q zNp!%;VQ~NcDRvmG(Ebwm)4rqnKb+M7jHpuCqc;n4GUh)nSQ;6KjipJYKKbe4~(fmvG=f3A^sqVTB=nm^TEMXTM{pIRo z@SK_YHY^qP;|P0gu;f0x@TIOUIcG6N9{d&i`uaEVyse+_s>VMD&#qrsDH@xf(>Chv z5H-hO+CrouezM)iv~iC!MSZ)_PwZibcW!Ncv9;%`e{+v`9HKc{kHY^FF3|cJ6Ha6+ zgVpV>VHfs129b7Zx-a;`oc2rd{M`8$()&{Osd=8i>DQeR5in9~FXa}@S7=y4&+$Ci z`1CR-^6;0tnhm{gM5<9#Jwk2UZr&50Jgv@gsHb9X>v|&QIZoX6$kLSox2k&rQ7R+M zh_5mIFR}a(E0zxkZLED)Eazjz@}BPQz`LuRWeI}wn8L@G%#J?)ShF`^b|1g~srN^8 zA{3BcwUnMqX983#4ypcE38eQq8lF#lh=xH5tGsg)dp~wUl5To;>3dkMq3DJvlleBN zIfDNAKA1Xg6LC(yix&7}z+{G#gP#@VTRhLGoRe zI(JwOK5by}W43IeOt-f2 zb)!KJyxXPL;O?53(Bz);s3hTlq#uv$JFj@GqT$UfI|lf-*)jv?=PW~_MZ2&6gu)-6 zkoNHKpG{m5&Nj5MKl)zFm*;YSH=nsjKhIP_rZ@bN)oi}#;%2Z;UtwX_srPU4RIHwG z;%md6nh0*3IfYcX_bn)|E3#5^2bUp&!}p}-`g`6#H@RnO8q1?Q8J^xbnIL!=73{RQ zGA{-_nuyW+>Hm=T)=^QeegCM5C`w9qi%C~a-;fR)6@0Fr_p+Kaj@r>j}QL8F$gQdCwpGB36 zwxM02$wb5?96^dRN7vxZgC`;YKX;W^7{g0Ta+BwN@=#rQMUB!LJIst!cM{$ef+uBV zI`OR1SzA@Bii{>T;j<^0U}uY2QX)W(vp+~h7&TdAPFgTF!l3r8rz{y+Kq}xSD;Sy0 zPC_Y-E6qvbH^s*Yu|pMQbmj>&bUr=V8q6ECE(%ynW2b!m-}vA?1|O`*{pR_P@IllI zeoQ|yzrYy4VvL+yw*zCl-fyrFT5Gu)h}&_{rZIrk#f@4G_5%1}ZuQ9w|wM?{&M`3ehE>bdvqR>M<>MH%crQ}n>M7(~}MogTDXqxPY|rxEA$R__{*+mU^u2Kv<-0UKOKFghfI^1Nhn5nL8~EFrDO3+iFkfr6BFE$rp+S>w-?Z`rY;C&KBygxjL3p`Y zA^X_z1jfs=B}4Vz7y{|o7T(B7 z2v<3-Ks5Ep9c+Vj(xIp@T2e<2`!K5AArVkn;PZGecH`c~;bN^>^nF@Cv=qsgzUSXV z%Al+4NmtWv%Yr@TyhKMy4c#i7fPRG#{)somy28Kz`n*kO7)-#MVt3|C{*x&wpZOgh zqhJ`?+e6H3TF#R<2~rmUG-uWdls5Np8RiNK`Bqk$kvj7gk(0ivm|Pr+VWbpJB{)v> zJIMf$RSe6>_q5qyIqujo`f5GD_8UwNv*}vl$dgb zd|6JELoF%-`nap9a`qEt1E%as4GiPG6E1~AjEu4ta(h(fd8|PV#vcfKEji`R5+cH2 zv!tLE3k@Q3LnXrvm`V_2cIekSUMTDaOGeeN@p;Z+1OmvMVg)VNL;RG^?Nl{B<_y2F zSJcPRc{8Malkq7qlTD&$!EJhZNpi7 zk28RSQc+P^Tmo_76+fbg3ponC`l0WLrC6?+ulh*zSGB90c+%zN={yb&N3Dsj$Luv% zlD-YJ=RNKp$?*sugQ4+<9L)ZMBmLQ}**`p%9!akfc|5u#AjakC_<@ODc1a$#p1_4l zl{=ADFweoNw`HTz$LLoD@h)=RafV(DPJ}Quu@^h&*P1oR-Q~U!v5_1$1-=eg+VtL? z!h{E|-w0#@9DO{Ls`ujJo)wfZtw(ADW}=|uKi*fSU?-{`gHhRti510e;Ds2r4}Ykl zc&Z)fB7g6(>}|7A!e?PQ_XGwu82rGR67Kvh=T+=#&LZKBaKkEvntr>Z(XPqjd`kwB zl!MpN>6=tXGTk|N&e-n636i2blLfP6q;+HJjo2mA`!T#2C>;`^rI|BiUGrEr6Noxq zH~|}FKOI|$1*Y7p0Bs>w#<$5x?PpvPuT@B_Li7W?i>s@0RHZTQgpr5L#snVPN7WB< zQL%`JC!WaP=#2_0-?AuJi10m}07(O~kp3BFJpW zA_uFcCm&Dx(YU6+OF1Lbl$BK7-tNr`V;G~n*W}Rg!``kCqgPtxnYEw;jCNd*f$Jm#jR3}3BjSaN4fEc5Lz2L^+5u>B$VqyP*u=)+#jp7e; zlGE7y+->pJwj0oRSa03>S3WMA(h9Y4@EwaAcOXq_C%s=Q1rqvm!z zM57{1S!Jy{C2W?ETW>d|x)1(H^73BKL}ARdb@$TZk;&MtJK{jc^+Ieh^qsojG;P`& z6!IhYl7$v8r5Bn2{5rhqU=u#TfhHJdVr`1ofPlL-ea9J$2S1!AMNd|fR1{^bQ-Hiz6`l4IAb0R8ZnASWq4XImQgD+;| z_umGgYz zBDDzY&+7e_CS7>z(a9?WFs|X$Nw`Xn$<}vODv(%ffn`lWk8+rtj_+zrpvvL;Z@8wN z77otMj-XDyS3D5$XSXvMZ5SUFPfwG-!n^xq@}@d!y1>#;9J|5$L%u;j<4{5Sh{0H# z39z3f-T{W8mHbzq#FNR=nJHM2F08y{O+QDCfvwo^sI#!b^`;5~RBdxo}k;bd@?Zv*T zf&24w8=^Z!7yFBnLCaC%EMsG1L9?f5^-0I;+imVGbu0#uP3F6B#HY@$Z><9{pH3zz zy$RTc+nb!`Z><0SPJb7P#3-eV!ECXfW}8;(hdniE|R0rRC@)kk-fP z!bvvGyr5Z+SvEd?{$M4KSxSe-#d@cX)r4Rbfmx1Jmo4t;ap=P7DeQ1iRPX{irexZ5 z{A2Kfs55%!gYFw8CV%@_!sj|3%>fegURaDB^gZD5>sFd0|C5r4+2=ZWpc}mDL^UR$Mm1 z)=mu$1K|M%iMFrpEDcM-jBIs;)C1H!HjUton}X4XR|S^uRhlN{7G!mrIGhF~AD0RB zjpa(dSLKrS-@o1Q2pNsvt|7jIhQFqPz%7?Pdydl?iHLq&EAqEZq2^!Dcxh{xi|=Vh!oC~erq34chXt2%Aa zVc<7~nBqjFJfb0#2WlWZw@U=uOGS6dC@3h}sAGTO;&6?T;5qP8*LE|QE@X$Vos%%e zYg726cobj?G-qaH^~VB>waaSV$BLik4Mgb;F1Ewlo*G};k_lc-k6FzAnYbm`iMrDz zd-b*d(MbpZ%W+wbOEHaoimkW#3L7U;pcN${$jB6Z<0i)d9nU5Mi@3~rn|vb_HL@T6 zjbhvYZ&e+%zd1mKTu`WHm$w4r_eUB_KlBq1_a?lJhv6%m2d*p$WXDR|OA|?CvWMBr znw%HOk0{?8d)aXK9W$0jKBIt4u@6He=a(^>}Ej11he@^l- zqGf4J!S!kSS+~sOsF0gwo9cCOivAnQv&54mUViQBf#4S$a`o>Go`N^)CQyU|;VZ+? z0Il;Jm9mG|XC`l&**zp&XH*w|OX~7^q*LAnv)vgj?o`DtF8T6C4`JlB`l)Ss?x!XuVr;e&+SLA?yXi5mFlw*-r-RQ*gRcNaA$Ow$kR^n&n(IHY z)}P%H55ExlYS9ld}Wy1JvDS@XUnc^Oo^W0wFPr>OP;G(043+3KH7)YIwoM zBDdMJ`Gr8C?W(wV-=gqyl113nDkg~;jo-+Kh)Q!fhpk39<>iGIO!g>UA`4WtTmedA zWPAr%KqC-Dw&X6K4?D-_rkD3Sah}nASzr`;OSBHyy0)DiAChII5kQis-rEe+! zBdte`{uL*3BmzwWM?_w3(Z%D2;}8WY#gJvy!d3Nu#5mQhUJ z$+TT;=W;49mK14IrGW%_zI#j%OM&f-*6r;-bDHNo@a2R4#b_ zrO9uEtt7B>YEn)s6IzGg?-L1Gu9zy1hH; z?MsC8gc}P~VSzAOY8n~_iEQjYjrwd@qHTJhir$VWqbGPY>F4boIg$dlxjxfsR5F&x zbneRH5SPQlf-;)1%ofW$tbG*nRiK>8k_KhHETo@~wr=BKTN$sv@TzFsL8k)X-62Oe z$FWI+$IVr(Po5QZsXCm$Ln3Z`zzZOJH%SnX3(Le~XrR%!glnpS%Zojl#p|E9*jC64 z62vj($=VIf?7=OTlPe(7!Rle}vbgW=_@h7G4Jy+4Q(F~eLIcg$2 z7%V%v4D$&I#FfZ3RMw%)Q_GBD~=yR2-{?ax9jG8dr@4T@5bdSJv zrTI6py>Zx+cqq)H`fAmYm;X4PS$(8bb# zowvlUffJLKCbqO1Xm-z8D^<*ez_w}uFr6>8By-4!fk)V z8V<^(Z<)w!$oaz4;X+IBoYI3ydgnqbEm!`>T>u95F1)sL4DinjeC)LT4uRi6K%8F~ z(vh%*w0RP6pZp{2#YnSF>bFGd^ z<+NY6{I(})ZpESuX_XPcGd}C>ojR+TxQaPT_gvaXMeGJ;MBB>ba^$O7f&F~un-*7w zb1KJ*yHrCRlXWhGXWZ9wpY7*SwmtvOLFtg{34$DMkhGN00%ih3~&gZ==e*dG?9>B zSW9uljg~mKPLPlSDs0JwoJ_uu=$XfqPums;*Gw3Rj*aj8`*6yeTq!Id&H*%d`Q%o<`fix#Oh< z^-l%-L_Ql0&%M@r;SxJ6DRzWkrYuvkc_1eechFPc2N%GVKOGu^k0*>5N)BYrSvYb5Ac8D(ha5)(NuG zG2U{?i@#9sA3#kOD2Rz#xr8cg;2B3>O@^9T5#%SChvx|#quU=Jzy7>coWHeXwWzQc z3-VukWuV17%z?u81L8IC_9vnZ(2X70j%ndFvbfJ{sW|+dWx5a=S^r8|F}w%DAH_>P zHQ!j0&6TxMzx`~|J<66vq^h{Z4)6)o{X4)!x_#lmof|IYY$4RcP-MBeLRbFP(Xz5V zbdo;4mllu(fxBE|*06aAKvQtdKJ;4rkBA<@wnJ4r<9? zTTW*d2_aefjzm$SS3#czzqYvGpnm+cql^;&Wko$;2Kz&E8!);=!v}Z6zhYF0^91Ns zZhvxz`prBC|A$u}r?4pPKE$+Q;n5fzaes6F{mjAS&KhBWH+KCh|Uggm-L;M!w`r^$t-$353 z_sg*I@C%j{mvS>RsU;1LGi+HkTMbG|9@L8IvNGqYZFHW2$`bxo0iLka?ZOWB*PDncAw}#TnJpWXlak#EisnF>Sb&Y_@e~2 zGldZ(Oj9Ou+@QT%wef|VPWrbTE`inUzEW6T{D6(W+cCZIoxuXjebkm3l}Pp*)Z`eg zcqF__`Ei%n(TlO@`eZ4IWAFq>4n`F=BvUgq3Kb8u9oBc>D5TH#4wZPOFt}z!2E7(Qy1jAC?m>A@Y#yS*EO;si1#dZQRkA@e?k7*d>Ah zc;Wcu58npC5r^9;hco~1=?{%#0>sqG_* zgkLLb6ur6HQg;W83(O`W046{~ihvT^ItF{NPISTA!Q#PUEPjsn*b6I#(B+5%NvrsD zIq^79RBa&IlZM34Wp7j1T+K?uAG(z#WSdEpQ#US|?BZJ3l78EmGE0#sM$-2caeKa; zE6V%H(kIICzWjSj5i4EG3ZA+hy`5b6aC*`d5($zZ5M=EIU&fM^eoNw`r97h$Z^T*A zV7hUj0qT};QQZ}KqXY^~zMrzjpemHfm}+6gnr`Tds9VlcakTkdQXDxSk=x%Csw?s} zSA!*qHWUHq@MaCsIzG#hf^B#n^UOy~n4;HC7>Mi2UDxkywcTA%8MP-Tf&RAJKBy)n z@%#2CKsx!ks4(bpuOcoBSMq3KujTr;8&F|;$UF1rXu#N7l&o`0DR2?!TZ~vgl!n0p zX&d!l{=xx$gV=pI;KIFW$WQzB{Vv*!OAEfKM#_M*n}BMp^ z>s{0R4$`uMaZD9;`M9<|asTE-nXxCTqARR(a_V0~XLxBk5;;;TKX&|IYRZ43eG@;q zKf21Xdsa=&CrXfH_%1l3cA<$LUxdESnZ#KmSFk&t!GI8kpO2QVSNya>aIY*%=wNZi zG$AsLS33P1tkBg-c+FFkv|y&LQxg{+DX~I-;2KX&`B4&&zr06{GyeQLjY<-Jbfn?s z6nw%}124r=PAAQc2DlmE;al#PcDrY7*|#2(l2zJZX9IT*TbCkq59k%QfKcU~+$D`$ zEX`vBNfecZ#(b-GXaZ>H4KtYMOMh>StS=0N#LQx&ty)!8AgfzcDteDP3P~E$VQE)I zNhh*aF=`Kw^-_rw&Mhe0BN03-ePLhYAppsLZp}ObGqai`Z0#`5Pmc`Ft6K!>@ z7hD%EC{@#N>WR-!zNVVY>H@_J&({;#%eq5jen*gz=P4(REF(w6{cH6-cWNfuBp6R3 z-z=!KDCu`*FSqW zZ)Hx#<1+u=b2S&Qioi*l)$9;eW*W~m=&noyXsezMU@Q~}N z6!3$b*N6<~PIA*FWYjg-?(9=e8vI-gW+!8V9c z;kmzl@4r3#zp}Q{i89F)+jXXHgP5FOk_?hME|QmRZ_j*LSu99ts-`{VZB#hfQUwt# z>O($3c@KcBW1fx6xFXJuzNzBks7pws<2cYtr`tNov&v`tAq(?sVZGyx2eD;yy`#7u z>KOK&3b+kL3DbosCliNquKMcxUw&|_KF%V?A+WBD*%vQj|1M>Sld1Y@b*!lFu?H0I?eQ_@eu3h}y(G=0647*NqRAcj28r#25G3>KtilzHlL{7&Owm zo;UE<#Mng-B2%lRP(cfI7<}nE@cZ>Z`qNoCj^LsCSpofEo6)@0X+wb2MMR|X>i&t^ zAJJi4Qo2b8i@#3PL*iS9$+{18DIFV~g@Ef1*4byo?B?ZxL4GiIP32Y7L?UKx)3!vkIe{nI)_=l|F147Z!< zoW~eQ=xK(lD&7hln=6c5r517;@R6QCvMqP0TpvD`Kf>RzEiw%qUO)~TSb-1RFM63J zhzVFfDR4*|h=dQIY;diB&}-b zSsEVK6cN27I4DT!T(Y8HA@muqUW>o!UbBC`pciz?b>?R4TI)W;YbsyWeEKw{EUQ8S zRX!nN8gQ5Qmz_lqbG94@P|`PXe^BDLvbFWQ+f@FxfLvm}%?92)TTdr)JgepTOd>hG zQ&ilQkSG?^MeEN&VTnuf;?Ww<9Ni=JR{M`NE_Qm$k1lGe$ zV7|I-qU^;`(3d4tCO!5HPp{cUQB|+IolRm1DAJo0d0)C*;5{<=?}zf^Vw}8HG=MU zeA~%)Y`KK!9b*>(_z$>z#zRk16PWFkKh9W&fJeXf`n6aA@aSdM?)=lE*SJ#@qD$e( z9=!Nt@>Q3@k6mI?sJN&55_MR05BUfss2(~wwAkH4GX5DiNc{raD-?M2c!s`+_Fc9--`fnemi9_C;*!$7MpqgvXDzXoKle5L_-b8oS|eL!?~#?*_l z&WUW>%+H{qOCTY-^113^&3Krj5RHp3^*zSLQCgs)nu>3|jEo4hUUvGrrT<6FQB;tc4t=}=;+vL1NFg6O2R8$hl*uBJN#%c&n z?4^&^O`8G?cbK6wnlJoda=!}Swj0YM8Y(M}ywr@UeUBtyY^Jr^L_Sp;WTtI8utMfj z0f8V6+zgiyzm3qXUYJT%ZcX`m(EE;{Y^Fo}vp^fNM!B!t@NwPNL}DJ(mg$|#m-h_;Mo(=*-~ z%OdqVer=e>AMWtdLLts${Aexdl2_x=d`x^L!9r*MdWJt&>ectE_lk&@ep`jCye^w> z-j+}g{2mW}?voMtEjn6EOl%*yY}!Tbfva$ZwqE{gvgZGptcxD5e|-rX9oT>m5ZujU zH(4H*4!jT&_a}^e>}wBt*}wNv0wM~e-PFG1irYcY2KPDO9VgI#JH7N;Pt$QJa`gZG zb1~I*;QrIe)Kb!mF_(NXD2+Q;j?~q!dsw~2}dCCldms;1dadh=NULK zl1bSxufqSdCSTMr0y4OUH3WL=G?fx`8nyfAfOSOxI}YV^wy@Wl5sOFNVt0`x-FuHI zD%h}LDTl2Kk4e&>O=7l(K1!GgZIOdlujqvi9XD{gDyK(oc*V6x6{Igsd2z{lp*WnW z3gxKkj$+jyOIr76v;8(Eg}x_bbdk4mi}U7QzjCn!9ak$&r;q4@eCgJi0jyonh=%LFlja)*^6$r?ITB|`qWshX%QkXR>D2DRA~xC@{H-h^5SKSa zc&YA15$QNb6jYW6{VCee(`5AX$kcxH+oUtEWgz1&&!g8XXL5eDX?k95gYf`Kl#?i~ zGpn;Icp5%cnY^IoeLwMgw}tc)l zO@O)o(974-6}_$+l%T9#tfd0_nthgbnc_Jp0F)%= z8m+))j#X>ibD2(a9gZ6Oj?C~qrH7yzHx`&*FSC)AEm5?ZR~R6g0gE_cnj8WI%9<^< z`1w}fAjd~*@mDo9?pf|6jJgpoPU)PwTki!)c1bQs)mm(HDbNyq`RNDyWwTa<`G*O3 zfYF+6l~esW|DN6QeGrgN7k_I5xWkR|SIhO)$I1BL!{f|2!kC}+3i;;udxtdLYb`1J zG9@{=Ef7yaci0|b)0!m%3jt0qL4M+~u1HGKW`Ko~9`#s*3qKU3&jPhgUI}MvV6cq@ zgTz1hOD~N7Fi-Lxu8$zf-{UIbyDpvv_&*oMThC-zWxqy--Fs5`#0p#!_g(ejg>Z+H zd}v3RobPeCt>r`%wR+?cN5jEXA-q7~(qa^a9wlEm-i*Lg0#?uxgw8Y?Tvl|%ZHpyE z4;N&rzvmf1$5bzE{4aKbf?R@XFLe1CXbo=@u-+i2VPN7`4^q6Ce68s|b^NS|6@O2i zNWBp(OqB4Ed-(W(-nPhJ%au+&TCO?%TwYTI^<ur~^CIV_<3@2;@IvFKc{>o?}S~ zafB?b#cp8-XPj;~WKN!L6^uB{D+JGBI8c@1%&Fch?_9+tVuL1QN}!O zO?xqGE!UU3?Zsuy6p}ZWFK2FX2YJMmzSc41w*wT-o8YC!kMZ&GdrB8~V!;~5#u>g% z#9?OugT9r4R#!&XFL2xCjZ9Bd0BSuvB3In&U6>K2^uecI9v5!$(rtre&0pDxEf=kp&7#Fg<~)}p_kc!v3&|?<^itY^gdT9W zpuvgi1i;Gy0|`faI!^_fweCoSj~Cp061wQ)K9Z}n_({j;ep$Ei0*9O{q-J;(IsyGDwo}g4l2rk+ z1grxOybLBA2kj)K)27mXdv*&(-7~0^@;osFtRs<`?=A9S2`*I-5JmlJ%($kIF-x!_ z8BVn%ivp4qMbt7bCNY5-!A{zE2Y}MMhwvTc0xyjQf!FrCY$2D;A!=qFNz<$ZYfW1{OqQcq4>uA4rm z@`biQg{_A&BZTT!JFcxAmYx_JjO`j>7t5dq?ewd5chT) z*7E)gTofZ`_CT0kK_yj)2e4x}_qp$0<-AgqqFnjXFE}s8IPZJ*-I$9^6CP6r11>b+ zYu}7fpt+CF&rZ;7)>j3*q?UJjU%E6foT&MqYrdP&Qr0&1J$`1|7WAHe^~2mR;JPs& zl@)GvhM!UEbqF+*ehb2}$nevwp{r z#da9%k-#J!r`{K%%?X-ddM{(we*US!C~3)wAG&6d5fQ@0$b66xmjHmmaWB>F)Ey zT}$&)ZiXpcx4$=u41UCiM{8wEIQX$tVmR)&OTmAOu`k!JvXE8uJ+&c#_^ql>*7L%X z_VF11dx?+&qY~8!{#yTQ)j7b0V1o_JcIecuUzj39|0I%DvUvkNGlHG`Ln`36Nb;ELhkb^e?Rzu5GzmdHM zc!S!{-=yd|@CJXb{m#|kmi)P!ss-J_UHKF5=i}WK(@(FpdmQS5nPxOcVv!mSApjC1 zY6pnyWMNm}J5Ru4INEqrhEH3!QxQi6-D@RRs?;*jIbUb4I08Vne(hcx&TV5!SD@7# zPyA>o3_iY!&!wrsyG!8WP(ew3z1?!f-msadpA&vR*R4C{Q!h}b92avPwz^*huM>4O zWBbaS;nK^t7))yP!me*mxN!2};xcaeuyXP1<}H#;>x5dZ&a*%BCvn5XH%?)KAA zK+H`>mAGk`NoI4 zJUuMeFo=Tj^k9GcQ}@|=M#d~uS4ma40@`>2oX&?R$biezxi+PqIQ?OmZtv-QVSYMAZOPZ- zpq3Z7o37E~Cr=v8nUNZPb2Px6E6k1$fXkN-2Si~+szO;SR2LD;0`o8LfZYo-jP>nn zUdunznRQ8zr33*#+Z91Joz#M#X@okm8aVg%BmOD8$!W|OoVTk|<$f3F@s4Y2;iY3t z_y`=>!i=A`ur@XJPyPX=0^Eh|FQx78?Ndew5SOWlq&A{n0R{1Xg)>a*VM8uQROhpXg{Rn*7}bFytOs2%Z8$h#e!w2I4N`L<2PLa4XVNycXN? z*!EJr$D}G#pHp9x>OY<2XM}(^JC+h&Z>jmNnRc=qL3FD=!M&ov~$>Jaa%~#MxMG`2Uw}kQ4P_Mt7RHa^COvU2Pz6I$=yZAn_Yjsm~8&mN6%DZQLTO!k z*S@MBxM5`e(Ov>4Q1csgp=sX`HZ^Ctu29+|YAE zKW7L*7ls1OgCDff#6~ zYdT8k*#I&+Xx*hvDMh)i!6>yxNxRg=p-pYgvxNzSx0vPoNV)VN-kOEw3Rn635C@zN zd4C8=)l(9qOzff+x-ITf+J-x{mlYLSvFVfhhsvn24%G-C$ZSOMog-PT35a}g*KCu= z$tc6Jk+`?B1IaqnsbW;DrmXW|t$C(HUQPoK7~Yjat-a zcg3vw15{}$P{3yD0GG>?WLZH2} zD`@*hM3tp_+uvI}nU0t>k$LZVzc+t&{Ix#!Wa0tmNL!FspyJJ-$< zT4-(l@|VXB>I_Rl)dzq|58jqFL3AyXEN(IJJJkPPm%Jti?yJvo0@6M(z%b&FESWuP zn7?!o+HE|Xp3;6NzfHG1dUYeUv zm$Lj`6Xb+F5&w!Dxkxv3UK8JM_LiQfis2=!X^0{-OFFE>)s0tu$_#tmhZb zuQQd_FNK3Z4#d=g4hF*_g__8bmWx&HsZ--E_FQA1of^}jOsQal9lQJtKkr(gg8%1~ zW;-xzCS@xkAR%fAV$0ds%#Wii7I;wFd6;*DnjbAw8#+x|l1(Q~GH5~i1T zGQgoQ;{t^4R8Fx9^*~V|*8#Jrdyh;(?6jM5NlyM`$Xn^kVtG-$$%$0JVfp)C08=e? zl_@lPcH4+VU=ujC7R2u66-r&7JyYv)`djyw!3Hd^qX^ysY$8@w4xHE6!XF-J2GpJf z(q3dTO~w3tGzcVrvT6ITdfCf@F#g3#*HfADiycS*l&E3V7C=V0C72S=2yHwCjH!0P z=KV<28C`)Ch0pnBepSjS=H^6~-WBjm0#Kdv9+F6{ufrqPiIV9n(nXX-R?)%ItQ4~% zWR>p4V&Kxl%zVEbYA2jKOsr#2VUhyqI4H(SkZ&CSp+m#Ym%DGfyIqZeLr{cd#tTca zU}k8_@HuxVVkQ%3%H|KX*oOkn+AZTj{4dv6r!5J`1^A_)MIG&|=kL)XA`9-WUirR{ab*^Sl1>wRxQR>*&?C@%4ibGT}-sewS^4Ory<_8;N&IR8S|r-ZwFq z+jkRW`gIoa-NDNc_*+&P=bHKNHl0>x$Uyz~hmR05R8p*lOtwx zG#`dB5ThEc5c) z{}#je`#<_*Fc_2Kx?Do0!e3L;fo7JS%M;3h?STJmO1QmDM)5^gSE+7y_JwJ~!KkOp zUa_TCl?XD-C!c1zB8PEHNkRnVypbGpmCROTALIpynFaLev|b$JtnpPqPsAolk)o`A zjDeO`x-`hBO#uRyd-ci~B6~SyF`9lCFcVtG;tA1&G*sWn2d+)D7nwtGx-$Vs;!IL&mQA8gWG99P+-QGI1#b;cA0YkD3go z;IHjhw=LEtI!eXPCW$4v=5(hY3(sZMyw@iLH~$w1cun_#@TFH~oO1FOV3KugpUC`4 zzeK#ai|xi*@py^y>)a>M(_jODZ+NUKzV?170VaQM#zTK9*m9-<88xmDf&wsKVPUx( zbl+SpCj7vR9)wFR!UxdNduOGP^_{Qt62P^O`&l_Zag{I$i>kAq%pN9BRs_&z~L%V~sqTVWEbN^y2I3AnwOb?@1p2OXoe zJvZ7oWhFv?rZE!%;V?JUWW{23IM>sw8^bvCDH)Cz54RO-XVHL3jLY40q@h4BEGj7B zdg!V!Lf(e3;V$MPjT4S*ZG-Vb!Q@SQz>7GGJtf>Q&a3J zl>i#=M?i;9O4vLYC2_v-?bMGg3+p;PfXP7FdwT+#_jGMa1Q^GsUOxc#<#ctn4!gSi zP3q%*@(&glzqS#+!%ffnL z2vXP44Bh(>a5b>7s&wF6#O9wOu41>G==#bz!~`Lew?9en2v)kt|IWJ*mj~ObqbLI< zLL@^S!?({^q$B|}*FgGZxjz2TcqnjzDUt%B!vtN9^i!ik9oUpWc7(Brx-<5BFKhBg zHCo$(sB;BP?To|<&XSB%M|*qXVakmEdNngJc}j`HqRY&`WQ14rw^j*3bt=&*oT7x? z5m57IOpM*3c#;=R?;hv+-}8t|m=--xbWlt}IN;3!Gsy*+S8Yju2@n)K(Vc2ddL2q& zYk7_$-q`O}{^#AXfS(LeSZpWr0JDN?=Xc%D*Qkr{$H#(|NytBv0ah7JH9V z8uL2OZ3x;Iom+hZneNjQ3W|uexS6hVRI-XNQ1TDG2JKId=w5Kh*2J+(=b?Iu0%C=r zOE+!1%94wi{b;S?*J6Op_iQ!^)EICnQj=DqOiQTUIvgSRGX5v>RLFojv*- z#;Q}*qcDJxw<#-)x3tmUj}zbi-P8JPo-tE$QrSb|O-!&#y(353u5k_Rzsi4~$^y9t zn_vreTv{M}0@2@;#^D^}N}xmo$CH0`RX&!(#SCC(XllYlu79oPMEzfcy>(R8Th#vR zu>g@yrCVC0yIVR%LO?}A8YDI#(jgtv0@ArbqI=lRTPr_UeoPh4KKQGiE(texhU{;L2MXYe9ByWB8LPX>7cVW@6kUa&A_ zmSOQ5(n9*nUAUvn-J`f?R6Gfcsld{x!g~KFPS6)pTsGb_@rx(G+!%b&gw`Ck%uWw` zEWnHH91pC@_!$~`X2YCu?szt`H=hl!hMm9X{fUZwPMQ3s(pF>riCKykj_a2KFcL=2 z9CU+z3|?0b-pv|aT@s1~eUbaA;f(C`r|XqQ&j_LvP~#VNxm~{AGt=DLool**br+cJ zHPa9HCjxP3uG_VJ8tQ)}_xW(@jnRX>&G+_c4tZH|ccST)m`(|&mzI{0WHHp^l4Z;8 zMKr6uMl|)VJX?jnx_W)(s?nG9e87Bl!${*F=H0)hhr8%kQ$v5mc+L2?(GqJJgr}~4 zjWPZJEsW2Z&lVNNPq;i3mYNzwr2~SC(8i~2sw2MER#Vw6HCZ0#rSv!{IC6;6pR`w+ zrN$)?(HZwOSG2By>$U-pg=!M)gmOq#c%K19P=XZL-G{$sON(UinZyKO81#RHS*_fX zzJ)H38TlN|Z}>5f^L?5j1(bR5y(SQ>O3`Ep=TyWZ80I+MC0I(|&4?)%FXlTNZ zPI)|vvmbA?y@Qt-PeUQt5~gyV*GweoS!ZFaBLr}lYXFi8$j)U2ykFp~oT4^!Sp9l5 z-e3RerAnxv*ZJW0>wHjAa#ytE?_S-6v2s?Nnu&Juq}}K`BmE5&OqL{KL~nl5>n~5> z_6b-LcPPe^+0QC(9A^beqmVhOI%}AEdct?XM^D@b`dAaHgc2GP#!s3Zd2P=@dxZrS zHQK-^CFLE$yI{Qr$>$MK&bW^*P&zSbp*IEa)Jtf~YmQ$(Y zv?V?)P2Iish*k{7Ob-b>G8s&Sg9Z&yfqMF3mBCqx!QZ%h=6jy5jxW+aclfAWB=^|pEsH9&tH3>p?jNIAMVqkM7OgChH@DedyHUdo z(h&L2yzWs&swDHNwL6~z1sAs}sOH1gz9%T2iS9BU@(b=d)FdZq9`i%-kN|1IC!c0u zf9|#q(A(i1S2C@BdER8CFx%*NgpT>Y95uYFWM0T8^@~e)4M}IyRgrD7rbVCA+v&Ko zSSWm^vhhYdE_M;>vz=56vowS_92(p~8n3OW%hZXC#=|+CX^VI#9!;Q_g^6ZTo$%tReIbLDe+1}O3ja9*{F#!`$M(38jdz?uR zzlvU#{Vw}JrQra1M3xP!DMtU;wWL1sVk=Uyr@(ePUnmQ`F^0u(APRvzR{K0XEHDdV zuXKh#3HWFaDtu=-rnTH-AdlmI0p`1?g(mO^pd^gEHVNozXEK+WW7EK%_gRpPU`dp@ z9M&*;0xYpfm+7M@UEqo?LX;-#aR{!r@_kL+>GUE^PH3x zU_mp)FE*jw$Otl6SZM5~nzU0~7*r7@J4!`j&dL~y$asvsh-ZD$07+c9u&tS9x}fFB z{PBdRPLQ(O)Lux0*I-8Zh44htVG)<@_}b6zoQ!fy#3jypz~R zp6s;o2F_1F;*0rCwLMSjt#{T`jLZDLK$72!hz0x){S+Kux$pM!wqgn*BhFv6Vftib zX1VngsWWq@b(JP8Mb|T-=l>sTa`$|{+uDNi=(z2s*-l_Idww-P91k5!HKPH!_cDk< zF7#~gvD2^)IsYgZ2xarN$yAhLt3D=vcbn;JG0Mwpj^;Toc3o$EX4000;G>xZDjM7U!N_Qmy;N{Q!zL5zX-rnZ0V9Ph3z!a6$#xUQ zW?Q#Kt!r86C)KNZc_u!i&n}5uQxHcAR@yj33wukWX4G(~Vx=%M9dMJV2w_0(_}Y zK2!LrbX26!m5W;>KYF3?ot$jS`6=dXR1272V*rOD+j!=OX#I}XHs7S^YVqm_Bv6)T z!S{f5q00&?@nr6-2f7&cIY@}y%<1a@!|~R%%d_Q-JQ|r$)XV;#u5ZVl#7=mb(RV)1 za74wv_32J9^+^s<9vZ6pO*ZiuF^Ncet;F=;^mxU{n`l&fOxSv;27AFj-ch>TxO1ZF z!0=*+d^{`eE0JG#%%s0h$i!q4X87Sfuost+HJ%@c;=%=hFiPX53KcVQJw@L7-~U3 zvNp2>_I$!tT&?UpcCb&H0OQ3yKeu;m*`w5wt;%&zcEzt$UB@X(JNrG$Xw zc%dvG%Qf*9S?vZ@zF+ESZb0tsI*I*uFY0VIq zVU{mAIj*{S1$t|e#UR5zte$L78IwV?)<*L9rbf}cNCJoDOreU|F=F6m?B#FwxA#v7 z8eYFnaCrV3$17HZ$|CpM)JhdVIxzcvwW80E^bnj)f8dKOvbD=6%?Yu0@+;L2)9qq( zPnOb=zY3OsW21eC@z?zKdLi|Os2G|!`x9o`>RWW!Yv4*L#a!p--{_zTFLZO$4?s}g z2&fv0Eo;G9BT2VGx1zik&nDD`X*nnyoV6(VbllT`?OFl)?rnU_h|>u3+VY|BZN(C; zlPtblG0EWjrh(l_n(svto&j?wTP+edO!VRilWPBrJa2jI=5ydVq;lOQC*^t-(dGW1 zH1Vwj@sBy!il<-uVSsle>7Zexd~=G~&=xt<4wwCggFI=%CW$wh?Sd0+<1~=*j1lyc zcXr0E*lq-N0-6?9m22USEH@g@z6pUhp25EQ4DvrgGg)qW+js>+NZek8;dZ`wouf8w zzt-jC2qE{W3S9-~OOmr|84@dHi_92YFwN+Nir5@)hbB~Qwzq4&l(xf0=lBID$l)}- z(Z%TEiy=g|OPeu+zgD^UPpQCk6rv2RUATG)UxOw&JlISt)bV)5yHDY6#gl5_7an~2 zlIt*tA-V^EX8x%`{s1a}t=Il>9gO4XVj~8C8pnWBU$evKJavzPYn%9WhnYSYgRFJ~)%Z#{Nro#j`h#{+{1*^gdd-Xz;?XZ?k>|UpCnC_jiGQkd)wZSo`Rt#Pi z_k2c%REfml%Xp_R&Ur_`R?o6^^aj-go%OS7UWBVj5(Q#_O48r=d#3Cg3(q;%Y3(RC zx;VmqAqZLs#@GIkXd(ovLT`B>)n-a{oJc{aD>I4AhjKE7>8<|yWHM*P zkRvn=Ouqz@vSBP9dM{ah6(70-xrlkBWNG17@}^J3IWyWP5!CEzeUJU&7meW$!Ul76 zp1dGQb4CZ<4M<>ad1KC>%#PMZw=wiKQIo4JZTC+y;4H~nEL z+?Lt`+~`S;$}CSJ1}4)Qm;Pa{FHv0I4biOuNl4nA+fpQfSq22;DZQDK{7N=!LwN>Z zAF3h0$tnoFVFS-zO)xhlv$)<`u-FFyFvDZcj-!tA1fQgFc`r}F2i}qtp?q?6UH)p| z`WrMa!S<=uIP&7_$VxWhvz=+$U@<5gIirl*0Jc_0K4uzgOvaI*L6j=AWVXBBJT_AT ziM}Y*?8#|hh8)b>R^glV-KyX8D6vw8E(#I}fkIkv8A|f4eu`%D)7&!vNju}oDmwzx zu9UbZ=(D&j^wR-L+7?u^@ou8_T`Y|cRh9YjjsUQfby@j9Z)3NIv;Qt+OlT8WOs<^v zbU!-o_cH8DLH;VPwVrWzg8zB#!lsm1ve=BmVFv$HDSsEmSGPVa4jVjk>g4rPIq52| zHl~TdeLq(6R~^5L4XOaegVrR|#g?yFBTr^$7zxQ5U0fq%2#AIkXySx!l39}#>|`W5 zYQt=aw+D@?5iPylzh-hu*iHu0_~!Ebu#Cf1!}+uq^OONS^h6_ouNTcm^*mGWLpbp; zoz6LT;~6CU)t+$Lgpt)O(U+uP>nmw~;Ajh@at5KMYk?q}HU>I!BrK3LG;DO$#N&Per+*+Rr%Z9#8 zSd;K+l`>y9KRDa%FZrMcytXI5N&+@L4{Hf_mnt0IbC00@(05R3<4Jxdcb9?9b4UK7 zdxl`p!rt@zml0OPMq=WT!IUe*u8;0XE5*gbt&ZJ3Il#o}?+VIV+(;_91ZF8dG34Oo ze0)f3{rGChlsrp4utgO_k=O2wuNmrE9+Pu8u6&C^w1d}e%IV!a&_4H?Qv_|foD#4JkQSn ze5A6c!~@0jXJR`s1)hjVn&uKcaEsmFYcIYiMA97_f~`*^YNE#zg>)C1&(L%pnLpIV z@a_BPMzy=t)(Y2opG%)2Of7hv@2zw#pHKvO9i{dplcsRNST+zv4u>Pp8#^FevARv< zU}#p|W-c#FxMr!xGOuyT8=om@ZZvcGpb8*{X%ds_O@e+{QRgTJGQ{!hdb^+X|1;G1 zLG_VBV7Wk1CanybmN_0j=YFB-~lmx%5q0T zaK63i)06SYuNV6eW1V+u1^XiTC(W&v?%69^dGV3x-z&+SxOU^808zwU`jB|*!6i{gIB zztBO)s=6GbI0rTO1^UR9teu(JJW+k26VptYhNbhpbS_R4cET|&$?7)OAssA>Z$_LN zJ}%lOxy^tbWdDEIL6$1N*+IryaLlkV|Fhe_*+I^)YVHl2((yKm&)Hw=2oOUPD-0AH zQ2K@vX~3IzfyiUv7#*%1B{%3S(JRE}TI~Y?LN+SCtJQfWJ-{EbBP>pK8V2hIn}VjZMDClfRW&G*Gz*1!l^^==4L&(O0#Gl= zvgas#ybwJL0x*h=M}uPm!I#Zgp4gZ`j(A<`!3~HGpDH5OI~Gp+Kx*wtjT}Q^xafro zAb-&0zl5*>liO7wYC;>-tz9LJ8tiWbl zK9Cx&V{~|AL&py~v{ujp@f%pQ)|r1wt>RQl)g$f^wDAX6q&s^r-%Jx70E>blV3Ai+B_i#Z zl5XFtsS#S(zF&)W8Iw8vP+A`6OZEI=jx`>_|+T-iL(v(Ma%DFv4S0?E5yJ%e2YCyOGuQ@TYpD< zWGFx>Uvgc@P@v#MJzltCA>6_nJ?Om~qP&bDz{U4sYkwvDJ)bt)99Oi}_n~5PQi;C- zM$0YXGYs(;J?T}s^xs(u0l-M>3Sd+KTOpHb6X1JE0suxxMF?P|ZS8A}Jy)&fdD5Er zqs!>pT$St1l#u&xoAW(1qhIysUzFvE0*#&^MClm^`@8UquI6lFZK++HRysiek^LMB zcZ>N}Ot|JnE`8(NXn{;BO^+1I3p!;Eoywk9uc=)}SQMWAeSz<>K>=rjlFH3LKyVA$ zk3WO5Dv~j~rs8PSVkO_n{?w)xh-_aCNp{g=VP$1Cj#lEylk=oDTj+@N9y}DF0mZip zAGmf3vcari0~E8~c%sZ`4C_VZeFCu(Ykh}1-RuEiTKWL$sAhrxq{O^ow_j8g%KC7( zIrD%-`#_*DcnXbyQ!gtefneuZg@$nXRxs1~%2WBJ<)EzOFSWp4p?#l0%*7LwZ8v;> z6nB7G1U7IHR|MxlBmNT+EmBSN*)qYPtUXbvCQl_+ygO}k3D{SfLQ{_4rHL>g{b$&S z^rIo`AwMreJ0^vQkPr}eJ~J_cSKVudDem_fYJqE;tX_GTfOkBL?%gV+tF|;Gw@j0q zog4qHx&15fsk(`}M{B~U%X_%VY?4RLkA;Q3L6XeR#^;Gz&|y=?h$6_t#^(@BN8!C9 zuVi6L;~y(zg>62K=MIw0%_O#;xvef+-hzS%f2L#9n{}~MK)9dRmKw|Fd%r6y z&QW_qaZ;*R?9#rvEIK42^W-SEM3_0F;!UM1G`-HVkq$p+L^HKpys-`Jx<2zwMBG(j6|O72FvCTq}3ndSyxll~if zvR6g}va|R2`f0<|n_HP%$lFxar_BR_i~0 zlL{U$4#X4X=|Wmq|D3yy*{wOgn>z{vz`O|=nWUbvh86hPj)CX;@_hOd15%;3AFLl7 z@nh8BZkJ4=eO$lO`*X-X4Q7+dXJ-Q0{uE*#SkAk9u}(jQ5)!50`f|?I=--TVOH~pZ zkzgT%22q32#}|lS+UxNOD-NJi_uGUm3tFuH_l09{b>U!acc_a*6Mvfwm;D(U7%!J* zduz4{{)36^gycd|E%4NptIIu^ zhSG?i&Cljs%%6b!ruFS#H|{7a6BQl2+5=)@@es;%L4V zN-JlJh3m~z-~}W2`kq9m%#qc%dxJi1=LB|GJB?vew=L6|@X%ghZzxZr zl_71*)ysSqVItR3A;)?sPu3u-NmEaFSg^R+tFU0WHheYfzEKMjPRVDz?!~&rHEa2{ zopkZ|NrFhK`e|T#hhm#6Gv$A$LjT1*7pwof8uuR=(FVWd8`C)30|6e`0<&M?0p$Uu zvXoDQZRJTNlIIjxhu$j6lH08yBC(b+Yppc+ z^FeGW)4|^F`tc^60hD<}n1a-l1UV|HAvQ7})g<9-vSedhG)LHL57C(s8Ydbd!u)$? zY0H@f6wJreZ_1eB$=BlB^WxSJrJCUvYw?FtIwBlH%NZqe_KjBad~mL>zE8G?)Vs~F z{z6q#X_I|d1Wt!>gRUJh*5nZ*hX8! z4Rlo=% zz^T9o0s#Y=2xhtzAP7NRgF^g)7inNXkY2Djr2j%vLU`5}@ALZ59XRp8qa0)HXh>W# zo_Jl!N}>(;BS4lbz@a9HOYm3XXMGLqXbiC!M}H=$)lBm&;- zYU0|1TrhRNWCv-^ht5b{zc_s`w2rj}H`6doZviOdB$yy?*91=3&9Xi)7#eG?Zzp%Z zDVMkC8%;?8oRQxW+B0_f<}DB(q4|_mY4h#H@xEB_Ozv#i1wSw{t>}UTW##v0b3~20 zmI?wm1nTA$hu3bM?*EGaX_R(4x!g5U6057X@qMYykKZZ!6kMW}!3OIGMn^3~13xTS z!%Z&17$RDEq|o^tC&O*YyZRuMGrm8NP1v$nM;YgQ;F0cH;d~HJVo|L!ymWf=W=nSV z-uJv7GVP8}U@4KV%MRE*dlZZTYa|tcxxlMSORl=e+i!t`oDTY{9Y(z_&(#XLptPBz zg!8Z%%D+aXfB&F+4XW16)BHu!^NeU1;=)3SV1i)9knK+?`nKEs%9fhwA|_kS1sWpm zY?0EL<6*f99yt8pJMnTNgeANJ6Y{%LNu|nX2SZoDh<#UvyDeJrZpKBIF<@5r=8qR5 z^E#6Yp?%&PH^Qg@0P8jYVAaDd002vR=K}c~fQ6ayl8m$*17F4w@BaX>+)aY709Ztk ztXBXmk&uHzS4{Vg4~72%U{S^7=&mg~EW`Ka$+rtcJuOTmb8`~Gx~CjR?Gu^>HO}z1 zerTn4?4aJuyH-|#?I=2~Ld5cMJU2bvTI^=wvJ~=3+d2k#+Up23zLe$&3ag80B!x^d zzRELVzK3LN6U7MgoK#Z!X;H?l8z64d$jMSM^wHVV=Fckucsf3eh`(n(hymw%=A^CCjt00Do z$4NY_P*Qak@LW`+zFTbCC{=;K5rv$>NS^YoHINKqC8BJAJcW_$d51%g=%T3EosCFY zUF7m?*Fi%bvTtC3>qXT#8arRUYAb=S+ft4-_T_>;{X6ROGo_onq}Xw!N& zv}t|)&!+Xnre@_(H~3s;_(?v4h@K7`cMCI5e7hNw5eTi3V z%+`al;ospc``Fj<;e5FQdr6*C5 z6+h#jA`Opc&JSC|1g(gUSUsK}P935KkUP5^@+26n*SoACoTu+4I_reiG8K|j+|XqK zFEq*Q(oqMya^>;C%Os-Odfw|$J?hN_EJk{_C~N;z3O}f!5sMz0#W1;hU*kGuEHv-n zZX5yIoScrjbQ;t-pxlh|&5U626i0~+ro$@N*nBA#y6iX&#UM*7tGl(xGR3#gYXGb} z00dsx_SPqOp*=UNQd%7q(0z_p^k9e&l#q&Fha_&&*@3qhLzc`*Q~Dhl!!6uh&of?k zI`7;&GP??oS&Bkg5a!CUi!r^$s5#aWRlYs9)Di_En5hEZ$WR{G?bvdwkA~jk6mY6x z&GDA7_kG;uZU=ctVC)@PV7XYzy64MTv~8jtuGWd{V>yUBzT_wp7+LVk&dQh;`66j(-EfpPBo zrT+rg(~chApDw1kQpNq2S~Q1DU%*-J(djRD0-#fks$=(p@oBneAb$B2EN2oS`3=SU z7q1R#4vMi?I1mFadW?4~voGEYm3g|<&HQREz}r-%xKkFO`jyT=#A*e*<9Uch{taV% zQ3>)4t%?pw9ivs-Jt;oA06vo{Y_}k+K#WEU)AnrFm;&yaJBL0PREFglt*71Y*a2w} zxGYI zZI~m5flWyCyt2uT$Q?NK^|!=UdvksOT*kJaN$7b%4V#nQA>F4XjAGlUuseo za@QWFm$4ho^`ZDqE*kaYg$kBcaIJ;RuN);9<@mTl?MXDFP2U|NAr8*E{>mWbj+Sjk zE!o0p-ogg_$_Wqq_Vva)%c&09GhFvPuT|@w8Gj{v^V4A0^tvFYJkXK)h8zli8!jEC zfEhjP!|2~C# z6Fzhff{AL~fm)_~WEdtI6|!SGNf;(;;ebE5*D;;1RDLbc9&8vYdZM8FD%}rvyJ(0p zI`{^SvP%)YKs9a#GopnqPM11mqs#O&R6ryuqkn2oFiXAn1z^f8)@zWw@XrE{b%u~_ zeZR?-_%9B!cb2SW5K#jJCraYJVRC?a)_@Q6eS)LMKg&UOm%!7!T2k!ZjfIWAs8`1| z^#G-U%UJe!?0K=DEq@8|GN_S*D3s90|?3{=4ZOh9`sW~ zC3bo@Z8pcQwJgp@*)ma*^2^y^3)5}QRRzYT5SutiJm46WMrdNXA}soYu?qwWgIjZ+ z#Iy&ep{M&>!8)WwGRWsH7-jXv=K^u2!|NSQVslQT!VTLv=QN;n0r=C&brb>_H9N+G zEUv7`Tj|f}(jRnAN^L*8FXJ;C|4h=J!bgpvMD{)G_Iij7b^jm+UP0o@UOYxwHmv7u zxG>`JiRCbCfvPakfSuIYaj_gXequ<6nIVLF?>lnbG7GbQtDt1fqU1>x#nMaZm^X`i zaS1nY^ZZLX1n`uZ&bK|bJt$-+UhID@RizDCvftMzTK(!(MTp%KiA9aJ|AldzE(F!! z^Xo=y;p)A&=d%80X|D9ijyrj?YiRSW5K-9nfPdK!gLmAe@7mO-1l@5Zv6|4UF8?}I z9$af@`%@kaL*+rt;GH+15S7ACnPwjX6J0!>Y1nT5YyOn&w>L257+~5M#n{&(SLZ_5 zl^GUdsq+@|h6A$@_AON5p=J%PbUi)unfz*{Q6MqJ{8!oilI6NM2-G9|jx=Mc4i`_+ zQt|+>%;ie_E{y8F6mA6N?+?j2kpO=fAlpZMNzv=ZQDn3Sr_dKTGV3+=YjE$nCKV(O z{l4d3&M&NhW=e;od?ujE6F78pjLz7IEmgtO4MCE^MVHVlr)XgP={6Oc0c}%j>%vj} zI^pF`MDUnRMH<<#yI>`Qqh~jrlc(Jr5LM8UwXObpM#v5wFUC*osZGMCh=F>Vh6vGP zTcYc9%=#i#!7fK}f3pB=x0V+q+u2FZs*^5wNc<*1=pETzuRanasDS0iU8IuIgH@!a_?d91fhwH6Tez8==*io`h^ zh^D%f?5t+}u}kmjV6v6R#~Y!z{p?73Y3SjoCLW3B{vf%RA-aKUp+4d|en!H$v%?yW ztjA6egEGIGQVaS2M8lE)LBrw8iewO79KJ5d^k2A?9u+2`C-Y>(DgWL zt8FnZ?NkEZqM>2t$LYn%iQIkv_2F}Zsg~pc*(t0sLEl~f-~hpP-eZa)<1-_@Ry&eI z3`?s+<&tOV0Ro9Ae-MDaJ$ z9F1HSW8*cD@j6B{!apwrC#;DG!*crNC<_clmWWnA`7@**89eebU9V_uL1#_g^T9f| zgWa4VioO8XAl2F0$kVwXR-e}N0J36Szu0INa?h3Kt)_)j2vdcdtzv`b6Gx6u(f-A7 z6!hz@>WUalh^4N)oMe2xY!xh;gDKIwVL8o@lU-zw6k(q!bJkhvdj@6;jL!8y+RLM* zso#T5g?T0UksSyv_%*g^@TGcfR0lrM&^2GwY5~0xh5y~DY;3bD$*1%q&Nr;`-Pl31 zs#5vo?MQU>#M3ut?zZB6^FMzN&%W*Auk)xrR|7Jj*!H>*& zG+kY;8O1ePcF|tJROjZv9p3`hFQe3xpjM_+5$*W}rj~RUK-EE&CAE`+c-1?5)`PAr z=Rjjo)2N?5TjE{iIG8#XAmm-*n1dLKx-PR{ymW|8Yb|X|%-7|B&Q!m8F2rthIA;#I zq4pZszvzrRWUx(}3Ajtp0i2QIwh{Qs2icCsjxXp$Lo6Xk2Teh$vVMWuJ=(a7jW>xhFSjvjD)B@e##l`%o^_zNL*-&B}C`qg*Yel4^vKi^@)23A4I|4Yn z8@m87qSCmh+U@>UDLId|VwDaZB{nlxi%P(unP;a*d-??gv8O1msShCs$U& zP#Wopss`k;D?EZbh*A@DsH92(G_lSl?By^Gih=v;o_K#&OwmmH6ZwVykcZfj=<*SiZ=UEVE<6dNSlL2P=GG#s@p z*7)h4)W$z;m2R}b5H&2}uqsWqHtvf74cD;!vSywEG?s8wSd9Y?T4mw&J*lBdk4l4q zRaCsq8eW)4YMiRV(O=E-3>RENCmpR>lR@}yOJmFaPyp;W?F4|Lno-D99}&)1F*EqG zmo&KTOmlDd*^VS+wssX1;?nDT7}S!Ugq^Hz&;AG(9`7se&DgG7Z4W(v;a2~AP{8pQ z>%cr!KmX=C+d+&UD5!;P*BSSBn7=wv<|wC}xE-ycwfik+KbB`~6a6r?H<9G0mZ{97 zsKB~0Uk^Pl&kU&}@Dx^~f2-}T$4pg!$oNAv*VDk_vnp|`S&sfGs^qy&(_l#Q3tp^| zz;y%Z`@y_SkdicM8@K1-;mL0QCGl-Y{uPiNv#>t>01oP!Y>hE4or;RQJVvoPG6Ba| z72ljMpye5>+bclvwia}MW7PnnF1M5upzLsMrheOf@XYz<_~6;|O35gy zxzbQ*27>z!Dr!9hfEeCPJ|wQgRuD zgzdju*CI(Nl~M`hKa#wzldtJNKbT@To1VS^J0*JTjN4P3mA}l1vI$+**@C@>0bps8 zudzGw9?$5rRu_rYmRXPht~4I-ILyWqcI_GItvq8AJ6QPK?{#_leyjPE;^rDnWQS}*01Ad)%~o!S0%Bmdk6$q5{zTREZ^9Fwlg>*gEHK8@I4 z4Lzklv!`18!UEUi?v391!+SV<+_BR`m#>ACURnvMIk^dacPuCh@YPU0PZ$_*8%;+E z0H-m0m1_hx;W(Jo5e3_e6vS>^+Cwo?QQZ zEzWTIG?{^k?8oE*wByVyKO_B(Iu_hC%D=pK1*ead-(KsIPmO&JIZG5oSmUwadmslD zcqww?-~!&NLDN-HFwohmKH>@#_qpBXrRc>0DYwQTV}g~eo!AWkCWL)_^P!VN;=rW+ zs}Z*~$o{%XkMw zW5MK`dE3&MUdyG+5Cv4}o4VzaRQNj&R^g`Y{)f|Ejk~v)o{N=E0_12b2vZ3C$Qj<* zZ$Fe?D$)YWsnsokM|2jLtX@}_Opm|6|DIEayQd$4cCJ$oz7G1Vy&7|%)u{iF5xjGHHI&L zS(`AX8Et^ibenVBE53IBU5e4Q*;C!^=?TAU{|i)%=DKi%ZWqd>ds_(B(oDCVyqTXy zj_{d?i`}>^cce;?Hzx`X_o1l{aM9}Ny)e_lf(5=5YY%uuc=B-&rMdr>jtWD@ob2Ze zOE$;3u|X6ytYHMbQG z;mM{%Ad~I8%yX(?*j}&7mJb8kC}!%XysgmgIn-``PT8?XV0FO=w^Wn-7P=nEn^g+lNcR?ovd-xhoVZ?z1=${Q-Z)*^%4#K~Y9xQw9*JUIVPl$4d1~e-g z1>d8&L6*3DLc{2^ADig`l73LmCzUvYZRVu`*jH!WHVPBi?q7$g73;*uOOAAJefyDvAX$B z41q4X=W& z@XHXrImU=|*`1p9bOW}zT45NmiPNiUZSbw!35ZLl3!6jG_;r%CvK$MHm_o^gYf^ei z{_|NvzYaZ1udS@)(i*uBH@kzfXy)nEA292S1zOwAI!bffEsW0V2tC(uu?OE2GElQk z!n6z);X8kc91j_*)JX}P3Hioe9EWygIv3+Th2@Dl1!ZBLR}7?)&IL>J>@%bZbeWYT zBGhFwPMb;+@H1gW3%NvYh5;VpJ0IV{r2RLoc{xFto|3g(Xd9_ zWJ1^PbyIHkNl2Bv5Iiwfm;-m!l^j@2X;T$zPNX!}!oyErneJ7L4XHpg{?g2Dk%qPe$n9IXl)f9ETMt%~#@_Qz zCvH^EgmzV%r4e`$9~4ME@YB^(NCiCftpL$88#fjs&$ZP_Y{lU>Nv|6<;+i_=*Rd|Q zsl2i3H@#+Nr6h)7)NvaPr{uHWS~26ROB;@t8Uf4RlXu;wYIUR(z)0!N!HtLMj%=_T zXjiG?*=i-d5=lR%;$WLo8y)|}LBz9~7M>%@E@!?`a`{>}LZhnk_ne8?`$YB{E;g7g z+RnOxZsB^kPQc6!G~7okiI&Cp8o)Rp;6?oFOLWJ5&o`Me@2{fOg7lYPPJx7IFk)12 z)}W#Cbf7xBzkNM`G_yaX%DxIH{1 zKPUfa(a=At`PR1Te>T8MPNc(13RX7+-x!(Un6z`lcmY@#KYufl0L{i2;Y&`U5^o9BvwIUO;mP z5i@6dZ0+06iLVVu6q-EwNVAYp5N4fxKR+jlPR30$`T<*7B>5Uvx@NuHvsC@upj=GX zg>o}3702Nh(lM=x%d4qD>5Xosb2Q|}ZC|qtL6Za)MtB||LVa}a|9Hsk$>AJ;4;E^U zY1!umW`(r*nBETTO2Rna3?Jw55sANNRxn7dayGR}b>>q4wY1s(U6rXmE1{=usicr! zGzG4{V<&qH5KD@j%_BIe%s1-$J4!b_Pb+udlX3_N5qV+TBO+x344kKmQcA{OS_fvG zhD{1S4ifd{Ut2M4>6@O&dR`Ddk7eO+RWH3`@TRqQojjV}WVJIVneYqwfU|{#p)Xb+ z?}TIK-d`tKjl?7)CtrE*Sfl1(s{qn`UTJ?|B$OP%3c(j{fn!_!?!({Wbf9I0M*VI$ zZkHOM-|N0p{f569^t`b)SLYCop`!ICm!YPJR3K;iUH@KQ~mE9=Qv0oxb-QcD>mVju(^tVPyHbJc~*0}qh^ z*d@^ON!U%^I1o65eu_z|lGZl0C=2nxPz8vbF=$BK7p1t{Z0GAbf*Anxj_X=?x?!DOg*EyJ9*e7{TX7 zQ!nHlCIYsZNa`J^gd=qYjxXeAKWnHc=Y}?}B?daX7j9Ia7Tf+}((pUWCM%Ifec~6w+fc2Mx;;Rf5nCGwS=$* zQH+;plrDD>CcTa#SJIjEp>QNWnD=QtE%*A+b!rLOv40ho8?J3H4(s%H>t3lrEUGv6 zd{$w@j9K(?Y~SL)_WrHE!RT?S!0@_No*_lk?m$cX2^~bwATSM1N!EAipbEfGnpm#{ zDRZz1#;mg3)fBo3j#wz0(BdPOpB4zIt;T35qXF>Gx!G)-Q0AZ8^%u|0 zcUp_`ynsH98BR1Qz~`!uT`6__y@hu{z1AXunC|sNu z7Kl9MlBgqae3Tn3u+x@J%}PkmT*;lSQ1`h--N(4m>#i7(3dtr<00Yt;Fd+LwCR&7C zuNaW|L|^pHrj;Gb*F(qrWdd*08r}*C&|ne6^`RgsFxgI*j2J>^GvcEAjuBaKtmz}{ z{1>A=y{F^Z5WyH8Ne21#3a`%`AxoyQ4+S&aYKW{>x{T9)@4o34kVkIUCd%kS` znyTgDkOWo%hu6EwaO>}OhCWfkzI>^DJQFvg_X$M&hX)l_v%r#u6alxP^Vf)-UH|K{ z?s;(&A~ic3U_Xyiczy{fxV9GtIA%#KOHz1}Q3V`3;)29QH@eW$%YD0waTP^_!~G^+ zu4w16OO0yjJS{@5h)z1_&P3X`G357Qz++zaYyp&#FPQm)DV(gIxP2^)Rm6U$u)Gfg zy}e!ax1|OBzIU=}7Yly^*AEYq)pwp*lYcg_g*KVp@CJ5hDkLyHYX#JUx@eAlI`)FD zLA?`-LqpSGMxEw^-Ly-gyJX|rL3n?f1MgeD*HmsK0&XR&rZ;eher&ScYjgQ_u}bMcB6YC_iP) zo3%0gq~JNQU2)9MgKhn?7q*UmHcze6lB&104X}6`k~w}RnWD@@|6(^5KR~4k8gBAl*og^r(>*;JmtY29WBWkSHbMy(;xrveWwB@RSsmMGe$|>jy>P@ zCykbGufMR4#YJmYj?Yc3N)5x~!_kcl9C{@t0YnqsFJoX}0QchLM@}nQ7o&_ZIV!9!Y|JMug=e}5}K;0uYF&CnZ^uawnv^?T#_|Q6k3kB1jBw4s4Vx`7$ zoJ^z*8>>+@-sDAiv9r@?0j7ZKLaBPZ(5KPt`ZYXBp}M-d+s-D>`%Et3-Q1#5m`H?G`__S8KWr@5k~+;y$ASnNaSU`c(a-bVlYJlm(tV-X z+%u${73ez(Ytqm0wlHr~5g`(AW}AxeZ^uNu{)c=|I*|5Fv4^I~Uv{t+5rH!O8*V-{@( zXirgLE7tmGcCqY>u?%O<$%am{hZ0xYJPG8B-L0K?9j&a#cN{a=G9o!nF6z?V%j8n& z`*3#c*PRNRy4f1r&Nd=HKSD!3eSS{~UFWgpTNHOZ!bJ}lW_cT3g$ki&`^?vJ;uw@6 ziz2DVzl>VJayLTfN%LiA?yLOoa04iyp%IB%> zzjwN9ih)N-1Qi+txB%LgMUAoY`ct}#Bx?XzU7ZfQJo(Ys0(^P8yNsS-*^3_JA{}7I z7#aF@wcx}1IJ61eV!%(-Z;QZ@?OD#7>ih5W^6+|^@Kuruo=#;Ka zis^w&+r4)o;)(=_uvdJJ7$q+I>SQL^2f@tUES<{>}-{1`opR_|3iPY&a5YOx@73I{rT;Sq>jVpg4bvNZLj}_xwj09a$noV zmxzKQ14v2@Jt8Ga$IvAL(jhQ7sB|OJh;*Y!EV{df?i@fsnvqg+=#Y+~-W&IF?dRQV z?f>)a<9R>)KXG`-;fJ5seZ_g5*Lj-ZcUgVoFRTnT>=8+?yZH8r^#wX`j&&PDWs`>q zY#Z@%GLLhdX?y`Beu8C#?HN{rw$%s%(fcB&UmmZHjzp=P=pOF^e&sfviSn-P_+tSU zCBH`=YQx;5aOPL5rYvcoff3I#mu_V!he95+Pgrl;1IOFUPM;-ku%R^p0+7 zmMZKwqkkm9z&tOj z4LC6+1Dt-i`bMCf)>nON92NGGKOhW}#sAG#%6+YG-r@0khhL5G|FvfW{xHb)^A26! zR^CB<#>{R4Vz@m`ryv=K3mNoW zG%|gRt0ZL1o=RB1qXM+|u>C0?kO`-!UAr;Va{T5N#UT~}l^f=TR9Ck9nz^UeM6`B8 zj{iK58&6hUd>E~3Xrrq+3ml;u>yFBJ4VClc3J#&qE1nNF$syx2-@D`VyXoLS7V*r&DCAM)ndpsr7 zyH@J+y|k(|rc<72c{XEPn{9goc-7Oc4mz8?u<#sDLxYv)$}aOkGkzI>za5YCSCJe$ z&RVn@D+$(W1ZbSAfm)#&7d_ZP24im^1Y6)9A}?23e1?tJ)x{6HCQOouSf*X%$_T6X zhkJb=_Y38S-vtgLnCF09DhOwz+Qu2c^VOgp2ShLR87es`RUQKuS&!TJzZweLn0>!WCZ*y( z!O)hi>|Y&;>kTZRyL!S9+jOWm)!bconjQPxy4Dsr=<#p$nG#D&uRpCx{<)B_CR%xb za0Kob?ihE4eXNaYW=hNf=kkuOpWc6gOWc9wDF^$%6AU{gs!#@w{@5_*LeGr(~r8o!} zi|tD7mBlxYQUUt{n8yX$NG`CQ^J9{^@yMUTdPi5nddxC66#o>~(*lI`dT^x6+I0|rs3emRR#na=(@!WeOujP4*%1w2>9xe9i&b^1c_CI3Ot$18!%alfo z@SG{dsJ$7RZYqlmW+O9|tulqc0B<>qn z6xsMPhKuBj*D-(nNj=kv1h|uRbVF}#e*KS%g1rGwAS1Q&toKz%zE+j67>f;@Buv=? z0v)H=&DK&VzpE4zi|gp8QwI!DEV}?vl1q$B&cW)}zws-|{;|UXqT>F~!o~gZ$s85$ zkqSWE4&=HEkY{WN9}opvZy+*yxu|@(PQrFUyLak7nZfM4(ov&R9JZ8Imv(riw@C*xnF_m7>3RJ#-g1vm1po$G8)5 zWyD*e=i~x4ISzYrAVTG{Ksloh%)2`=5tW0e~*R=#{9ebXq_(zzG@}XNiJ=)e34_9{;vi9!c(&C7{SsQhP z-_PN&y=_+1wy-G{Hp3%!bTTj&uNJ626Ep4we1xD#k>!Ajii%8dDkrd-V2SD{X!+g_ zw5!U%deAI~-r@b90K}jI_VL>x;HqSSnA;lvO34ROJ{3>`?4*BsYg}E|O$s+W#sdCN zM!B()=wm$h5@zlIdfv~+0kBJIrU|oB8E(^`@wYm`SNzWKpXDLY(t{EMK!kH0612Uy zQUzT!JOw_<+HTGy0|9q01~o^WV!E~YV#&cd~{%u}PJ3hf8;0#Y5v z3Zsf&W$_PFOGCSvKeRC^yl;fGTwSJJZA$@~4PqNOB+{VqhZqz#9!|ahBqwiQ*?n(! zduY--T-|cL3H+^@{rq(1652qOvbzVs=2zC?H{_4b+$@0|7w(nFe_hkIAD3^d56;*e zjWg4~`)=I%uHGI{LM#4L2~F@CNj%jz2`z@5GzWz)P!7mC*}ZU{nyia#3_?IpOG|q( zp)O<95B=d|;1Dzu5N3$W_C_;6$5#h6V7y~Tus;?Y=KehZ6Pcqsh*+mh*INM&paacY z*fhL0M!T2k3>_BK!CIIVX!@ifZZ6XU*{9ILo1c{I>J+|Ge-bei)g>)S&;m(itY@d| z{TA2IKwF0)hJg8YHStm~i@bxpC9YUChICp0twy^KPGuJ#5M7s_1x4q}YN&H`u;L8g z7fLr2yrwBVVwdtIj@R~UPWc)JIb1cho$@PZ)PaG!uX?b$_OF4=2-{prTqWj;>ogq2 zL1)NO_L*T-54a1yJ_hiZB^?}G2j#6~X#O22`^U)r5UY{wYH_tWHBO=TcM@P(@@dC_ z09f!b?hGhl-c}n0LogT(lUvgktjYZUUIHw_IE6Q4=TA{4SMn?Mf#R{L zw-$f5*!V*(=2w>f^9#tky0Tf#`4BwTY}3AfthY(S^#L+B4y?epvl|6`kZ5x56WR-E zzWGJt=x`YJ*IY8!`w@D<1KLY;H^tI5xvylbtk3Skx7Q6vqbQuOl;$&g2a@&SqmYsi zfWl4K7ZR>gxoyE`iR-zzh&VQDneqI2cL{Hi7OEeiZ>F{a!la75rL#CR1*Avcr3(-G7*NW2S!;sNk$7a40B0+(&U1RzFF3|p*Djf)G-**;1Jh9Q;{sobXDAX+2p$`?TeWuw)-?5^=b z8YBQ;iak}uH{F_-a52F^44caN@BCdL1Ba+FW!z$x2Tv2{&4No~@#%Qjq1Y+bx0@Yr zsuh}-#u5f3QCq(wrI+Qc)J}#Y*kqd;{2jG?b>>NWX3?Uc2tmoHTi8@bm4GC|!{!-T)q`I=2sL7a7pk`S zfZUY~AMp;yUBv_puOvI5!52sOG#H7CQhNDhXnJ;)NUG31*u;+wC-0*GD#Sc3`=>Gy zGk-}?^63O|!S5B?PaU(IF&3Pw`B~JP-Q5;#1evttwYxIBeVxIx+8iCGD)<;10eQyN4Wfx|ZG20tXO-J8 z$OXnxV44@q1j3Rc;=zFm_`U+}`aK+nh#XL?E3pd4<`A!mq2f6&LFTgwk}g`&>MpDN z2%4d98>EU2uZacUNQxjT?x`vLU*beSy)JR<_Gtf=-~RP$`!CP)>k!zRHt1@PbhtTn zm8t{*61M13a4hbJ25VbTM{9coh=70ytctB1n7O@8;zRSIL=n-`5pMW^fHoP^-jN~3 zXO6a*R-u-9jWlF0EAY1u*~=}V9ZhY1oqcns5c$j}Bp$iQ=NPmRF9Ee5S{zHJjaNU{ zENIV%UtPAH;O7%@-Y)3g7<7D`-}S`W(+9cuTO@(^-FG@f-kAxh1Pt}oYUe@fD)7>R zw+PX?kFZJ|dedQ8&inlTy&@059D2o7WAlfz`~Tpnfbmu8r&_2#)T6CXx4i92V5Te9 z{AI%|GHCD?1T;;hFC=<5xe;EPVH{80$6<)`^0h$*a89Sn7@F$x##@=%@c37m}@-;lq}Q?QewQpY8@XM)LY1kx zHUTIN^FZqWrT%8eVNPy4O3`cSnLZ$XLZ*c+)|NkkeDNts6S@yd{~2yiv>XnzC>ONZ z+4$QY;_iIAkCy-1pml*o2w`9rBIo_hNAon7Whhzm{FS=b29WZ|5?bJfz|teyM~S;I zaEZ}h(aF($O-1Z*v@?JPo_D6IUVkFI zTh4LqekFpa{Ru7Kp-?SP2~nS4Jd*xP_J36hff$OG7Ix(E{suy~*YCAyj}n zkw`}Tye=w5z)`wV2azY{N=sa=K++|$FFqPk2Ym7ea8yVzNRT8gz&vgF1h~RZuU;Ee z=PkB8$$UeXNg4X5ic=##(22QCv2C6H%KHEPD*?0K)1R{*eX^F2#aH08v36$v_(@nG zIr53K{lDmB*xjLbyDP^DbtF=}GV%zb%AG7cj%FKXaXJVzrw4O_p|`lVk2G+S^lBZUtS4ih#l|%l^>>dUq=D0ErBl% zs^g3wk>;0au+NBhAK#S-Uf5y$RtN`75Cf5sAxh*>PTbhSFW#omj%wZIFE{Pfx%^!h zPx1%!^nLUeSF-2JxT7738O;2q3@q55b3XfuG;v4}9;zTm0dTfl(VopJN#G?*PeDs(u)NSY0wLRz#q$ zHpT%oM3KS0x8jcNh26|QXL}B5lmeeKJys~`JnQ*tYqHSjO91(cP=apV5a!j5F7N>O zzrpGpTHguS&NUzZ2RFj<9?wfQaSqT;w`oMN>s$gt;3`FFZt=u z?&>dp`CAcGBkl#`l<rt_Rc8LMC!V@pklBN=~~sDEa(fMu$<+YhRb)T`dgG z$zCIZ7y-uwUaon~8$Ingt_<(sKAAzeUVqgm*cd0=|CV!nQSPy^DnXs@jN#632YTjN z#u&wOQXebHtNyeGgH#hQ{YT0YFS)W-G(7rv>i-|Lrgy!QrP((}1|d8L7HH(~hn@E} zT{nK<_a}VL9G^v*g_*a?g$lgwF&SVkGu4h&uXr9KIEkDXO0@>M1o0(U2HD@?OI4+4;yOjNAq z(rZiK67sIk##yC4OivKkR>zkLy*burq4E^bZ`;ERC4cu!gbjgfcfvkdz9hIoZ(PQJ z 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%0DcSszrc31_2y|Zze~Je;$dA?B>7)lHeT##OmLM)z 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 -export default { component: MyComponent }; + -export const MyStory = () => { - const emit = useChannel({}); - - useEffect(() => { - emit(HIGHLIGHT, { - elements: ['.title', '.subtitle'], - }); - }, []); - - return ; -}; -``` + Highlights are automatically cleared when the story changes. You can also manually clear them by emitting the `RESET_HIGHLIGHT` event. diff --git a/docs/snippets/react/component-story-highlight-addon.js.mdx b/docs/snippets/react/component-story-highlight-addon.js.mdx new file mode 100644 index 00000000000..7f8ab17ade2 --- /dev/null +++ b/docs/snippets/react/component-story-highlight-addon.js.mdx @@ -0,0 +1,27 @@ +```js +// Card.stories.js|jsx + +import React, { useEffect } from 'react'; +import { useChannel } from '@storybook/addons'; +import { HIGHLIGHT, RESET_HIGHLIGHT } from '@storybook/addon-highlight'; +import { Card } form './Card'; + +export default { + /* 👇 The title prop is optional. + * See https://storybook.js.org/docs/react/configure/overview#configure-story-loading + * to learn how to generate automatic titles + */ + title: 'Card', + component: Card +}; + +export const Default = () => { + const emit = useChannel({}); + useEffect(() => { + emit(HIGHLIGHT, { + elements: ['.title', '.subtitle'], + }); + }, []); + return ; +}; +``` From 22d044c31ad618664ca74b001e3e447eb460711a Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Mon, 28 Mar 2022 11:32:16 -0400 Subject: [PATCH 09/44] update branch --- addons/a11y/package.json | 20 +- addons/essentials/package.json | 29 +- addons/highlight/package.json | 2 +- yarn.lock | 669 ++++++++++++++++++++++++++++++++- 4 files changed, 683 insertions(+), 37 deletions(-) diff --git a/addons/a11y/package.json b/addons/a11y/package.json index d46f8c1998c..af9e3686bc9 100644 --- a/addons/a11y/package.json +++ b/addons/a11y/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-a11y", - "version": "6.5.0-alpha.50", + "version": "6.5.0-alpha.51", "description": "Test component compliance with web accessibility standards", "keywords": [ "a11y", @@ -45,15 +45,15 @@ "prepare": "node ../../scripts/prepare.js" }, "dependencies": { - "@storybook/addon-highlight": "6.5.0-alpha.50", - "@storybook/addons": "6.5.0-alpha.50", - "@storybook/api": "6.5.0-alpha.50", - "@storybook/channels": "6.5.0-alpha.50", - "@storybook/client-logger": "6.5.0-alpha.50", - "@storybook/components": "6.5.0-alpha.50", - "@storybook/core-events": "6.5.0-alpha.50", + "@storybook/addon-highlight": "6.5.0-alpha.51", + "@storybook/addons": "6.5.0-alpha.51", + "@storybook/api": "6.5.0-alpha.51", + "@storybook/channels": "6.5.0-alpha.51", + "@storybook/client-logger": "6.5.0-alpha.51", + "@storybook/components": "6.5.0-alpha.51", + "@storybook/core-events": "6.5.0-alpha.51", "@storybook/csf": "0.0.2--canary.507502b.0", - "@storybook/theming": "6.5.0-alpha.50", + "@storybook/theming": "6.5.0-alpha.51", "axe-core": "^4.2.0", "core-js": "^3.8.2", "global": "^4.4.0", @@ -82,7 +82,7 @@ "publishConfig": { "access": "public" }, - "gitHead": "6cf4571e5a1200613de94aa066fe93f75aec6ad1", + "gitHead": "cfcdc7fb74d3cf60eae8dd0b5a626d67ed180d42", "sbmodern": "dist/modern/index.js", "storybook": { "displayName": "Accessibility", diff --git a/addons/essentials/package.json b/addons/essentials/package.json index fecd600073a..3344ba41b35 100644 --- a/addons/essentials/package.json +++ b/addons/essentials/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-essentials", - "version": "6.5.0-alpha.50", + "version": "6.5.0-alpha.51", "description": "Curated addons to bring out the best of Storybook", "keywords": [ "addon", @@ -39,26 +39,25 @@ "prepare": "node ../../scripts/prepare.js" }, "dependencies": { - "@storybook/addon-actions": "6.5.0-alpha.50", - "@storybook/addon-backgrounds": "6.5.0-alpha.50", - "@storybook/addon-controls": "6.5.0-alpha.50", - "@storybook/addon-docs": "6.5.0-alpha.50", - "@storybook/addon-highlight": "6.5.0-alpha.50", - "@storybook/addon-measure": "6.5.0-alpha.50", - "@storybook/addon-outline": "6.5.0-alpha.50", - "@storybook/addon-toolbars": "6.5.0-alpha.50", - "@storybook/addon-viewport": "6.5.0-alpha.50", - "@storybook/addons": "6.5.0-alpha.50", - "@storybook/api": "6.5.0-alpha.50", - "@storybook/core-common": "6.5.0-alpha.50", - "@storybook/node-logger": "6.5.0-alpha.50", + "@storybook/addon-actions": "6.5.0-alpha.51", + "@storybook/addon-backgrounds": "6.5.0-alpha.51", + "@storybook/addon-controls": "6.5.0-alpha.51", + "@storybook/addon-docs": "6.5.0-alpha.51", + "@storybook/addon-highlight": "6.5.0-alpha.51", + "@storybook/addon-measure": "6.5.0-alpha.51", + "@storybook/addon-outline": "6.5.0-alpha.51", + "@storybook/addon-toolbars": "6.5.0-alpha.51", + "@storybook/addon-viewport": "6.5.0-alpha.51", + "@storybook/addons": "6.5.0-alpha.51", + "@storybook/api": "6.5.0-alpha.51", + "@storybook/core-common": "6.5.0-alpha.51", + "@storybook/node-logger": "6.5.0-alpha.51", "core-js": "^3.8.2", "regenerator-runtime": "^0.13.7", "ts-dedent": "^2.0.0" }, "devDependencies": { "@babel/core": "^7.12.10", - "@storybook/vue": "6.5.0-alpha.50", "@types/jest": "^26.0.16", "@types/webpack-env": "^1.16.0" }, diff --git a/addons/highlight/package.json b/addons/highlight/package.json index 537244fdfcc..56791dd52ba 100644 --- a/addons/highlight/package.json +++ b/addons/highlight/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-highlight", - "version": "6.5.0-alpha.50", + "version": "6.5.0-alpha.51", "description": "Highlight DOM nodes within your stories", "keywords": [ "storybook-addons", diff --git a/yarn.lock b/yarn.lock index 8b36b790934..22ae7238b33 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6192,11 +6192,10 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-a11y@6.5.0-alpha.50, @storybook/addon-a11y@workspace:*, @storybook/addon-a11y@workspace:addons/a11y": - version: 0.0.0-use.local - resolution: "@storybook/addon-a11y@workspace:addons/a11y" +"@storybook/addon-a11y@npm:6.5.0-alpha.50": + version: 6.5.0-alpha.50 + resolution: "@storybook/addon-a11y@npm:6.5.0-alpha.50" dependencies: - "@storybook/addon-highlight": 6.5.0-alpha.50 "@storybook/addons": 6.5.0-alpha.50 "@storybook/api": 6.5.0-alpha.50 "@storybook/channels": 6.5.0-alpha.50 @@ -6205,6 +6204,39 @@ __metadata: "@storybook/core-events": 6.5.0-alpha.50 "@storybook/csf": 0.0.2--canary.507502b.0 "@storybook/theming": 6.5.0-alpha.50 + axe-core: ^4.2.0 + core-js: ^3.8.2 + global: ^4.4.0 + lodash: ^4.17.21 + react-sizeme: ^3.0.1 + regenerator-runtime: ^0.13.7 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: bc2071480711f3d42646b8f2b924ad1f1ea89fbcb77ae15c670180ef937d8cd2839062959fc6f27df31bec0b5d94d2f9992296c8c1b25a0b325b15938d96c405 + languageName: node + linkType: hard + +"@storybook/addon-a11y@workspace:*, @storybook/addon-a11y@workspace:addons/a11y": + version: 0.0.0-use.local + resolution: "@storybook/addon-a11y@workspace:addons/a11y" + dependencies: + "@storybook/addon-highlight": 6.5.0-alpha.51 + "@storybook/addons": 6.5.0-alpha.51 + "@storybook/api": 6.5.0-alpha.51 + "@storybook/channels": 6.5.0-alpha.51 + "@storybook/client-logger": 6.5.0-alpha.51 + "@storybook/components": 6.5.0-alpha.51 + "@storybook/core-events": 6.5.0-alpha.51 + "@storybook/csf": 0.0.2--canary.507502b.0 + "@storybook/theming": 6.5.0-alpha.51 "@testing-library/react": ^11.2.2 "@types/webpack-env": ^1.16.0 axe-core: ^4.2.0 @@ -6261,6 +6293,40 @@ __metadata: languageName: unknown linkType: soft +"@storybook/addon-actions@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/addon-actions@npm:6.5.0-alpha.51" + dependencies: + "@storybook/addons": 6.5.0-alpha.51 + "@storybook/api": 6.5.0-alpha.51 + "@storybook/components": 6.5.0-alpha.51 + "@storybook/core-events": 6.5.0-alpha.51 + "@storybook/csf": 0.0.2--canary.507502b.0 + "@storybook/theming": 6.5.0-alpha.51 + core-js: ^3.8.2 + fast-deep-equal: ^3.1.3 + global: ^4.4.0 + lodash: ^4.17.21 + polished: ^4.0.5 + prop-types: ^15.7.2 + react-inspector: ^5.1.0 + regenerator-runtime: ^0.13.7 + telejson: ^5.3.3 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + uuid-browser: ^3.1.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: f631ba6e4ea4434eca1bc9a1a223a2eb668b908956fe057ce250f9f1b8cf7612097a4ebe0cfa3e830d01ae66723eba715250487f006ff12c2521c4cad99277a4 + languageName: node + linkType: hard + "@storybook/addon-backgrounds@6.5.0-alpha.50, @storybook/addon-backgrounds@workspace:*, @storybook/addon-backgrounds@workspace:addons/backgrounds": version: 0.0.0-use.local resolution: "@storybook/addon-backgrounds@workspace:addons/backgrounds" @@ -6290,6 +6356,35 @@ __metadata: languageName: unknown linkType: soft +"@storybook/addon-backgrounds@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/addon-backgrounds@npm:6.5.0-alpha.51" + dependencies: + "@storybook/addons": 6.5.0-alpha.51 + "@storybook/api": 6.5.0-alpha.51 + "@storybook/client-logger": 6.5.0-alpha.51 + "@storybook/components": 6.5.0-alpha.51 + "@storybook/core-events": 6.5.0-alpha.51 + "@storybook/csf": 0.0.2--canary.507502b.0 + "@storybook/theming": 6.5.0-alpha.51 + core-js: ^3.8.2 + global: ^4.4.0 + memoizerific: ^1.11.3 + regenerator-runtime: ^0.13.7 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: 29102c3f1c4c104b024fcb79390ef9b1f94b86e89dedc22bb17d0c3e3ba47989fb86992daeb0ab3af8166f18d9dd1a5b8e13ecd02f6edb909ed0d85986665afd + languageName: node + linkType: hard + "@storybook/addon-controls@6.5.0-alpha.50, @storybook/addon-controls@workspace:*, @storybook/addon-controls@workspace:addons/controls": version: 0.0.0-use.local resolution: "@storybook/addon-controls@workspace:addons/controls" @@ -6317,6 +6412,34 @@ __metadata: languageName: unknown linkType: soft +"@storybook/addon-controls@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/addon-controls@npm:6.5.0-alpha.51" + dependencies: + "@storybook/addons": 6.5.0-alpha.51 + "@storybook/api": 6.5.0-alpha.51 + "@storybook/client-logger": 6.5.0-alpha.51 + "@storybook/components": 6.5.0-alpha.51 + "@storybook/core-common": 6.5.0-alpha.51 + "@storybook/csf": 0.0.2--canary.507502b.0 + "@storybook/node-logger": 6.5.0-alpha.51 + "@storybook/store": 6.5.0-alpha.51 + "@storybook/theming": 6.5.0-alpha.51 + core-js: ^3.8.2 + lodash: ^4.17.21 + ts-dedent: ^2.0.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: 0d8cabc6a3102e5db0876e1add27ef8b9471c4529e2e79c323c5adcf18c743d39c8f4b522872ce70dc6bdb7342d0531596ef69b7a474017e37390d0892166cf7 + languageName: node + linkType: hard + "@storybook/addon-docs@6.5.0-alpha.50, @storybook/addon-docs@workspace:*, @storybook/addon-docs@workspace:addons/docs": version: 0.0.0-use.local resolution: "@storybook/addon-docs@workspace:addons/docs" @@ -6373,16 +6496,66 @@ __metadata: languageName: unknown linkType: soft -"@storybook/addon-essentials@6.5.0-alpha.50, @storybook/addon-essentials@workspace:*, @storybook/addon-essentials@workspace:addons/essentials": - version: 0.0.0-use.local - resolution: "@storybook/addon-essentials@workspace:addons/essentials" +"@storybook/addon-docs@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/addon-docs@npm:6.5.0-alpha.51" + dependencies: + "@babel/plugin-transform-react-jsx": ^7.12.12 + "@babel/preset-env": ^7.12.11 + "@jest/transform": ^26.6.2 + "@mdx-js/react": ^1.6.22 + "@storybook/addons": 6.5.0-alpha.51 + "@storybook/api": 6.5.0-alpha.51 + "@storybook/components": 6.5.0-alpha.51 + "@storybook/core-common": 6.5.0-alpha.51 + "@storybook/core-events": 6.5.0-alpha.51 + "@storybook/csf": 0.0.2--canary.507502b.0 + "@storybook/docs-tools": 6.5.0-alpha.51 + "@storybook/mdx1-csf": canary + "@storybook/node-logger": 6.5.0-alpha.51 + "@storybook/postinstall": 6.5.0-alpha.51 + "@storybook/preview-web": 6.5.0-alpha.51 + "@storybook/source-loader": 6.5.0-alpha.51 + "@storybook/store": 6.5.0-alpha.51 + "@storybook/theming": 6.5.0-alpha.51 + core-js: ^3.8.2 + fast-deep-equal: ^3.1.3 + global: ^4.4.0 + lodash: ^4.17.21 + remark-external-links: ^8.0.0 + remark-slug: ^6.0.0 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + peerDependencies: + "@storybook/mdx2-csf": "*" + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + webpack: "*" + peerDependenciesMeta: + "@storybook/builder-webpack4": + optional: true + "@storybook/builder-webpack5": + optional: true + "@storybook/mdx2-csf": + optional: true + react: + optional: true + react-dom: + optional: true + webpack: + optional: true + checksum: cf32e04bb5b6b8291aed61fba229f81e5186750e6e493f1b58f515bfae31f6ea728a29f267c1ec4653a8e1cb826a3f21f3bbbefc4a02143bc37c336a5467d6ed + languageName: node + linkType: hard + +"@storybook/addon-essentials@npm:6.5.0-alpha.50": + version: 6.5.0-alpha.50 + resolution: "@storybook/addon-essentials@npm:6.5.0-alpha.50" dependencies: - "@babel/core": ^7.12.10 "@storybook/addon-actions": 6.5.0-alpha.50 "@storybook/addon-backgrounds": 6.5.0-alpha.50 "@storybook/addon-controls": 6.5.0-alpha.50 "@storybook/addon-docs": 6.5.0-alpha.50 - "@storybook/addon-highlight": 6.5.0-alpha.50 "@storybook/addon-measure": 6.5.0-alpha.50 "@storybook/addon-outline": 6.5.0-alpha.50 "@storybook/addon-toolbars": 6.5.0-alpha.50 @@ -6391,7 +6564,68 @@ __metadata: "@storybook/api": 6.5.0-alpha.50 "@storybook/core-common": 6.5.0-alpha.50 "@storybook/node-logger": 6.5.0-alpha.50 - "@storybook/vue": 6.5.0-alpha.50 + core-js: ^3.8.2 + regenerator-runtime: ^0.13.7 + ts-dedent: ^2.0.0 + peerDependencies: + "@babel/core": ^7.9.6 + peerDependenciesMeta: + "@storybook/angular": + optional: true + "@storybook/builder-manager4": + optional: true + "@storybook/builder-manager5": + optional: true + "@storybook/builder-webpack4": + optional: true + "@storybook/builder-webpack5": + optional: true + "@storybook/html": + optional: true + "@storybook/vue": + optional: true + "@storybook/vue3": + optional: true + "@storybook/web-components": + optional: true + lit: + optional: true + lit-html: + optional: true + react: + optional: true + react-dom: + optional: true + svelte: + optional: true + sveltedoc-parser: + optional: true + vue: + optional: true + webpack: + optional: true + checksum: a4916ced99b68df5748cc3f860af7d4bddcac2ed3d8f5398d32faf34926884836e16746c5b76638291ec1d72ef869c5205d5121d2901feb16827ef1cb826429f + languageName: node + linkType: hard + +"@storybook/addon-essentials@workspace:*, @storybook/addon-essentials@workspace:addons/essentials": + version: 0.0.0-use.local + resolution: "@storybook/addon-essentials@workspace:addons/essentials" + dependencies: + "@babel/core": ^7.12.10 + "@storybook/addon-actions": 6.5.0-alpha.51 + "@storybook/addon-backgrounds": 6.5.0-alpha.51 + "@storybook/addon-controls": 6.5.0-alpha.51 + "@storybook/addon-docs": 6.5.0-alpha.51 + "@storybook/addon-highlight": 6.5.0-alpha.51 + "@storybook/addon-measure": 6.5.0-alpha.51 + "@storybook/addon-outline": 6.5.0-alpha.51 + "@storybook/addon-toolbars": 6.5.0-alpha.51 + "@storybook/addon-viewport": 6.5.0-alpha.51 + "@storybook/addons": 6.5.0-alpha.51 + "@storybook/api": 6.5.0-alpha.51 + "@storybook/core-common": 6.5.0-alpha.51 + "@storybook/node-logger": 6.5.0-alpha.51 "@types/jest": ^26.0.16 "@types/webpack-env": ^1.16.0 core-js: ^3.8.2 @@ -6437,7 +6671,7 @@ __metadata: languageName: unknown linkType: soft -"@storybook/addon-highlight@6.5.0-alpha.50, @storybook/addon-highlight@workspace:addons/highlight": +"@storybook/addon-highlight@6.5.0-alpha.51, @storybook/addon-highlight@workspace:addons/highlight": version: 0.0.0-use.local resolution: "@storybook/addon-highlight@workspace:addons/highlight" dependencies: @@ -6587,6 +6821,30 @@ __metadata: languageName: unknown linkType: soft +"@storybook/addon-measure@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/addon-measure@npm:6.5.0-alpha.51" + dependencies: + "@storybook/addons": 6.5.0-alpha.51 + "@storybook/api": 6.5.0-alpha.51 + "@storybook/client-logger": 6.5.0-alpha.51 + "@storybook/components": 6.5.0-alpha.51 + "@storybook/core-events": 6.5.0-alpha.51 + "@storybook/csf": 0.0.2--canary.507502b.0 + core-js: ^3.8.2 + global: ^4.4.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: bc671d83c5536d7636d5ae146234fc91589b9260718b806c8a163afca3a85df191a365a223c7a635968554b2fd536f0f86771bd5d5c450741ccd706b4d421024 + languageName: node + linkType: hard + "@storybook/addon-outline@6.5.0-alpha.50, @storybook/addon-outline@workspace:*, @storybook/addon-outline@workspace:addons/outline": version: 0.0.0-use.local resolution: "@storybook/addon-outline@workspace:addons/outline" @@ -6613,6 +6871,32 @@ __metadata: languageName: unknown linkType: soft +"@storybook/addon-outline@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/addon-outline@npm:6.5.0-alpha.51" + dependencies: + "@storybook/addons": 6.5.0-alpha.51 + "@storybook/api": 6.5.0-alpha.51 + "@storybook/client-logger": 6.5.0-alpha.51 + "@storybook/components": 6.5.0-alpha.51 + "@storybook/core-events": 6.5.0-alpha.51 + "@storybook/csf": 0.0.2--canary.507502b.0 + core-js: ^3.8.2 + global: ^4.4.0 + regenerator-runtime: ^0.13.7 + ts-dedent: ^2.0.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: 5d6c5d795b1f64bd442aa40e0600cb1fb2877f3f58b1ac7ec38734a8a0ae0d84022da3e5c99849a0e7d2f77f1befc0b9a862d5423610bd3fd1a37d895fd56f50 + languageName: node + linkType: hard + "@storybook/addon-postcss@npm:^2.0.0": version: 2.0.0 resolution: "@storybook/addon-postcss@npm:2.0.0" @@ -6790,6 +7074,28 @@ __metadata: languageName: unknown linkType: soft +"@storybook/addon-toolbars@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/addon-toolbars@npm:6.5.0-alpha.51" + dependencies: + "@storybook/addons": 6.5.0-alpha.51 + "@storybook/api": 6.5.0-alpha.51 + "@storybook/components": 6.5.0-alpha.51 + "@storybook/theming": 6.5.0-alpha.51 + core-js: ^3.8.2 + regenerator-runtime: ^0.13.7 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: e04bd5b8a8c898cc2feca113cb94b382cf82d1140d6ec9fac8831e253fc6dd5344e85a8729c1eaad564d5a59a6e26cef5bd29682092be7fce797db92fbacf197 + languageName: node + linkType: hard + "@storybook/addon-viewport@6.5.0-alpha.50, @storybook/addon-viewport@workspace:*, @storybook/addon-viewport@workspace:addons/viewport": version: 0.0.0-use.local resolution: "@storybook/addon-viewport@workspace:addons/viewport" @@ -6816,6 +7122,33 @@ __metadata: languageName: unknown linkType: soft +"@storybook/addon-viewport@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/addon-viewport@npm:6.5.0-alpha.51" + dependencies: + "@storybook/addons": 6.5.0-alpha.51 + "@storybook/api": 6.5.0-alpha.51 + "@storybook/client-logger": 6.5.0-alpha.51 + "@storybook/components": 6.5.0-alpha.51 + "@storybook/core-events": 6.5.0-alpha.51 + "@storybook/theming": 6.5.0-alpha.51 + core-js: ^3.8.2 + global: ^4.4.0 + memoizerific: ^1.11.3 + prop-types: ^15.7.2 + regenerator-runtime: ^0.13.7 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: 827c34b52451b7a2aa6dedcedad89f61170e55f433cb37b03e03a33aaf16da4d7d497ef118ac84ccd5c08cab2cd294af360174c6117b6b01325a06df75411c59 + languageName: node + linkType: hard + "@storybook/addons@6.5.0-alpha.50, @storybook/addons@workspace:*, @storybook/addons@workspace:lib/addons": version: 0.0.0-use.local resolution: "@storybook/addons@workspace:lib/addons" @@ -6859,6 +7192,28 @@ __metadata: languageName: node linkType: hard +"@storybook/addons@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/addons@npm:6.5.0-alpha.51" + dependencies: + "@storybook/api": 6.5.0-alpha.51 + "@storybook/channels": 6.5.0-alpha.51 + "@storybook/client-logger": 6.5.0-alpha.51 + "@storybook/core-events": 6.5.0-alpha.51 + "@storybook/csf": 0.0.2--canary.507502b.0 + "@storybook/router": 6.5.0-alpha.51 + "@storybook/theming": 6.5.0-alpha.51 + "@types/webpack-env": ^1.16.0 + core-js: ^3.8.2 + global: ^4.4.0 + regenerator-runtime: ^0.13.7 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: 0a0a0e885981f689598c8553ad4ceee70ed5a79a170dc833a840b1523e3275e829c27498fae6c86a0f83719df0b1aa8515703adf007995e6d7c8f7ef56893b01 + languageName: node + linkType: hard + "@storybook/angular@6.5.0-alpha.50, @storybook/angular@workspace:*, @storybook/angular@workspace:app/angular": version: 0.0.0-use.local resolution: "@storybook/angular@workspace:app/angular" @@ -7009,6 +7364,34 @@ __metadata: languageName: node linkType: hard +"@storybook/api@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/api@npm:6.5.0-alpha.51" + dependencies: + "@storybook/channels": 6.5.0-alpha.51 + "@storybook/client-logger": 6.5.0-alpha.51 + "@storybook/core-events": 6.5.0-alpha.51 + "@storybook/csf": 0.0.2--canary.507502b.0 + "@storybook/router": 6.5.0-alpha.51 + "@storybook/semver": ^7.3.2 + "@storybook/theming": 6.5.0-alpha.51 + core-js: ^3.8.2 + fast-deep-equal: ^3.1.3 + global: ^4.4.0 + lodash: ^4.17.21 + memoizerific: ^1.11.3 + regenerator-runtime: ^0.13.7 + store2: ^2.12.0 + telejson: ^5.3.3 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: 61b4649f55154697c57ceb031c983de34f299bcb8533285c766ea92c8c938c25b75d7935708b19b1ffda4186cfd222d29e0a396d18548c71c8c9d79b2199114d + languageName: node + linkType: hard + "@storybook/babel-plugin-require-context-hook@npm:1.0.1": version: 1.0.1 resolution: "@storybook/babel-plugin-require-context-hook@npm:1.0.1" @@ -7151,6 +7534,21 @@ __metadata: languageName: unknown linkType: soft +"@storybook/channel-postmessage@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/channel-postmessage@npm:6.5.0-alpha.51" + dependencies: + "@storybook/channels": 6.5.0-alpha.51 + "@storybook/client-logger": 6.5.0-alpha.51 + "@storybook/core-events": 6.5.0-alpha.51 + core-js: ^3.8.2 + global: ^4.4.0 + qs: ^6.10.0 + telejson: ^5.3.3 + checksum: 9e26f9be5746fe246243a73adf501062084b85c6d035aa4a77cd13416915bee937dc36e91434bea6d1f09d209e4284539f24703577d7fb64e27e3377e1ed29b6 + languageName: node + linkType: hard + "@storybook/channel-websocket@6.5.0-alpha.50, @storybook/channel-websocket@workspace:*, @storybook/channel-websocket@workspace:lib/channel-websocket": version: 0.0.0-use.local resolution: "@storybook/channel-websocket@workspace:lib/channel-websocket" @@ -7184,6 +7582,17 @@ __metadata: languageName: node linkType: hard +"@storybook/channels@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/channels@npm:6.5.0-alpha.51" + dependencies: + core-js: ^3.8.2 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + checksum: ee69036c7f2e000e0fb5f19072fdf9a48007aea0b5f3572044278fe863a903cf35d431e8fe24cca273dbf9ea10fc593a3b6b3a7c69f181283ea087767f565c9d + languageName: node + linkType: hard + "@storybook/cli@6.5.0-alpha.50, @storybook/cli@workspace:*, @storybook/cli@workspace:lib/cli": version: 0.0.0-use.local resolution: "@storybook/cli@workspace:lib/cli" @@ -7280,6 +7689,16 @@ __metadata: languageName: node linkType: hard +"@storybook/client-logger@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/client-logger@npm:6.5.0-alpha.51" + dependencies: + core-js: ^3.8.2 + global: ^4.4.0 + checksum: 11b30fde07fb2953573efc212633e870091c90b925af32ec4d0fe76551f13ab2808bed606daebecf3db242baa0a4dca5e18b66cf7efe854dcc3e79e57d69cc29 + languageName: node + linkType: hard + "@storybook/codemod@6.5.0-alpha.50, @storybook/codemod@workspace:*, @storybook/codemod@workspace:lib/codemod": version: 0.0.0-use.local resolution: "@storybook/codemod@workspace:lib/codemod" @@ -7340,6 +7759,22 @@ __metadata: languageName: unknown linkType: soft +"@storybook/components@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/components@npm:6.5.0-alpha.51" + dependencies: + "@storybook/client-logger": 6.5.0-alpha.51 + "@storybook/csf": 0.0.2--canary.507502b.0 + "@storybook/theming": 6.5.0-alpha.51 + core-js: ^3.8.2 + regenerator-runtime: ^0.13.7 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: af9b1a00f49e9615ff66161b7f6076c253f998a951bf064a870360fd1187bbd96643331ddf43e608bb26db66ef6f964d7886d8bed6a664842909eb3748e46c26 + languageName: node + linkType: hard + "@storybook/core-client@6.5.0-alpha.50, @storybook/core-client@workspace:lib/core-client": version: 0.0.0-use.local resolution: "@storybook/core-client@workspace:lib/core-client" @@ -7443,6 +7878,70 @@ __metadata: languageName: unknown linkType: soft +"@storybook/core-common@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/core-common@npm:6.5.0-alpha.51" + dependencies: + "@babel/core": ^7.12.10 + "@babel/plugin-proposal-class-properties": ^7.12.1 + "@babel/plugin-proposal-decorators": ^7.12.12 + "@babel/plugin-proposal-export-default-from": ^7.12.1 + "@babel/plugin-proposal-nullish-coalescing-operator": ^7.12.1 + "@babel/plugin-proposal-object-rest-spread": ^7.12.1 + "@babel/plugin-proposal-optional-chaining": ^7.12.7 + "@babel/plugin-proposal-private-methods": ^7.12.1 + "@babel/plugin-proposal-private-property-in-object": ^7.12.1 + "@babel/plugin-syntax-dynamic-import": ^7.8.3 + "@babel/plugin-transform-arrow-functions": ^7.12.1 + "@babel/plugin-transform-block-scoping": ^7.12.12 + "@babel/plugin-transform-classes": ^7.12.1 + "@babel/plugin-transform-destructuring": ^7.12.1 + "@babel/plugin-transform-for-of": ^7.12.1 + "@babel/plugin-transform-parameters": ^7.12.1 + "@babel/plugin-transform-shorthand-properties": ^7.12.1 + "@babel/plugin-transform-spread": ^7.12.1 + "@babel/preset-env": ^7.12.11 + "@babel/preset-react": ^7.12.10 + "@babel/preset-typescript": ^7.12.7 + "@babel/register": ^7.12.1 + "@storybook/node-logger": 6.5.0-alpha.51 + "@storybook/semver": ^7.3.2 + "@types/node": ^14.0.10 || ^16.0.0 + "@types/pretty-hrtime": ^1.0.0 + babel-loader: ^8.0.0 + babel-plugin-macros: ^3.0.1 + babel-plugin-polyfill-corejs3: ^0.1.0 + chalk: ^4.1.0 + core-js: ^3.8.2 + express: ^4.17.1 + file-system-cache: ^1.0.5 + find-up: ^5.0.0 + fork-ts-checker-webpack-plugin: ^6.0.4 + fs-extra: ^9.0.1 + glob: ^7.1.6 + handlebars: ^4.7.7 + interpret: ^2.2.0 + json5: ^2.1.3 + lazy-universal-dotenv: ^3.0.1 + picomatch: ^2.3.0 + pkg-dir: ^5.0.0 + pretty-hrtime: ^1.0.3 + resolve-from: ^5.0.0 + slash: ^3.0.0 + telejson: ^5.3.3 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + webpack: 4 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 0032426efa880d255b6101ec8068530a79c25a816f19b9f13c60340142fa33121ffd951145efaa95feecce309acd540316a1ef59678b8bb229beda8892ba2cdb + languageName: node + linkType: hard + "@storybook/core-events@6.5.0-alpha.50, @storybook/core-events@workspace:*, @storybook/core-events@workspace:lib/core-events": version: 0.0.0-use.local resolution: "@storybook/core-events@workspace:lib/core-events" @@ -7460,6 +7959,15 @@ __metadata: languageName: node linkType: hard +"@storybook/core-events@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/core-events@npm:6.5.0-alpha.51" + dependencies: + core-js: ^3.8.2 + checksum: 3d0e2dd715b4d1d801d1c90e18fa94cab122456ffb4b544d39fd4a394d72d6cf79bd6436cc6533aa481142b4f980e0d1d39230222f2bc5b90df5871aa95870d9 + languageName: node + linkType: hard + "@storybook/core-server@6.5.0-alpha.50, @storybook/core-server@workspace:lib/core-server": version: 0.0.0-use.local resolution: "@storybook/core-server@workspace:lib/core-server" @@ -7642,6 +8150,21 @@ __metadata: languageName: unknown linkType: soft +"@storybook/docs-tools@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/docs-tools@npm:6.5.0-alpha.51" + dependencies: + "@babel/core": ^7.12.10 + "@storybook/csf": 0.0.2--canary.507502b.0 + "@storybook/store": 6.5.0-alpha.51 + core-js: ^3.8.2 + doctrine: ^3.0.0 + lodash: ^4.17.21 + regenerator-runtime: ^0.13.7 + checksum: 9c3e8d6f7581b16484c3cb804a3865bd01900ee961c44ded27c77a2b2ffd0c347525b4fe4e5db8a8782db075959712f5e7ec72ec5aa1c5d2ec500b3c93636617 + languageName: node + linkType: hard + "@storybook/ember-cli-storybook@npm:^0.2.1": version: 0.2.1 resolution: "@storybook/ember-cli-storybook@npm:0.2.1" @@ -8002,6 +8525,19 @@ __metadata: languageName: node linkType: hard +"@storybook/node-logger@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/node-logger@npm:6.5.0-alpha.51" + dependencies: + "@types/npmlog": ^4.1.2 + chalk: ^4.1.0 + core-js: ^3.8.2 + npmlog: ^5.0.1 + pretty-hrtime: ^1.0.3 + checksum: 2afa4b7b46b14a29639580063eff4dc403afcfe9e3c6451a757f598786aa7bc0213161affb12d718ab309ac1135170a2ba049b1659d019554eb939455339dedd + languageName: node + linkType: hard + "@storybook/postinstall@6.5.0-alpha.50, @storybook/postinstall@workspace:*, @storybook/postinstall@workspace:lib/postinstall": version: 0.0.0-use.local resolution: "@storybook/postinstall@workspace:lib/postinstall" @@ -8013,6 +8549,15 @@ __metadata: languageName: unknown linkType: soft +"@storybook/postinstall@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/postinstall@npm:6.5.0-alpha.51" + dependencies: + core-js: ^3.8.2 + checksum: daadffafd9ba9e9cd498dc35da2ad2c0bfdac464975fe631727e03420d1b364d832672b4b816156d42ce7f1fff2b3c7446048432f78b086f98afc9e017b63e5f + languageName: node + linkType: hard + "@storybook/preact@6.5.0-alpha.50, @storybook/preact@workspace:*, @storybook/preact@workspace:app/preact": version: 0.0.0-use.local resolution: "@storybook/preact@workspace:app/preact" @@ -8101,6 +8646,33 @@ __metadata: languageName: unknown linkType: soft +"@storybook/preview-web@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/preview-web@npm:6.5.0-alpha.51" + dependencies: + "@storybook/addons": 6.5.0-alpha.51 + "@storybook/channel-postmessage": 6.5.0-alpha.51 + "@storybook/client-logger": 6.5.0-alpha.51 + "@storybook/core-events": 6.5.0-alpha.51 + "@storybook/csf": 0.0.2--canary.507502b.0 + "@storybook/store": 6.5.0-alpha.51 + ansi-to-html: ^0.6.11 + core-js: ^3.8.2 + global: ^4.4.0 + lodash: ^4.17.21 + qs: ^6.10.0 + regenerator-runtime: ^0.13.7 + synchronous-promise: ^2.0.15 + ts-dedent: ^2.0.0 + unfetch: ^4.2.0 + util-deprecate: ^1.0.2 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: c852ff64af112700e260823eb139f28ca910e213a77b307e01bc8f3bec162f805e0e2124a03ccd27acb120154c9f96f9909407d8cd81222981674894e6545d5b + languageName: node + linkType: hard + "@storybook/react-docgen-typescript-plugin@npm:1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0": version: 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0 resolution: "@storybook/react-docgen-typescript-plugin@npm:1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0" @@ -8477,6 +9049,20 @@ __metadata: languageName: node linkType: hard +"@storybook/router@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/router@npm:6.5.0-alpha.51" + dependencies: + "@storybook/client-logger": 6.5.0-alpha.51 + core-js: ^3.8.2 + regenerator-runtime: ^0.13.7 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: 673629e90039bc15df498d273f4267629903ab23e96b907117d4153904738ac70e8e12aa60a322d903d0a55c05f2975a6ac503043f11bc289afd467589d5d73e + languageName: node + linkType: hard + "@storybook/semver@npm:^7.3.2": version: 7.3.2 resolution: "@storybook/semver@npm:7.3.2" @@ -8542,6 +9128,27 @@ __metadata: languageName: unknown linkType: soft +"@storybook/source-loader@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/source-loader@npm:6.5.0-alpha.51" + dependencies: + "@storybook/addons": 6.5.0-alpha.51 + "@storybook/client-logger": 6.5.0-alpha.51 + "@storybook/csf": 0.0.2--canary.507502b.0 + core-js: ^3.8.2 + estraverse: ^5.2.0 + global: ^4.4.0 + loader-utils: ^2.0.0 + lodash: ^4.17.21 + prettier: ">=2.2.1 <=2.3.0" + regenerator-runtime: ^0.13.7 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: 7c368a524b0ed289de2e3994d5b24c18353b3ee9f6eece2b35fbc2d997d44f3ce25bd79e61f223b3be88ec4e11adff526a3f425b5db76635277604ca64d4ea06 + languageName: node + linkType: hard + "@storybook/store@6.5.0-alpha.50, @storybook/store@workspace:*, @storybook/store@workspace:lib/store": version: 0.0.0-use.local resolution: "@storybook/store@workspace:lib/store" @@ -8567,6 +9174,32 @@ __metadata: languageName: unknown linkType: soft +"@storybook/store@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/store@npm:6.5.0-alpha.51" + dependencies: + "@storybook/addons": 6.5.0-alpha.51 + "@storybook/client-logger": 6.5.0-alpha.51 + "@storybook/core-events": 6.5.0-alpha.51 + "@storybook/csf": 0.0.2--canary.507502b.0 + core-js: ^3.8.2 + fast-deep-equal: ^3.1.3 + global: ^4.4.0 + lodash: ^4.17.21 + memoizerific: ^1.11.3 + regenerator-runtime: ^0.13.7 + slash: ^3.0.0 + stable: ^0.1.8 + synchronous-promise: ^2.0.15 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: c7ed2937baaa73fdf77cdaf0d046ff998b5f16543c309990faf0cedc8ff93dc041f7cac1049b9b8d279295230891e00d485a6815d5b7e58e1cb8ecdc0d4033a0 + languageName: node + linkType: hard + "@storybook/svelte@6.5.0-alpha.50, @storybook/svelte@workspace:*, @storybook/svelte@workspace:app/svelte": version: 0.0.0-use.local resolution: "@storybook/svelte@workspace:app/svelte" @@ -8664,6 +9297,20 @@ __metadata: languageName: node linkType: hard +"@storybook/theming@npm:6.5.0-alpha.51": + version: 6.5.0-alpha.51 + resolution: "@storybook/theming@npm:6.5.0-alpha.51" + dependencies: + "@storybook/client-logger": 6.5.0-alpha.51 + core-js: ^3.8.2 + regenerator-runtime: ^0.13.7 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: 4d50a203c26a12a92b4ce89edfde7a59663c4231dd113687e787fc9e3b72861c215c1134ad844b944d47a5f8ee130425be0968649e21e261afe85277363008a4 + languageName: node + linkType: hard + "@storybook/ui@6.5.0-alpha.50, @storybook/ui@workspace:*, @storybook/ui@workspace:lib/ui": version: 0.0.0-use.local resolution: "@storybook/ui@workspace:lib/ui" From e3bfd4b7ae1753c43a150ca42f4f8223dce4f610 Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Mon, 28 Mar 2022 13:31:22 -0400 Subject: [PATCH 10/44] use decorator to trigger highlight events and rename highlight.stories -> addon-highlight.stories --- .../stories/addon-highlight.stories.js | 104 ++++++++++++++++++ .../stories/highlight.stories.js | 99 ----------------- 2 files changed, 104 insertions(+), 99 deletions(-) create mode 100644 examples/official-storybook/stories/addon-highlight.stories.js delete mode 100644 examples/official-storybook/stories/highlight.stories.js diff --git a/examples/official-storybook/stories/addon-highlight.stories.js b/examples/official-storybook/stories/addon-highlight.stories.js new file mode 100644 index 00000000000..de989262861 --- /dev/null +++ b/examples/official-storybook/stories/addon-highlight.stories.js @@ -0,0 +1,104 @@ +import React from 'react'; +import { useChannel } from '@storybook/addons'; +import { HIGHLIGHT, RESET_HIGHLIGHT } from '@storybook/addon-highlight'; +import { Page } from '../components/page/Page'; + +export default { + title: 'Addons/Highlight', + component: Page, +}; + +const Template = () => ; + +export const OneSelector = Template.bind({}); +OneSelector.decorators = [ + (story) => { + const emit = useChannel({}); + + emit(HIGHLIGHT, { + elements: ['.page-title'], + }); + + return story(); + }, +]; + +export const MultipleSelectors = Template.bind({}); +MultipleSelectors.decorators = [ + (story) => { + const emit = useChannel({}); + + emit(HIGHLIGHT, { + elements: ['a', 'button'], + }); + + return story(); + }, +]; + +export const CustomColor = Template.bind({}); +CustomColor.decorators = [ + (story) => { + const emit = useChannel({}); + + emit(HIGHLIGHT, { + elements: ['.tip-wrapper'], + color: '#6c1d5c', + style: 'solid', + }); + + return story(); + }, +]; + +export const OutlineStyle = Template.bind({}); +OutlineStyle.decorators = [ + (story) => { + const emit = useChannel({}); + + emit(HIGHLIGHT, { + elements: ['.page-title'], + color: '#6c1d5c', + style: 'double', + }); + + return story(); + }, +]; + +export const MultipleEvents = Template.bind({}); +MultipleEvents.decorators = [ + (story) => { + const emit = useChannel({}); + + emit(HIGHLIGHT, { + elements: ['.tip-wrapper'], + color: '#6c1d5c', + style: 'solid', + }); + + emit(HIGHLIGHT, { + elements: ['ul'], + color: '#6c1d5c', + style: 'dotted', + }); + return story(); + }, +]; + +export const Reset = Template.bind({}); +Reset.decorators = [ + (story) => { + const emit = useChannel({}); + + emit(HIGHLIGHT, { + elements: ['ul'], + color: '#6c1d5c', + style: 'dotted', + }); + + emit(RESET_HIGHLIGHT); + + return story(); + }, +]; diff --git a/examples/official-storybook/stories/highlight.stories.js b/examples/official-storybook/stories/highlight.stories.js deleted file mode 100644 index 3716467c921..00000000000 --- a/examples/official-storybook/stories/highlight.stories.js +++ /dev/null @@ -1,99 +0,0 @@ -import React, { useEffect } from 'react'; -import { useChannel } from '@storybook/addons'; -import { HIGHLIGHT, RESET_HIGHLIGHT } from '@storybook/addon-highlight'; -import { Page } from '../components/page/Page'; - -export default { - title: 'Addons/Highlight', - component: Page, -}; - -export const OneSelector = () => { - const emit = useChannel({}); - - useEffect(() => { - emit(HIGHLIGHT, { - elements: ['.page-title'], - }); - }, []); - - return ; -}; - -export const MultipleSelectors = () => { - const emit = useChannel({}); - - useEffect(() => { - emit(HIGHLIGHT, { - elements: ['a', 'button'], - }); - }, []); - - return ; -}; - -export const CustomColor = () => { - const emit = useChannel({}); - - useEffect(() => { - emit(HIGHLIGHT, { - elements: ['.tip-wrapper'], - color: '#6c1d5c', - style: 'solid', - }); - }, []); - - return ; -}; - -export const OutlineStyle = () => { - const emit = useChannel({}); - - useEffect(() => { - emit(HIGHLIGHT, { - elements: ['.page-title'], - color: '#6c1d5c', - style: 'double', - }); - }, []); - - return ; -}; - -export const MultipleEvents = () => { - const emit = useChannel({}); - - useEffect(() => { - // It should apply only the most recent highlight - emit(HIGHLIGHT, { - elements: ['.tip-wrapper'], - color: '#6c1d5c', - style: 'solid', - }); - - emit(HIGHLIGHT, { - elements: ['ul'], - color: '#6c1d5c', - style: 'dotted', - }); - }, []); - - return ; -}; - -export const Reset = () => { - const emit = useChannel({}); - - useEffect(() => { - // It should clear the highlight - emit(HIGHLIGHT, { - elements: ['ul'], - color: '#6c1d5c', - style: 'dotted', - }); - - emit(RESET_HIGHLIGHT); - }, []); - - return ; -}; From dff40ca16ce8da6eb253a608fa81567b242b4cb7 Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Mon, 28 Mar 2022 14:43:02 -0400 Subject: [PATCH 11/44] add code snippets for core frameworks --- docs/essentials/highlight.md | 31 ++++++++++++------ docs/essentials/introduction.md | 2 +- .../component-story-highlight-addon.ts.mdx | 30 +++++++++++++++++ .../common/addon-highlight-customize.js.mdx | 9 ++++++ .../common/addon-highlight-reset.js.mdx | 5 +++ .../component-story-highlight-addon.js.mdx | 12 +++---- .../component-story-highlight-addon.js.mdx | 32 +++++++++++++++++++ .../component-story-highlight-addon.js.mdx | 25 +++++++++++++++ .../stories/addon-highlight.stories.js | 24 +++++++------- 9 files changed, 141 insertions(+), 29 deletions(-) create mode 100644 docs/snippets/angular/component-story-highlight-addon.ts.mdx create mode 100644 docs/snippets/common/addon-highlight-customize.js.mdx create mode 100644 docs/snippets/common/addon-highlight-reset.js.mdx create mode 100644 docs/snippets/vue/component-story-highlight-addon.js.mdx create mode 100644 docs/snippets/web-components/component-story-highlight-addon.js.mdx diff --git a/docs/essentials/highlight.md b/docs/essentials/highlight.md index cf545afbbdc..926f1a9589e 100644 --- a/docs/essentials/highlight.md +++ b/docs/essentials/highlight.md @@ -17,6 +17,9 @@ Highlight DOM nodes by emitting the `HIGHLIGHT` event from within a story or an @@ -24,16 +27,24 @@ Highlight DOM nodes by emitting the `HIGHLIGHT` event from within a story or an Highlights are automatically cleared when the story changes. You can also manually clear them by emitting the `RESET_HIGHLIGHT` event. -```js -emit(RESET_HIGHLIGHT); -``` + + + + + ## Customize style -```js -emit(HIGHLIGHT, { - elements: ['.title', '.subtitle'], - color: 'red', - style: 'solid', // 'dotted' | 'dashed' | 'solid' | 'double' -}); -``` + + + + + diff --git a/docs/essentials/introduction.md b/docs/essentials/introduction.md index 61dc90b59bf..bab8cef5cbe 100644 --- a/docs/essentials/introduction.md +++ b/docs/essentials/introduction.md @@ -109,6 +109,6 @@ For example, if you wanted to disable the [backgrounds addon](./backgrounds.md),

diff --git a/docs/snippets/angular/component-story-highlight-addon.ts.mdx b/docs/snippets/angular/component-story-highlight-addon.ts.mdx new file mode 100644 index 00000000000..79282658faf --- /dev/null +++ b/docs/snippets/angular/component-story-highlight-addon.ts.mdx @@ -0,0 +1,30 @@ +```js +// Card.stories.ts + +import { componentWrapperDecorator, Meta, Story } from '@storybook/angular'; +import { useChannel } from '@storybook/addons'; +import { HIGHLIGHT, RESET_HIGHLIGHT } from '@storybook/addon-highlight'; +import { Card } form './card.component'; + +export default { + /* 👇 The title prop is optional. + * See https://storybook.js.org/docs/angular/configure/overview#configure-story-loading + * to learn how to generate automatic titles + */ + title: 'Card', + component: Card +} as Meta; + +export const Default: Story = (args) => ({ + template: '', +}); +Default.decorators = [ + componentWrapperDecorator((story) => { + const emit = useChannel({}); + emit(HIGHLIGHT, { + elements: ['.title', '.subtitle'], + }); + return story; + }), +]; +``` diff --git a/docs/snippets/common/addon-highlight-customize.js.mdx b/docs/snippets/common/addon-highlight-customize.js.mdx new file mode 100644 index 00000000000..45d07886f32 --- /dev/null +++ b/docs/snippets/common/addon-highlight-customize.js.mdx @@ -0,0 +1,9 @@ +```js +// MyComponent.stories.js + +emit(HIGHLIGHT, { + elements: ['.title', '.subtitle'], + color: 'red', + style: 'solid', // 'dotted' | 'dashed' | 'solid' | 'double' +}); +``` diff --git a/docs/snippets/common/addon-highlight-reset.js.mdx b/docs/snippets/common/addon-highlight-reset.js.mdx new file mode 100644 index 00000000000..54d5252ed60 --- /dev/null +++ b/docs/snippets/common/addon-highlight-reset.js.mdx @@ -0,0 +1,5 @@ +```js +// MyComponent.stories.js + +emit(RESET_HIGHLIGHT); +``` diff --git a/docs/snippets/react/component-story-highlight-addon.js.mdx b/docs/snippets/react/component-story-highlight-addon.js.mdx index 7f8ab17ade2..0c68f53d98a 100644 --- a/docs/snippets/react/component-story-highlight-addon.js.mdx +++ b/docs/snippets/react/component-story-highlight-addon.js.mdx @@ -15,13 +15,13 @@ export default { component: Card }; -export const Default = () => { - const emit = useChannel({}); - useEffect(() => { +export const Default = () => ; +Default.decorators = [ + (storyFn) => { emit(HIGHLIGHT, { elements: ['.title', '.subtitle'], }); - }, []); - return ; -}; + return storyFn(); + }, +]; ``` diff --git a/docs/snippets/vue/component-story-highlight-addon.js.mdx b/docs/snippets/vue/component-story-highlight-addon.js.mdx new file mode 100644 index 00000000000..3bb3d0f30b6 --- /dev/null +++ b/docs/snippets/vue/component-story-highlight-addon.js.mdx @@ -0,0 +1,32 @@ +```js +// Card.stories.js + +import { useChannel } from '@storybook/addons'; +import { HIGHLIGHT, RESET_HIGHLIGHT } from '@storybook/addon-highlight'; +import { Card } form './Card.vue'; + +export default { + /* 👇 The title prop is optional. + * See https://storybook.js.org/docs/angular/configure/overview#configure-story-loading + * to learn how to generate automatic titles + */ + title: 'Card', + component: Card +}; + +export const Default: Story = (args) => ({ + template: '', +}); +Default.decorators = [ + (story) => { + const emit = useChannel({}); + emit(HIGHLIGHT, { + elements: ['.title', '.subtitle'], + }); + return { + components: { story }, + template: '', + }; + }, +]; +``` diff --git a/docs/snippets/web-components/component-story-highlight-addon.js.mdx b/docs/snippets/web-components/component-story-highlight-addon.js.mdx new file mode 100644 index 00000000000..4a8f436b4e4 --- /dev/null +++ b/docs/snippets/web-components/component-story-highlight-addon.js.mdx @@ -0,0 +1,25 @@ +```js +// card-component.stories.js + +import { html } from 'lit-html'; +import { useChannel } from '@storybook/addons'; +import { HIGHLIGHT, RESET_HIGHLIGHT } from '@storybook/addon-highlight'; +import './card-component'; + +export default { + title: 'Card', +}; + +export const Default: Story = (args) => ({ + template: html``, +}); +Default.decorators = [ + (story) => { + const emit = useChannel({}); + emit(HIGHLIGHT, { + elements: ['.title', '.subtitle'], + }); + return story(); + }, +]; +``` diff --git a/examples/official-storybook/stories/addon-highlight.stories.js b/examples/official-storybook/stories/addon-highlight.stories.js index de989262861..8f6dc6bfcb9 100644 --- a/examples/official-storybook/stories/addon-highlight.stories.js +++ b/examples/official-storybook/stories/addon-highlight.stories.js @@ -12,33 +12,33 @@ const Template = () => ; export const OneSelector = Template.bind({}); OneSelector.decorators = [ - (story) => { + (storyFn) => { const emit = useChannel({}); emit(HIGHLIGHT, { elements: ['.page-title'], }); - return story(); + return storyFn(); }, ]; export const MultipleSelectors = Template.bind({}); MultipleSelectors.decorators = [ - (story) => { + (storyFn) => { const emit = useChannel({}); emit(HIGHLIGHT, { elements: ['a', 'button'], }); - return story(); + return storyFn(); }, ]; export const CustomColor = Template.bind({}); CustomColor.decorators = [ - (story) => { + (storyFn) => { const emit = useChannel({}); emit(HIGHLIGHT, { @@ -47,13 +47,13 @@ CustomColor.decorators = [ style: 'solid', }); - return story(); + return storyFn(); }, ]; export const OutlineStyle = Template.bind({}); OutlineStyle.decorators = [ - (story) => { + (storyFn) => { const emit = useChannel({}); emit(HIGHLIGHT, { @@ -62,13 +62,13 @@ OutlineStyle.decorators = [ style: 'double', }); - return story(); + return storyFn(); }, ]; export const MultipleEvents = Template.bind({}); MultipleEvents.decorators = [ - (story) => { + (storyFn) => { const emit = useChannel({}); emit(HIGHLIGHT, { @@ -82,13 +82,13 @@ MultipleEvents.decorators = [ color: '#6c1d5c', style: 'dotted', }); - return story(); + return storyFn(); }, ]; export const Reset = Template.bind({}); Reset.decorators = [ - (story) => { + (storyFn) => { const emit = useChannel({}); emit(HIGHLIGHT, { @@ -99,6 +99,6 @@ Reset.decorators = [ emit(RESET_HIGHLIGHT); - return story(); + return storyFn(); }, ]; From 7ea6ed7d4b5697724b5ce0adb250fcc366387a26 Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Mon, 28 Mar 2022 15:08:09 -0400 Subject: [PATCH 12/44] add addon-highlight as a dependency to addon-a11y --- addons/a11y/package.json | 1 + yarn.lock | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/a11y/package.json b/addons/a11y/package.json index db6e685046e..af9e3686bc9 100644 --- a/addons/a11y/package.json +++ b/addons/a11y/package.json @@ -45,6 +45,7 @@ "prepare": "node ../../scripts/prepare.js" }, "dependencies": { + "@storybook/addon-highlight": "6.5.0-alpha.51", "@storybook/addons": "6.5.0-alpha.51", "@storybook/api": "6.5.0-alpha.51", "@storybook/channels": "6.5.0-alpha.51", diff --git a/yarn.lock b/yarn.lock index 81b6755f044..037c8dee473 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6196,6 +6196,7 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-a11y@workspace:addons/a11y" dependencies: + "@storybook/addon-highlight": 6.5.0-alpha.51 "@storybook/addons": 6.5.0-alpha.51 "@storybook/api": 6.5.0-alpha.51 "@storybook/channels": 6.5.0-alpha.51 @@ -6435,7 +6436,7 @@ __metadata: languageName: unknown linkType: soft -"@storybook/addon-highlight@workspace:addons/highlight": +"@storybook/addon-highlight@6.5.0-alpha.51, @storybook/addon-highlight@workspace:addons/highlight": version: 0.0.0-use.local resolution: "@storybook/addon-highlight@workspace:addons/highlight" dependencies: From 234e2b3d5f5899352d216b4634ec714bc56b935a Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Mon, 28 Mar 2022 17:51:04 -0400 Subject: [PATCH 13/44] fix the isolatedModules error --- addons/highlight/src/register.ts | 2 ++ addons/highlight/src/register.tsx | 0 2 files changed, 2 insertions(+) create mode 100644 addons/highlight/src/register.ts delete mode 100644 addons/highlight/src/register.tsx diff --git a/addons/highlight/src/register.ts b/addons/highlight/src/register.ts new file mode 100644 index 00000000000..dafa948eda6 --- /dev/null +++ b/addons/highlight/src/register.ts @@ -0,0 +1,2 @@ +// make it work with --isolatedModules +export default {}; diff --git a/addons/highlight/src/register.tsx b/addons/highlight/src/register.tsx deleted file mode 100644 index e69de29bb2d..00000000000 From db5831e42bbe47f600c044d3f1ed69b85070e264 Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Mon, 28 Mar 2022 18:27:27 -0400 Subject: [PATCH 14/44] add highlight to nx and workspace config --- nx.json | 3 +++ workspace.json | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/nx.json b/nx.json index 588fa7bfcf8..13a980e928a 100644 --- a/nx.json +++ b/nx.json @@ -37,6 +37,9 @@ "@storybook/addon-essentials": { "implicitDependencies": [] }, + "@storybook/addon-highlight": { + "implicitDependencies": [] + }, "@storybook/addon-interactions": { "implicitDependencies": [] }, diff --git a/workspace.json b/workspace.json index 010773cb947..9412c07626c 100644 --- a/workspace.json +++ b/workspace.json @@ -21,6 +21,10 @@ "root": "addons/docs", "type": "library" }, + "@storybook/addon-highlight": { + "root": "addons/highlight", + "type": "library" + }, "@storybook/addon-essentials": { "root": "addons/essentials", "type": "library" From ccf423c069e6f2cc39a36d7d37bad644244fcdc5 Mon Sep 17 00:00:00 2001 From: Yann Braga Date: Mon, 4 Apr 2022 21:17:54 +0200 Subject: [PATCH 15/44] add missing addon-highlight entries in package.json --- examples/official-storybook/package.json | 1 + package.json | 1 + yarn.lock | 4 +++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/examples/official-storybook/package.json b/examples/official-storybook/package.json index 156e064adb1..c6349ca87ae 100644 --- a/examples/official-storybook/package.json +++ b/examples/official-storybook/package.json @@ -19,6 +19,7 @@ "@storybook/addon-backgrounds": "6.5.0-alpha.51", "@storybook/addon-controls": "6.5.0-alpha.51", "@storybook/addon-docs": "6.5.0-alpha.51", + "@storybook/addon-highlight": "6.5.0-alpha.51", "@storybook/addon-interactions": "6.5.0-alpha.51", "@storybook/addon-jest": "6.5.0-alpha.51", "@storybook/addon-links": "6.5.0-alpha.51", diff --git a/package.json b/package.json index 25279a0cdaa..ca1c1fff9cc 100644 --- a/package.json +++ b/package.json @@ -139,6 +139,7 @@ "@storybook/addon-controls": "workspace:*", "@storybook/addon-docs": "workspace:*", "@storybook/addon-essentials": "workspace:*", + "@storybook/addon-highlight": "workspace:*", "@storybook/addon-interactions": "workspace:*", "@storybook/addon-jest": "workspace:*", "@storybook/addon-links": "workspace:*", diff --git a/yarn.lock b/yarn.lock index 037c8dee473..944e3b16231 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6436,7 +6436,7 @@ __metadata: languageName: unknown linkType: soft -"@storybook/addon-highlight@6.5.0-alpha.51, @storybook/addon-highlight@workspace:addons/highlight": +"@storybook/addon-highlight@6.5.0-alpha.51, @storybook/addon-highlight@workspace:*, @storybook/addon-highlight@workspace:addons/highlight": version: 0.0.0-use.local resolution: "@storybook/addon-highlight@workspace:addons/highlight" dependencies: @@ -8320,6 +8320,7 @@ __metadata: "@storybook/addon-controls": "workspace:*" "@storybook/addon-docs": "workspace:*" "@storybook/addon-essentials": "workspace:*" + "@storybook/addon-highlight": "workspace:*" "@storybook/addon-interactions": "workspace:*" "@storybook/addon-jest": "workspace:*" "@storybook/addon-links": "workspace:*" @@ -33722,6 +33723,7 @@ __metadata: "@storybook/addon-backgrounds": 6.5.0-alpha.51 "@storybook/addon-controls": 6.5.0-alpha.51 "@storybook/addon-docs": 6.5.0-alpha.51 + "@storybook/addon-highlight": 6.5.0-alpha.51 "@storybook/addon-interactions": 6.5.0-alpha.51 "@storybook/addon-jest": 6.5.0-alpha.51 "@storybook/addon-links": 6.5.0-alpha.51 From 3c3cbeeefa18a9a86891ae771c03dc482f34988b Mon Sep 17 00:00:00 2001 From: Yann Braga Date: Tue, 5 Apr 2022 23:02:34 +0200 Subject: [PATCH 16/44] fix yarn lock --- yarn.lock | 209 ++---------------------------------------------------- 1 file changed, 6 insertions(+), 203 deletions(-) diff --git a/yarn.lock b/yarn.lock index 60c1aa0574c..aca09011391 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,3 +1,6 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + __metadata: version: 5 cacheKey: 8c0 @@ -6176,6 +6179,7 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-a11y@workspace:addons/a11y" dependencies: + "@storybook/addon-highlight": 6.5.0-alpha.56 "@storybook/addons": 6.5.0-alpha.56 "@storybook/api": 6.5.0-alpha.56 "@storybook/channels": 6.5.0-alpha.56 @@ -6409,7 +6413,7 @@ __metadata: languageName: unknown linkType: soft -"@storybook/addon-highlight@6.5.0-alpha.55, @storybook/addon-highlight@workspace:*, @storybook/addon-highlight@workspace:addons/highlight": +"@storybook/addon-highlight@6.5.0-alpha.56, @storybook/addon-highlight@workspace:*, @storybook/addon-highlight@workspace:addons/highlight": version: 0.0.0-use.local resolution: "@storybook/addon-highlight@workspace:addons/highlight" dependencies: @@ -6855,94 +6859,6 @@ __metadata: languageName: node linkType: hard -"@storybook/angular@6.5.0-alpha.55, @storybook/angular@workspace:*, @storybook/angular@workspace:app/angular": - version: 0.0.0-use.local - resolution: "@storybook/angular@workspace:app/angular" - dependencies: - "@angular-devkit/architect": ~0.1102.0 - "@angular-devkit/build-angular": ~0.1102.13 - "@angular-devkit/core": ^11.2.13 - "@angular/cli": ^11.2.14 - "@angular/common": ^11.2.14 - "@angular/compiler": ^11.2.14 - "@angular/compiler-cli": ^11.2.14 - "@angular/core": ^11.2.14 - "@angular/forms": ^11.2.14 - "@angular/platform-browser": ^11.2.14 - "@angular/platform-browser-dynamic": ^11.2.14 - "@nrwl/workspace": ^11.6.3 - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/api": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/core": 6.5.0-alpha.56 - "@storybook/core-common": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 - "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/docs-tools": 6.5.0-alpha.56 - "@storybook/node-logger": 6.5.0-alpha.56 - "@storybook/semver": ^7.3.2 - "@storybook/store": 6.5.0-alpha.56 - "@types/autoprefixer": ^9.7.2 - "@types/node": ^14.14.20 || ^16.0.0 - "@types/react": ^16.14.23 - "@types/react-dom": ^16.9.14 - "@types/tmp": ^0.2.3 - "@types/webpack-env": ^1.16.0 - autoprefixer: ^9.8.6 - core-js: ^3.8.2 - cross-spawn: ^7.0.3 - find-up: ^5.0.0 - fork-ts-checker-webpack-plugin: ^4.1.6 - global: ^4.4.0 - jest: ^26.6.3 - jest-preset-angular: ^8.3.2 - jest-specific-snapshot: ^4.0.0 - nanoid: ^3.1.23 - p-limit: ^3.1.0 - postcss: ^7.0.36 - postcss-loader: ^4.2.0 - raw-loader: ^4.0.2 - react: ^16.14.0 - react-dom: ^16.14.0 - read-pkg-up: ^7.0.1 - regenerator-runtime: ^0.13.7 - sass-loader: ^10.1.0 - telejson: ^5.3.3 - tmp: ^0.2.1 - ts-dedent: ^2.0.0 - ts-loader: ^8.0.14 - tsconfig-paths-webpack-plugin: ^3.3.0 - util-deprecate: ^1.0.2 - webpack: 4 - peerDependencies: - "@angular-devkit/architect": ">=0.8.9" - "@angular-devkit/build-angular": ">=0.8.9 || >= 12.0.0" - "@angular-devkit/core": ^0.6.1 || >=7.0.0 - "@angular/cli": ">=6.0.0" - "@angular/common": ">=6.0.0" - "@angular/compiler": ">=6.0.0" - "@angular/compiler-cli": ">=6.0.0" - "@angular/core": ">=6.0.0" - "@angular/forms": ">=6.0.0" - "@angular/platform-browser": ">=6.0.0" - "@angular/platform-browser-dynamic": ">=6.0.0" - "@babel/core": "*" - "@nrwl/workspace": ">=11.1.0" - rxjs: ^6.0.0 || ^7.4.0 - typescript: ^3.4.0 || >=4.0.0 - zone.js: ^0.8.29 || ^0.9.0 || ^0.10.0 || ^0.11.0 - peerDependenciesMeta: - "@angular/cli": - optional: true - "@nrwl/workspace": - optional: true - bin: - build-storybook: ./bin/build.js - start-storybook: ./bin/index.js - storybook-server: ./bin/index.js - languageName: unknown - linkType: soft - "@storybook/angular@6.5.0-alpha.56, @storybook/angular@workspace:*, @storybook/angular@workspace:app/angular": version: 0.0.0-use.local resolution: "@storybook/angular@workspace:app/angular" @@ -7306,53 +7222,6 @@ __metadata: languageName: node linkType: hard -"@storybook/cli@6.5.0-alpha.55, @storybook/cli@workspace:*, @storybook/cli@workspace:lib/cli": - version: 0.0.0-use.local - resolution: "@storybook/cli@workspace:lib/cli" - dependencies: - "@babel/core": ^7.12.10 - "@babel/preset-env": ^7.12.11 - "@storybook/client-api": 6.5.0-alpha.56 - "@storybook/codemod": 6.5.0-alpha.56 - "@storybook/core-common": 6.5.0-alpha.56 - "@storybook/csf-tools": 6.5.0-alpha.56 - "@storybook/node-logger": 6.5.0-alpha.56 - "@storybook/semver": ^7.3.2 - "@types/cross-spawn": ^6.0.2 - "@types/prompts": ^2.0.9 - "@types/puppeteer-core": ^2.1.0 - "@types/semver": ^7.3.4 - "@types/shelljs": ^0.8.7 - "@types/update-notifier": ^5.0.0 - boxen: ^5.1.2 - chalk: ^4.1.0 - commander: ^6.2.1 - core-js: ^3.8.2 - cross-spawn: ^7.0.3 - envinfo: ^7.7.3 - express: ^4.17.1 - find-up: ^5.0.0 - fs-extra: ^9.0.1 - get-port: ^5.1.1 - globby: ^11.0.2 - jscodeshift: ^0.13.1 - json5: ^2.1.3 - leven: ^3.1.0 - prompts: ^2.4.0 - puppeteer-core: ^2.1.1 - read-pkg-up: ^7.0.1 - shelljs: ^0.8.5 - strip-json-comments: ^3.1.1 - ts-dedent: ^2.0.0 - update-notifier: ^5.0.1 - peerDependencies: - jest: "*" - bin: - getstorybook: ./bin/index.js - sb: ./bin/index.js - languageName: unknown - linkType: soft - "@storybook/cli@6.5.0-alpha.56, @storybook/cli@workspace:*, @storybook/cli@workspace:lib/cli": version: 0.0.0-use.local resolution: "@storybook/cli@workspace:lib/cli" @@ -7691,73 +7560,6 @@ __metadata: languageName: node linkType: hard -"@storybook/core-server@6.5.0-alpha.55, @storybook/core-server@workspace:lib/core-server": - version: 0.0.0-use.local - resolution: "@storybook/core-server@workspace:lib/core-server" - dependencies: - "@discoveryjs/json-ext": ^0.5.3 - "@storybook/builder-webpack4": 6.5.0-alpha.56 - "@storybook/builder-webpack5": 6.5.0-alpha.56 - "@storybook/core-client": 6.5.0-alpha.56 - "@storybook/core-common": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 - "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/csf-tools": 6.5.0-alpha.56 - "@storybook/manager-webpack4": 6.5.0-alpha.56 - "@storybook/node-logger": 6.5.0-alpha.56 - "@storybook/semver": ^7.3.2 - "@storybook/store": 6.5.0-alpha.56 - "@types/compression": ^1.7.0 - "@types/ip": ^1.1.0 - "@types/node": ^14.0.10 || ^16.0.0 - "@types/node-fetch": ^2.5.7 - "@types/pretty-hrtime": ^1.0.0 - "@types/serve-favicon": ^2.5.2 - "@types/webpack": ^4.41.26 - "@types/ws": ^8 - better-opn: ^2.1.1 - boxen: ^5.1.2 - chalk: ^4.1.0 - cli-table3: ^0.6.1 - commander: ^6.2.1 - compression: ^1.7.4 - core-js: ^3.8.2 - cpy: ^8.1.2 - detect-port: ^1.3.0 - express: ^4.17.1 - fs-extra: ^9.0.1 - global: ^4.4.0 - globby: ^11.0.2 - ip: ^1.1.5 - jest-specific-snapshot: ^4.0.0 - lodash: ^4.17.21 - node-fetch: ^2.6.7 - open: ^8.4.0 - pretty-hrtime: ^1.0.3 - prompts: ^2.4.0 - regenerator-runtime: ^0.13.7 - serve-favicon: ^2.5.0 - slash: ^3.0.0 - telejson: ^5.3.3 - ts-dedent: ^2.0.0 - util-deprecate: ^1.0.2 - watchpack: ^2.2.0 - webpack: 4 - ws: ^8.2.3 - x-default-browser: ^0.4.0 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@storybook/builder-webpack5": - optional: true - "@storybook/manager-webpack5": - optional: true - typescript: - optional: true - languageName: unknown - linkType: soft - "@storybook/core-server@6.5.0-alpha.56, @storybook/core-server@workspace:lib/core-server": version: 0.0.0-use.local resolution: "@storybook/core-server@workspace:lib/core-server" @@ -34009,6 +33811,7 @@ __metadata: "@storybook/addon-backgrounds": 6.5.0-alpha.56 "@storybook/addon-controls": 6.5.0-alpha.56 "@storybook/addon-docs": 6.5.0-alpha.56 + "@storybook/addon-highlight": 6.5.0-alpha.56 "@storybook/addon-interactions": 6.5.0-alpha.56 "@storybook/addon-jest": 6.5.0-alpha.56 "@storybook/addon-links": 6.5.0-alpha.56 From f737c29316af9036a3a94c400fd713e1380d3f4b Mon Sep 17 00:00:00 2001 From: Michael Shilman Date: Wed, 6 Apr 2022 08:02:12 +0800 Subject: [PATCH 17/44] Fix package versions --- addons/highlight/package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/highlight/package.json b/addons/highlight/package.json index 5c55c7db1d2..ff7c126d91c 100644 --- a/addons/highlight/package.json +++ b/addons/highlight/package.json @@ -43,11 +43,11 @@ "prepare": "node ../../scripts/prepare.js" }, "dependencies": { - "@storybook/addons": "6.5.0-alpha.50", - "@storybook/api": "6.5.0-alpha.50", - "@storybook/client-logger": "6.5.0-alpha.50", - "@storybook/components": "6.5.0-alpha.50", - "@storybook/core-events": "6.5.0-alpha.50", + "@storybook/addons": "6.5.0-alpha.56", + "@storybook/api": "6.5.0-alpha.56", + "@storybook/client-logger": "6.5.0-alpha.56", + "@storybook/components": "6.5.0-alpha.56", + "@storybook/core-events": "6.5.0-alpha.56", "@storybook/csf": "0.0.2--canary.507502b.0", "core-js": "^3.8.2", "global": "^4.4.0" From d122796ffa323e060f905b0d48dbc51568daad4e Mon Sep 17 00:00:00 2001 From: Michael Shilman Date: Wed, 6 Apr 2022 08:03:51 +0800 Subject: [PATCH 18/44] Fix csf versions --- addons/actions/package.json | 2 +- addons/highlight/package.json | 2 +- addons/interactions/package.json | 2 +- .../web-components-kitchen-sink/package.json | 2 +- yarn.lock | 140 +----------------- 5 files changed, 12 insertions(+), 136 deletions(-) diff --git a/addons/actions/package.json b/addons/actions/package.json index 1d649805310..432114a7712 100644 --- a/addons/actions/package.json +++ b/addons/actions/package.json @@ -46,7 +46,7 @@ "@storybook/client-logger": "6.5.0-alpha.56", "@storybook/components": "6.5.0-alpha.56", "@storybook/core-events": "6.5.0-alpha.56", - "@storybook/csf": "0.0.2--canary.87bc651.0", + "@storybook/csf": "0.0.2--canary.7c6c115.0", "@storybook/theming": "6.5.0-alpha.56", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", diff --git a/addons/highlight/package.json b/addons/highlight/package.json index ff7c126d91c..2009190d6ad 100644 --- a/addons/highlight/package.json +++ b/addons/highlight/package.json @@ -48,7 +48,7 @@ "@storybook/client-logger": "6.5.0-alpha.56", "@storybook/components": "6.5.0-alpha.56", "@storybook/core-events": "6.5.0-alpha.56", - "@storybook/csf": "0.0.2--canary.507502b.0", + "@storybook/csf": "0.0.2--canary.7c6c115.0", "core-js": "^3.8.2", "global": "^4.4.0" }, diff --git a/addons/interactions/package.json b/addons/interactions/package.json index 96653274207..e887be68c1a 100644 --- a/addons/interactions/package.json +++ b/addons/interactions/package.json @@ -47,7 +47,7 @@ "@storybook/components": "6.5.0-alpha.56", "@storybook/core-common": "6.5.0-alpha.56", "@storybook/core-events": "6.5.0-alpha.56", - "@storybook/csf": "0.0.2--canary.87bc651.0", + "@storybook/csf": "0.0.2--canary.7c6c115.0", "@storybook/instrumenter": "6.5.0-alpha.56", "@storybook/theming": "6.5.0-alpha.56", "core-js": "^3.8.2", diff --git a/examples/web-components-kitchen-sink/package.json b/examples/web-components-kitchen-sink/package.json index 7c17396a04d..26deaed0b25 100644 --- a/examples/web-components-kitchen-sink/package.json +++ b/examples/web-components-kitchen-sink/package.json @@ -39,7 +39,7 @@ "@storybook/core-common": "portal:../../lib/core-common", "@storybook/core-events": "portal:../../lib/core-events", "@storybook/core-server": "portal:../../lib/core-server", - "@storybook/csf": "0.0.2--canary.87bc651.0", + "@storybook/csf": "0.0.2--canary.7c6c115.0", "@storybook/csf-tools": "portal:../../lib/csf-tools", "@storybook/docs-tools": "portal:../../lib/docs-tools", "@storybook/jest": "^0.0.5", diff --git a/yarn.lock b/yarn.lock index aca09011391..53b4dbd061d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6218,7 +6218,7 @@ __metadata: "@storybook/client-logger": 6.5.0-alpha.56 "@storybook/components": 6.5.0-alpha.56 "@storybook/core-events": 6.5.0-alpha.56 - "@storybook/csf": 0.0.2--canary.87bc651.0 + "@storybook/csf": 0.0.2--canary.7c6c115.0 "@storybook/theming": 6.5.0-alpha.56 "@types/lodash": ^4.14.167 "@types/webpack-env": ^1.16.0 @@ -6417,12 +6417,12 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-highlight@workspace:addons/highlight" dependencies: - "@storybook/addons": 6.5.0-alpha.50 - "@storybook/api": 6.5.0-alpha.50 - "@storybook/client-logger": 6.5.0-alpha.50 - "@storybook/components": 6.5.0-alpha.50 - "@storybook/core-events": 6.5.0-alpha.50 - "@storybook/csf": 0.0.2--canary.507502b.0 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/api": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/components": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 "@types/webpack-env": ^1.16.0 core-js: ^3.8.2 global: ^4.4.0 @@ -6464,7 +6464,7 @@ __metadata: "@storybook/components": 6.5.0-alpha.56 "@storybook/core-common": 6.5.0-alpha.56 "@storybook/core-events": 6.5.0-alpha.56 - "@storybook/csf": 0.0.2--canary.87bc651.0 + "@storybook/csf": 0.0.2--canary.7c6c115.0 "@storybook/instrumenter": 6.5.0-alpha.56 "@storybook/jest": ^0.0.5 "@storybook/testing-library": ^0.0.7 @@ -6837,28 +6837,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addons@npm:6.5.0-alpha.50": - version: 6.5.0-alpha.50 - resolution: "@storybook/addons@npm:6.5.0-alpha.50" - dependencies: - "@storybook/api": 6.5.0-alpha.50 - "@storybook/channels": 6.5.0-alpha.50 - "@storybook/client-logger": 6.5.0-alpha.50 - "@storybook/core-events": 6.5.0-alpha.50 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/router": 6.5.0-alpha.50 - "@storybook/theming": 6.5.0-alpha.50 - "@types/webpack-env": ^1.16.0 - core-js: ^3.8.2 - global: ^4.4.0 - regenerator-runtime: ^0.13.7 - peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 - checksum: 0669a30a5a52191af587668994f67ffc42dbca45c11e7a5bd1fd7d5be975cdf03dbfe8a343447d98f810701e33929d5eb6441e464235db891a0231303e0200c7 - languageName: node - linkType: hard - "@storybook/angular@6.5.0-alpha.56, @storybook/angular@workspace:*, @storybook/angular@workspace:app/angular": version: 0.0.0-use.local resolution: "@storybook/angular@workspace:app/angular" @@ -7008,34 +6986,6 @@ __metadata: languageName: node linkType: hard -"@storybook/api@npm:6.5.0-alpha.50": - version: 6.5.0-alpha.50 - resolution: "@storybook/api@npm:6.5.0-alpha.50" - dependencies: - "@storybook/channels": 6.5.0-alpha.50 - "@storybook/client-logger": 6.5.0-alpha.50 - "@storybook/core-events": 6.5.0-alpha.50 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/router": 6.5.0-alpha.50 - "@storybook/semver": ^7.3.2 - "@storybook/theming": 6.5.0-alpha.50 - core-js: ^3.8.2 - fast-deep-equal: ^3.1.3 - global: ^4.4.0 - lodash: ^4.17.21 - memoizerific: ^1.11.3 - regenerator-runtime: ^0.13.7 - store2: ^2.12.0 - telejson: ^5.3.3 - ts-dedent: ^2.0.0 - util-deprecate: ^1.0.2 - peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 - checksum: 57af23fc04e96036e01b13960a1b06a5be5c8592455451ead67c1499d2e76e9ca5474edac6f2342ffb91a6f055570013d89502e3657b54a7516addf269342d1d - languageName: node - linkType: hard - "@storybook/babel-plugin-require-context-hook@npm:1.0.1": version: 1.0.1 resolution: "@storybook/babel-plugin-require-context-hook@npm:1.0.1" @@ -7211,17 +7161,6 @@ __metadata: languageName: node linkType: hard -"@storybook/channels@npm:6.5.0-alpha.50": - version: 6.5.0-alpha.50 - resolution: "@storybook/channels@npm:6.5.0-alpha.50" - dependencies: - core-js: ^3.8.2 - ts-dedent: ^2.0.0 - util-deprecate: ^1.0.2 - checksum: e2dfb64aab56b1e2dc73e87d9b1685a5f4fed298697349fdba125bf0f419bd041826ac41c37ec735ed7f7a8145c335cf28dba4e0cc83193dfa65eea860ce0abd - languageName: node - linkType: hard - "@storybook/cli@6.5.0-alpha.56, @storybook/cli@workspace:*, @storybook/cli@workspace:lib/cli": version: 0.0.0-use.local resolution: "@storybook/cli@workspace:lib/cli" @@ -7318,16 +7257,6 @@ __metadata: languageName: node linkType: hard -"@storybook/client-logger@npm:6.5.0-alpha.50": - version: 6.5.0-alpha.50 - resolution: "@storybook/client-logger@npm:6.5.0-alpha.50" - dependencies: - core-js: ^3.8.2 - global: ^4.4.0 - checksum: 555f078f8c46c9e7059a83b3b9d2e6e16f76267625a84f62084ee542ee90d9dd373361262c205bb261890f497145f72b95e11c31ba755384b07d9538923a42ca - languageName: node - linkType: hard - "@storybook/client-logger@npm:6.5.0-alpha.51": version: 6.5.0-alpha.51 resolution: "@storybook/client-logger@npm:6.5.0-alpha.51" @@ -7399,22 +7328,6 @@ __metadata: languageName: unknown linkType: soft -"@storybook/components@npm:6.5.0-alpha.50": - version: 6.5.0-alpha.50 - resolution: "@storybook/components@npm:6.5.0-alpha.50" - dependencies: - "@storybook/client-logger": 6.5.0-alpha.50 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/theming": 6.5.0-alpha.50 - core-js: ^3.8.2 - regenerator-runtime: ^0.13.7 - peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 - checksum: da1bbf9870986a791d8e3c181562ea7318916e9a22e82944d70eb0f7250e61cf048e78072d88ce12d5a266ba2103fd53cae14fc24dccb05436e73a00a5de7563 - languageName: node - linkType: hard - "@storybook/components@npm:6.5.0-alpha.51": version: 6.5.0-alpha.51 resolution: "@storybook/components@npm:6.5.0-alpha.51" @@ -7551,15 +7464,6 @@ __metadata: languageName: node linkType: hard -"@storybook/core-events@npm:6.5.0-alpha.50": - version: 6.5.0-alpha.50 - resolution: "@storybook/core-events@npm:6.5.0-alpha.50" - dependencies: - core-js: ^3.8.2 - checksum: d5c80d1914f875b4b1d3e4afdb179a38a78c4f1bf58f08276a370def457ad1852fe0a5a1fce681574c1b2c8c1a906fc2793c9a3ca8d9ed14e8f68233d7de8dc2 - languageName: node - linkType: hard - "@storybook/core-server@6.5.0-alpha.56, @storybook/core-server@workspace:lib/core-server": version: 0.0.0-use.local resolution: "@storybook/core-server@workspace:lib/core-server" @@ -8589,20 +8493,6 @@ __metadata: languageName: node linkType: hard -"@storybook/router@npm:6.5.0-alpha.50": - version: 6.5.0-alpha.50 - resolution: "@storybook/router@npm:6.5.0-alpha.50" - dependencies: - "@storybook/client-logger": 6.5.0-alpha.50 - core-js: ^3.8.2 - regenerator-runtime: ^0.13.7 - peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 - checksum: d85c116553fd71eb5043ff8ece421b4e04dab8da174b0c875374fd037e6775374b9ca3fdd9dfe29398c13f8ff2fc53284c16dfacfd099f59ad9d33db1c763fa0 - languageName: node - linkType: hard - "@storybook/semver@npm:^7.3.2": version: 7.3.2 resolution: "@storybook/semver@npm:7.3.2" @@ -8803,20 +8693,6 @@ __metadata: languageName: node linkType: hard -"@storybook/theming@npm:6.5.0-alpha.50": - version: 6.5.0-alpha.50 - resolution: "@storybook/theming@npm:6.5.0-alpha.50" - dependencies: - "@storybook/client-logger": 6.5.0-alpha.50 - core-js: ^3.8.2 - regenerator-runtime: ^0.13.7 - peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 - checksum: 52c23c7a33d4e0191c2e38e604f8eea13b88e5b79e2c0da879f5781b7279c7cc6bf6aa85ec1c15518c36260f0f81fbf82f5b5b5428fddb4f4a16dd668e45033d - languageName: node - linkType: hard - "@storybook/theming@npm:6.5.0-alpha.51": version: 6.5.0-alpha.51 resolution: "@storybook/theming@npm:6.5.0-alpha.51" From 9f388e68f0ddd653065350d261fe1a9f0f2e70fb Mon Sep 17 00:00:00 2001 From: Michael Shilman Date: Wed, 6 Apr 2022 09:33:49 +0800 Subject: [PATCH 19/44] Add highlight portal version --- .../web-components-kitchen-sink/package.json | 1 + .../web-components-kitchen-sink/yarn.lock | 487 +++++++++--------- 2 files changed, 254 insertions(+), 234 deletions(-) diff --git a/examples/web-components-kitchen-sink/package.json b/examples/web-components-kitchen-sink/package.json index 26deaed0b25..fb6fa82119a 100644 --- a/examples/web-components-kitchen-sink/package.json +++ b/examples/web-components-kitchen-sink/package.json @@ -18,6 +18,7 @@ "@storybook/addon-backgrounds": "portal:../../addons/backgrounds", "@storybook/addon-controls": "portal:../../addons/controls", "@storybook/addon-docs": "portal:../../addons/docs", + "@storybook/addon-highlight": "portal:../../addons/highlight", "@storybook/addon-interactions": "portal:../../addons/interactions", "@storybook/addon-links": "portal:../../addons/links", "@storybook/addon-storyshots": "portal:../../addons/storyshots/storyshots-core", diff --git a/examples/web-components-kitchen-sink/yarn.lock b/examples/web-components-kitchen-sink/yarn.lock index b3a020637d0..ea755e36c26 100644 --- a/examples/web-components-kitchen-sink/yarn.lock +++ b/examples/web-components-kitchen-sink/yarn.lock @@ -2114,14 +2114,15 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-a11y@portal:../../addons/a11y::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/api": 6.5.0-alpha.48 - "@storybook/channels": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/components": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/theming": 6.5.0-alpha.48 + "@storybook/addon-highlight": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/api": 6.5.0-alpha.56 + "@storybook/channels": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/components": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/theming": 6.5.0-alpha.56 axe-core: ^4.2.0 core-js: ^3.8.2 global: ^4.4.0 @@ -2131,8 +2132,8 @@ __metadata: ts-dedent: ^2.0.0 util-deprecate: ^1.0.2 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: react: optional: true @@ -2145,12 +2146,13 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-actions@portal:../../addons/actions::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/api": 6.5.0-alpha.48 - "@storybook/components": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/theming": 6.5.0-alpha.48 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/api": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/components": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/theming": 6.5.0-alpha.56 core-js: ^3.8.2 fast-deep-equal: ^3.1.3 global: ^4.4.0 @@ -2164,8 +2166,8 @@ __metadata: util-deprecate: ^1.0.2 uuid-browser: ^3.1.0 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: react: optional: true @@ -2178,13 +2180,13 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-backgrounds@portal:../../addons/backgrounds::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/api": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/components": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/theming": 6.5.0-alpha.48 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/api": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/components": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/theming": 6.5.0-alpha.56 core-js: ^3.8.2 global: ^4.4.0 memoizerific: ^1.11.3 @@ -2192,8 +2194,8 @@ __metadata: ts-dedent: ^2.0.0 util-deprecate: ^1.0.2 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: react: optional: true @@ -2206,21 +2208,21 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-controls@portal:../../addons/controls::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/api": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/components": 6.5.0-alpha.48 - "@storybook/core-common": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/node-logger": 6.5.0-alpha.48 - "@storybook/store": 6.5.0-alpha.48 - "@storybook/theming": 6.5.0-alpha.48 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/api": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/components": 6.5.0-alpha.56 + "@storybook/core-common": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/node-logger": 6.5.0-alpha.56 + "@storybook/store": 6.5.0-alpha.56 + "@storybook/theming": 6.5.0-alpha.56 core-js: ^3.8.2 lodash: ^4.17.21 ts-dedent: ^2.0.0 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: react: optional: true @@ -2237,45 +2239,63 @@ __metadata: "@babel/preset-env": ^7.12.11 "@jest/transform": ^26.6.2 "@mdx-js/react": ^1.6.22 - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/api": 6.5.0-alpha.48 - "@storybook/components": 6.5.0-alpha.48 - "@storybook/core-common": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/docs-tools": 6.5.0-alpha.48 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/api": 6.5.0-alpha.56 + "@storybook/components": 6.5.0-alpha.56 + "@storybook/core-common": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/docs-tools": 6.5.0-alpha.56 "@storybook/mdx1-csf": canary - "@storybook/node-logger": 6.5.0-alpha.48 - "@storybook/postinstall": 6.5.0-alpha.48 - "@storybook/preview-web": 6.5.0-alpha.48 - "@storybook/source-loader": 6.5.0-alpha.48 - "@storybook/store": 6.5.0-alpha.48 - "@storybook/theming": 6.5.0-alpha.48 + "@storybook/node-logger": 6.5.0-alpha.56 + "@storybook/postinstall": 6.5.0-alpha.56 + "@storybook/preview-web": 6.5.0-alpha.56 + "@storybook/source-loader": 6.5.0-alpha.56 + "@storybook/store": 6.5.0-alpha.56 + "@storybook/theming": 6.5.0-alpha.56 + babel-loader: ^8.0.0 core-js: ^3.8.2 fast-deep-equal: ^3.1.3 global: ^4.4.0 lodash: ^4.17.21 + regenerator-runtime: ^0.13.7 remark-external-links: ^8.0.0 remark-slug: ^6.0.0 ts-dedent: ^2.0.0 util-deprecate: ^1.0.2 peerDependencies: "@storybook/mdx2-csf": "*" - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 - webpack: "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: - "@storybook/builder-webpack4": - optional: true - "@storybook/builder-webpack5": - optional: true "@storybook/mdx2-csf": optional: true react: optional: true react-dom: optional: true - webpack: + languageName: node + linkType: soft + +"@storybook/addon-highlight@portal:../../addons/highlight::locator=web-components-kitchen-sink%40workspace%3A.": + version: 0.0.0-use.local + resolution: "@storybook/addon-highlight@portal:../../addons/highlight::locator=web-components-kitchen-sink%40workspace%3A." + dependencies: + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/api": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/components": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + core-js: ^3.8.2 + global: ^4.4.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: optional: true languageName: node linkType: soft @@ -2310,11 +2330,11 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-links@portal:../../addons/links::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/router": 6.5.0-alpha.48 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/router": 6.5.0-alpha.56 "@types/qs": ^6.9.5 core-js: ^3.8.2 global: ^4.4.0 @@ -2323,8 +2343,8 @@ __metadata: regenerator-runtime: ^0.13.7 ts-dedent: ^2.0.0 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: react: optional: true @@ -2338,13 +2358,13 @@ __metadata: resolution: "@storybook/addon-storyshots@portal:../../addons/storyshots/storyshots-core::locator=web-components-kitchen-sink%40workspace%3A." dependencies: "@jest/transform": ^26.6.2 - "@storybook/addons": 6.5.0-alpha.48 + "@storybook/addons": 6.5.0-alpha.56 "@storybook/babel-plugin-require-context-hook": 1.0.1 - "@storybook/client-api": 6.5.0-alpha.48 - "@storybook/core": 6.5.0-alpha.48 - "@storybook/core-client": 6.5.0-alpha.48 - "@storybook/core-common": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 + "@storybook/client-api": 6.5.0-alpha.56 + "@storybook/core": 6.5.0-alpha.56 + "@storybook/core-client": 6.5.0-alpha.56 + "@storybook/core-common": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 "@types/glob": ^7.1.3 "@types/jest": ^26.0.16 "@types/jest-specific-snapshot": ^0.5.3 @@ -2369,8 +2389,8 @@ __metadata: jest-preset-angular: "*" jest-vue-preprocessor: "*" preact: ^10.5.13 - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 rxjs: "*" svelte: "*" vue: "*" @@ -2413,23 +2433,22 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-storysource@portal:../../addons/storysource::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/api": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/components": 6.5.0-alpha.48 - "@storybook/router": 6.5.0-alpha.48 - "@storybook/source-loader": 6.5.0-alpha.48 - "@storybook/theming": 6.5.0-alpha.48 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/api": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/components": 6.5.0-alpha.56 + "@storybook/router": 6.5.0-alpha.56 + "@storybook/source-loader": 6.5.0-alpha.56 + "@storybook/theming": 6.5.0-alpha.56 core-js: ^3.8.2 estraverse: ^5.2.0 loader-utils: ^2.0.0 - prettier: ">=2.2.1 <=2.3.0" prop-types: ^15.7.2 react-syntax-highlighter: ^15.4.5 regenerator-runtime: ^0.13.7 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: react: optional: true @@ -2442,20 +2461,20 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-viewport@portal:../../addons/viewport::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/api": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/components": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 - "@storybook/theming": 6.5.0-alpha.48 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/api": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/components": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/theming": 6.5.0-alpha.56 core-js: ^3.8.2 global: ^4.4.0 memoizerific: ^1.11.3 prop-types: ^15.7.2 regenerator-runtime: ^0.13.7 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: react: optional: true @@ -2468,20 +2487,20 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addons@portal:../../lib/addons::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/api": 6.5.0-alpha.48 - "@storybook/channels": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/router": 6.5.0-alpha.48 - "@storybook/theming": 6.5.0-alpha.48 + "@storybook/api": 6.5.0-alpha.56 + "@storybook/channels": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/router": 6.5.0-alpha.56 + "@storybook/theming": 6.5.0-alpha.56 "@types/webpack-env": ^1.16.0 core-js: ^3.8.2 global: ^4.4.0 regenerator-runtime: ^0.13.7 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 languageName: node linkType: soft @@ -2489,13 +2508,13 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/api@portal:../../lib/api::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/channels": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/router": 6.5.0-alpha.48 + "@storybook/channels": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/router": 6.5.0-alpha.56 "@storybook/semver": ^7.3.2 - "@storybook/theming": 6.5.0-alpha.48 + "@storybook/theming": 6.5.0-alpha.56 core-js: ^3.8.2 fast-deep-equal: ^3.1.3 global: ^4.4.0 @@ -2507,8 +2526,8 @@ __metadata: ts-dedent: ^2.0.0 util-deprecate: ^1.0.2 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 languageName: node linkType: soft @@ -2524,22 +2543,22 @@ __metadata: resolution: "@storybook/builder-webpack4@portal:../../lib/builder-webpack4::locator=web-components-kitchen-sink%40workspace%3A." dependencies: "@babel/core": ^7.12.10 - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/api": 6.5.0-alpha.48 - "@storybook/channel-postmessage": 6.5.0-alpha.48 - "@storybook/channels": 6.5.0-alpha.48 - "@storybook/client-api": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/components": 6.5.0-alpha.48 - "@storybook/core-common": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 - "@storybook/node-logger": 6.5.0-alpha.48 - "@storybook/preview-web": 6.5.0-alpha.48 - "@storybook/router": 6.5.0-alpha.48 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/api": 6.5.0-alpha.56 + "@storybook/channel-postmessage": 6.5.0-alpha.56 + "@storybook/channels": 6.5.0-alpha.56 + "@storybook/client-api": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/components": 6.5.0-alpha.56 + "@storybook/core-common": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/node-logger": 6.5.0-alpha.56 + "@storybook/preview-web": 6.5.0-alpha.56 + "@storybook/router": 6.5.0-alpha.56 "@storybook/semver": ^7.3.2 - "@storybook/store": 6.5.0-alpha.48 - "@storybook/theming": 6.5.0-alpha.48 - "@storybook/ui": 6.5.0-alpha.48 + "@storybook/store": 6.5.0-alpha.56 + "@storybook/theming": 6.5.0-alpha.56 + "@storybook/ui": 6.5.0-alpha.56 "@types/node": ^14.0.10 || ^16.0.0 "@types/webpack": ^4.41.26 autoprefixer: ^9.8.6 @@ -2571,8 +2590,8 @@ __metadata: webpack-hot-middleware: ^2.25.1 webpack-virtual-modules: ^0.2.2 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: typescript: optional: true @@ -2583,9 +2602,9 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/channel-postmessage@portal:../../lib/channel-postmessage::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/channels": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 + "@storybook/channels": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 core-js: ^3.8.2 global: ^4.4.0 qs: ^6.10.0 @@ -2597,8 +2616,8 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/channel-websocket@portal:../../lib/channel-websocket::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/channels": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 + "@storybook/channels": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 core-js: ^3.8.2 global: ^4.4.0 telejson: ^5.3.3 @@ -2619,13 +2638,13 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/client-api@portal:../../lib/client-api::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/channel-postmessage": 6.5.0-alpha.48 - "@storybook/channels": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/store": 6.5.0-alpha.48 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/channel-postmessage": 6.5.0-alpha.56 + "@storybook/channels": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/store": 6.5.0-alpha.56 "@types/qs": ^6.9.5 "@types/webpack-env": ^1.16.0 core-js: ^3.8.2 @@ -2640,8 +2659,8 @@ __metadata: ts-dedent: ^2.0.0 util-deprecate: ^1.0.2 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 languageName: node linkType: soft @@ -2658,14 +2677,14 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/components@portal:../../lib/components::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/theming": 6.5.0-alpha.48 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/theming": 6.5.0-alpha.56 core-js: ^3.8.2 regenerator-runtime: ^0.13.7 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 languageName: node linkType: soft @@ -2673,16 +2692,16 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/core-client@portal:../../lib/core-client::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/channel-postmessage": 6.5.0-alpha.48 - "@storybook/channel-websocket": 6.5.0-alpha.48 - "@storybook/client-api": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/preview-web": 6.5.0-alpha.48 - "@storybook/store": 6.5.0-alpha.48 - "@storybook/ui": 6.5.0-alpha.48 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/channel-postmessage": 6.5.0-alpha.56 + "@storybook/channel-websocket": 6.5.0-alpha.56 + "@storybook/client-api": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/preview-web": 6.5.0-alpha.56 + "@storybook/store": 6.5.0-alpha.56 + "@storybook/ui": 6.5.0-alpha.56 airbnb-js-shims: ^2.2.1 ansi-to-html: ^0.6.11 core-js: ^3.8.2 @@ -2694,8 +2713,8 @@ __metadata: unfetch: ^4.2.0 util-deprecate: ^1.0.2 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 webpack: "*" peerDependenciesMeta: typescript: @@ -2729,7 +2748,7 @@ __metadata: "@babel/preset-react": ^7.12.10 "@babel/preset-typescript": ^7.12.7 "@babel/register": ^7.12.1 - "@storybook/node-logger": 6.5.0-alpha.48 + "@storybook/node-logger": 6.5.0-alpha.56 "@storybook/semver": ^7.3.2 "@types/node": ^14.0.10 || ^16.0.0 "@types/pretty-hrtime": ^1.0.0 @@ -2758,8 +2777,8 @@ __metadata: util-deprecate: ^1.0.2 webpack: 4 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: typescript: optional: true @@ -2779,16 +2798,16 @@ __metadata: resolution: "@storybook/core-server@portal:../../lib/core-server::locator=web-components-kitchen-sink%40workspace%3A." dependencies: "@discoveryjs/json-ext": ^0.5.3 - "@storybook/builder-webpack4": 6.5.0-alpha.48 - "@storybook/core-client": 6.5.0-alpha.48 - "@storybook/core-common": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/csf-tools": 6.5.0-alpha.48 - "@storybook/manager-webpack4": 6.5.0-alpha.48 - "@storybook/node-logger": 6.5.0-alpha.48 + "@storybook/builder-webpack4": 6.5.0-alpha.56 + "@storybook/core-client": 6.5.0-alpha.56 + "@storybook/core-common": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/csf-tools": 6.5.0-alpha.56 + "@storybook/manager-webpack4": 6.5.0-alpha.56 + "@storybook/node-logger": 6.5.0-alpha.56 "@storybook/semver": ^7.3.2 - "@storybook/store": 6.5.0-alpha.48 + "@storybook/store": 6.5.0-alpha.56 "@types/node": ^14.0.10 || ^16.0.0 "@types/node-fetch": ^2.5.7 "@types/pretty-hrtime": ^1.0.0 @@ -2823,8 +2842,8 @@ __metadata: ws: ^8.2.3 x-default-browser: ^0.4.0 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: "@storybook/builder-webpack5": optional: true @@ -2839,11 +2858,11 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/core@portal:../../lib/core::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/core-client": 6.5.0-alpha.48 - "@storybook/core-server": 6.5.0-alpha.48 + "@storybook/core-client": 6.5.0-alpha.56 + "@storybook/core-server": 6.5.0-alpha.56 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 webpack: "*" peerDependenciesMeta: "@storybook/builder-webpack5": @@ -2866,7 +2885,7 @@ __metadata: "@babel/preset-env": ^7.12.11 "@babel/traverse": ^7.12.11 "@babel/types": ^7.12.11 - "@storybook/csf": 0.0.2--canary.507502b.0 + "@storybook/csf": 0.0.2--canary.7c6c115.0 "@storybook/mdx1-csf": canary core-js: ^3.8.2 fs-extra: ^9.0.1 @@ -2881,12 +2900,12 @@ __metadata: languageName: node linkType: soft -"@storybook/csf@npm:0.0.2--canary.507502b.0": - version: 0.0.2--canary.507502b.0 - resolution: "@storybook/csf@npm:0.0.2--canary.507502b.0" +"@storybook/csf@npm:0.0.2--canary.7c6c115.0": + version: 0.0.2--canary.7c6c115.0 + resolution: "@storybook/csf@npm:0.0.2--canary.7c6c115.0" dependencies: lodash: ^4.17.15 - checksum: 1d48f1d320a6dbbdc7932943ffdba51783a16d86ea870a7c1b4438978fc8a6bd0600399cf748bcdf295f7fcd8ac80b62c6aebc1c68aac9ffe30ba8f3fbbf8f13 + checksum: 85a179664d18eeca8462c1b6ff36f9b68b856c9f9c5143aa6f19b17e4cc97bc08ed69921a5287a61d8c90f61366ff6a5ab89930d158402e7c04d07a3ffaad8bb languageName: node linkType: hard @@ -2895,8 +2914,8 @@ __metadata: resolution: "@storybook/docs-tools@portal:../../lib/docs-tools::locator=web-components-kitchen-sink%40workspace%3A." dependencies: "@babel/core": ^7.12.10 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/store": 6.5.0-alpha.48 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/store": 6.5.0-alpha.56 core-js: ^3.8.2 doctrine: ^3.0.0 lodash: ^4.17.21 @@ -2911,12 +2930,12 @@ __metadata: "@babel/core": ^7.12.10 "@babel/plugin-transform-template-literals": ^7.12.1 "@babel/preset-react": ^7.12.10 - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/core-client": 6.5.0-alpha.48 - "@storybook/core-common": 6.5.0-alpha.48 - "@storybook/node-logger": 6.5.0-alpha.48 - "@storybook/theming": 6.5.0-alpha.48 - "@storybook/ui": 6.5.0-alpha.48 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/core-client": 6.5.0-alpha.56 + "@storybook/core-common": 6.5.0-alpha.56 + "@storybook/node-logger": 6.5.0-alpha.56 + "@storybook/theming": 6.5.0-alpha.56 + "@storybook/ui": 6.5.0-alpha.56 "@types/node": ^14.0.10 || ^16.0.0 "@types/webpack": ^4.41.26 babel-loader: ^8.0.0 @@ -2944,8 +2963,8 @@ __metadata: webpack-dev-middleware: ^3.7.3 webpack-virtual-modules: ^0.2.2 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: typescript: optional: true @@ -2995,12 +3014,12 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/preview-web@portal:../../lib/preview-web::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/channel-postmessage": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/store": 6.5.0-alpha.48 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/channel-postmessage": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/store": 6.5.0-alpha.56 ansi-to-html: ^0.6.11 core-js: ^3.8.2 global: ^4.4.0 @@ -3012,8 +3031,8 @@ __metadata: unfetch: ^4.2.0 util-deprecate: ^1.0.2 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 languageName: node linkType: soft @@ -3021,12 +3040,12 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/router@portal:../../lib/router::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/client-logger": 6.5.0-alpha.48 + "@storybook/client-logger": 6.5.0-alpha.56 core-js: ^3.8.2 regenerator-runtime: ^0.13.7 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 languageName: node linkType: soft @@ -3046,9 +3065,9 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/source-loader@portal:../../lib/source-loader::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 core-js: ^3.8.2 estraverse: ^5.2.0 global: ^4.4.0 @@ -3057,8 +3076,8 @@ __metadata: prettier: ">=2.2.1 <=2.3.0" regenerator-runtime: ^0.13.7 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 languageName: node linkType: soft @@ -3066,10 +3085,10 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/store@portal:../../lib/store::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 core-js: ^3.8.2 fast-deep-equal: ^3.1.3 global: ^4.4.0 @@ -3082,8 +3101,8 @@ __metadata: ts-dedent: ^2.0.0 util-deprecate: ^1.0.2 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 languageName: node linkType: soft @@ -3091,12 +3110,12 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/theming@portal:../../lib/theming::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/client-logger": 6.5.0-alpha.48 + "@storybook/client-logger": 6.5.0-alpha.56 core-js: ^3.8.2 regenerator-runtime: ^0.13.7 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 languageName: node linkType: soft @@ -3104,21 +3123,21 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/ui@portal:../../lib/ui::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/api": 6.5.0-alpha.48 - "@storybook/channels": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/components": 6.5.0-alpha.48 - "@storybook/core-events": 6.5.0-alpha.48 - "@storybook/router": 6.5.0-alpha.48 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/api": 6.5.0-alpha.56 + "@storybook/channels": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/components": 6.5.0-alpha.56 + "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/router": 6.5.0-alpha.56 "@storybook/semver": ^7.3.2 - "@storybook/theming": 6.5.0-alpha.48 + "@storybook/theming": 6.5.0-alpha.56 core-js: ^3.8.2 regenerator-runtime: ^0.13.7 resolve-from: ^5.0.0 peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 languageName: node linkType: soft @@ -3129,15 +3148,15 @@ __metadata: "@babel/plugin-syntax-dynamic-import": ^7.8.3 "@babel/plugin-syntax-import-meta": ^7.10.4 "@babel/preset-env": ^7.12.11 - "@storybook/addons": 6.5.0-alpha.48 - "@storybook/client-api": 6.5.0-alpha.48 - "@storybook/client-logger": 6.5.0-alpha.48 - "@storybook/core": 6.5.0-alpha.48 - "@storybook/core-common": 6.5.0-alpha.48 - "@storybook/csf": 0.0.2--canary.507502b.0 - "@storybook/docs-tools": 6.5.0-alpha.48 - "@storybook/preview-web": 6.5.0-alpha.48 - "@storybook/store": 6.5.0-alpha.48 + "@storybook/addons": 6.5.0-alpha.56 + "@storybook/client-api": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/core": 6.5.0-alpha.56 + "@storybook/core-common": 6.5.0-alpha.56 + "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/docs-tools": 6.5.0-alpha.56 + "@storybook/preview-web": 6.5.0-alpha.56 + "@storybook/store": 6.5.0-alpha.56 "@types/node": ^14.14.20 || ^16.0.0 "@types/webpack-env": ^1.16.0 babel-plugin-bundled-import-meta: ^0.3.1 From 01ea51b4a1640f078c7fa0cf7d491771d24de941 Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Wed, 6 Apr 2022 14:43:11 -0400 Subject: [PATCH 20/44] update addon-highlight icon --- addons/highlight/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/highlight/package.json b/addons/highlight/package.json index 2009190d6ad..837c1cf4cb7 100644 --- a/addons/highlight/package.json +++ b/addons/highlight/package.json @@ -77,6 +77,6 @@ "unsupportedFrameworks": [ "react-native" ], - "icon": "https://user-images.githubusercontent.com/42671/119589951-dbcd9600-bda1-11eb-9227-078f3cfc1e74.png" + "icon": "https://user-images.githubusercontent.com/42671/162045505-9d06fe2e-8fcb-4c41-9486-e0553bce10cc.png" } } From 53c95a77d4402c2630385e55d91e603ee63c442f Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Thu, 7 Apr 2022 11:42:03 -0400 Subject: [PATCH 21/44] undo changes to lib/cli/src/versions.ts --- lib/cli/src/versions.ts | 115 ++++++++++++++++++++-------------------- 1 file changed, 57 insertions(+), 58 deletions(-) diff --git a/lib/cli/src/versions.ts b/lib/cli/src/versions.ts index da5e4f18174..573875513f2 100644 --- a/lib/cli/src/versions.ts +++ b/lib/cli/src/versions.ts @@ -1,60 +1,59 @@ // auto generated file, do not edit export default { - '@storybook/addon-a11y': '6.5.0-alpha.59', - '@storybook/addon-actions': '6.5.0-alpha.59', - '@storybook/addon-backgrounds': '6.5.0-alpha.59', - '@storybook/addon-controls': '6.5.0-alpha.59', - '@storybook/addon-docs': '6.5.0-alpha.59', - '@storybook/addon-essentials': '6.5.0-alpha.59', - '@storybook/addon-highlight': '6.5.0-alpha.59', - '@storybook/addon-interactions': '6.5.0-alpha.59', - '@storybook/addon-jest': '6.5.0-alpha.59', - '@storybook/addon-links': '6.5.0-alpha.59', - '@storybook/addon-measure': '6.5.0-alpha.59', - '@storybook/addon-outline': '6.5.0-alpha.59', - '@storybook/addon-storyshots': '6.5.0-alpha.59', - '@storybook/addon-storyshots-puppeteer': '6.5.0-alpha.59', - '@storybook/addon-storysource': '6.5.0-alpha.59', - '@storybook/addon-toolbars': '6.5.0-alpha.59', - '@storybook/addon-viewport': '6.5.0-alpha.59', - '@storybook/addons': '6.5.0-alpha.59', - '@storybook/angular': '6.5.0-alpha.59', - '@storybook/api': '6.5.0-alpha.59', - '@storybook/builder-webpack4': '6.5.0-alpha.59', - '@storybook/builder-webpack5': '6.5.0-alpha.59', - '@storybook/channel-postmessage': '6.5.0-alpha.59', - '@storybook/channel-websocket': '6.5.0-alpha.59', - '@storybook/channels': '6.5.0-alpha.59', - '@storybook/cli': '6.5.0-alpha.59', - '@storybook/client-api': '6.5.0-alpha.59', - '@storybook/client-logger': '6.5.0-alpha.59', - '@storybook/codemod': '6.5.0-alpha.59', - '@storybook/components': '6.5.0-alpha.59', - '@storybook/core': '6.5.0-alpha.59', - '@storybook/core-client': '6.5.0-alpha.59', - '@storybook/core-common': '6.5.0-alpha.59', - '@storybook/core-events': '6.5.0-alpha.59', - '@storybook/core-server': '6.5.0-alpha.59', - '@storybook/csf-tools': '6.5.0-alpha.59', - '@storybook/docs-tools': '6.5.0-alpha.59', - '@storybook/ember': '6.5.0-alpha.59', - '@storybook/html': '6.5.0-alpha.59', - '@storybook/instrumenter': '6.5.0-alpha.59', - '@storybook/manager-webpack4': '6.5.0-alpha.59', - '@storybook/manager-webpack5': '6.5.0-alpha.59', - '@storybook/node-logger': '6.5.0-alpha.59', - '@storybook/postinstall': '6.5.0-alpha.59', - '@storybook/preact': '6.5.0-alpha.59', - '@storybook/preview-web': '6.5.0-alpha.59', - '@storybook/react': '6.5.0-alpha.59', - '@storybook/router': '6.5.0-alpha.59', - '@storybook/server': '6.5.0-alpha.59', - '@storybook/source-loader': '6.5.0-alpha.59', - '@storybook/store': '6.5.0-alpha.59', - '@storybook/svelte': '6.5.0-alpha.59', - '@storybook/theming': '6.5.0-alpha.59', - '@storybook/ui': '6.5.0-alpha.59', - '@storybook/vue': '6.5.0-alpha.59', - '@storybook/vue3': '6.5.0-alpha.59', - '@storybook/web-components': '6.5.0-alpha.59', -}; + "@storybook/addon-a11y": "6.5.0-alpha.59", + "@storybook/addon-actions": "6.5.0-alpha.59", + "@storybook/addon-backgrounds": "6.5.0-alpha.59", + "@storybook/addon-controls": "6.5.0-alpha.59", + "@storybook/addon-docs": "6.5.0-alpha.59", + "@storybook/addon-essentials": "6.5.0-alpha.59", + "@storybook/addon-interactions": "6.5.0-alpha.59", + "@storybook/addon-jest": "6.5.0-alpha.59", + "@storybook/addon-links": "6.5.0-alpha.59", + "@storybook/addon-measure": "6.5.0-alpha.59", + "@storybook/addon-outline": "6.5.0-alpha.59", + "@storybook/addon-storyshots": "6.5.0-alpha.59", + "@storybook/addon-storyshots-puppeteer": "6.5.0-alpha.59", + "@storybook/addon-storysource": "6.5.0-alpha.59", + "@storybook/addon-toolbars": "6.5.0-alpha.59", + "@storybook/addon-viewport": "6.5.0-alpha.59", + "@storybook/addons": "6.5.0-alpha.59", + "@storybook/angular": "6.5.0-alpha.59", + "@storybook/api": "6.5.0-alpha.59", + "@storybook/builder-webpack4": "6.5.0-alpha.59", + "@storybook/builder-webpack5": "6.5.0-alpha.59", + "@storybook/channel-postmessage": "6.5.0-alpha.59", + "@storybook/channel-websocket": "6.5.0-alpha.59", + "@storybook/channels": "6.5.0-alpha.59", + "@storybook/cli": "6.5.0-alpha.59", + "@storybook/client-api": "6.5.0-alpha.59", + "@storybook/client-logger": "6.5.0-alpha.59", + "@storybook/codemod": "6.5.0-alpha.59", + "@storybook/components": "6.5.0-alpha.59", + "@storybook/core": "6.5.0-alpha.59", + "@storybook/core-client": "6.5.0-alpha.59", + "@storybook/core-common": "6.5.0-alpha.59", + "@storybook/core-events": "6.5.0-alpha.59", + "@storybook/core-server": "6.5.0-alpha.59", + "@storybook/csf-tools": "6.5.0-alpha.59", + "@storybook/docs-tools": "6.5.0-alpha.59", + "@storybook/ember": "6.5.0-alpha.59", + "@storybook/html": "6.5.0-alpha.59", + "@storybook/instrumenter": "6.5.0-alpha.59", + "@storybook/manager-webpack4": "6.5.0-alpha.59", + "@storybook/manager-webpack5": "6.5.0-alpha.59", + "@storybook/node-logger": "6.5.0-alpha.59", + "@storybook/postinstall": "6.5.0-alpha.59", + "@storybook/preact": "6.5.0-alpha.59", + "@storybook/preview-web": "6.5.0-alpha.59", + "@storybook/react": "6.5.0-alpha.59", + "@storybook/router": "6.5.0-alpha.59", + "@storybook/server": "6.5.0-alpha.59", + "@storybook/source-loader": "6.5.0-alpha.59", + "@storybook/store": "6.5.0-alpha.59", + "@storybook/svelte": "6.5.0-alpha.59", + "@storybook/theming": "6.5.0-alpha.59", + "@storybook/ui": "6.5.0-alpha.59", + "@storybook/vue": "6.5.0-alpha.59", + "@storybook/vue3": "6.5.0-alpha.59", + "@storybook/web-components": "6.5.0-alpha.59" +} \ No newline at end of file From 2d07f21c7596e02dad1f7d4c481876f246015370 Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Mon, 11 Apr 2022 09:30:22 -0400 Subject: [PATCH 22/44] clean up deps and remove unused code --- addons/essentials/package.json | 1 + addons/highlight/package.json | 16 ---------- addons/highlight/src/typings.d.ts | 50 ------------------------------- 3 files changed, 1 insertion(+), 66 deletions(-) diff --git a/addons/essentials/package.json b/addons/essentials/package.json index 14e03981fea..471cc7b56c6 100644 --- a/addons/essentials/package.json +++ b/addons/essentials/package.json @@ -43,6 +43,7 @@ "@storybook/addon-backgrounds": "6.5.0-alpha.59", "@storybook/addon-controls": "6.5.0-alpha.59", "@storybook/addon-docs": "6.5.0-alpha.59", + "@storybook/addon-highlight": "6.5.0-alpha.59", "@storybook/addon-measure": "6.5.0-alpha.59", "@storybook/addon-outline": "6.5.0-alpha.59", "@storybook/addon-toolbars": "6.5.0-alpha.59", diff --git a/addons/highlight/package.json b/addons/highlight/package.json index d47c98b2edc..9f28c8f9347 100644 --- a/addons/highlight/package.json +++ b/addons/highlight/package.json @@ -44,29 +44,13 @@ }, "dependencies": { "@storybook/addons": "6.5.0-alpha.59", - "@storybook/api": "6.5.0-alpha.59", - "@storybook/client-logger": "6.5.0-alpha.59", - "@storybook/components": "6.5.0-alpha.59", "@storybook/core-events": "6.5.0-alpha.59", - "@storybook/csf": "0.0.2--canary.7c6c115.0", "core-js": "^3.8.2", "global": "^4.4.0" }, "devDependencies": { "@types/webpack-env": "^1.16.0" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - }, "publishConfig": { "access": "public" }, diff --git a/addons/highlight/src/typings.d.ts b/addons/highlight/src/typings.d.ts index 4a8ad58bf89..2f4eb9cf4fd 100644 --- a/addons/highlight/src/typings.d.ts +++ b/addons/highlight/src/typings.d.ts @@ -1,51 +1 @@ declare module 'global'; - -interface Margin { - top: number; - bottom: number; - left: number; - right: number; -} - -interface Padding { - top: number; - bottom: number; - left: number; - right: number; -} - -interface Border { - top: number; - bottom: number; - left: number; - right: number; -} - -interface Dimensions { - margin: Margin; - padding: Padding; - border: Border; - width: number; - height: number; - top: number; - left: number; - bottom: number; - right: number; -} - -interface Extremities { - top: number; - bottom: number; - left: number; - right: number; -} - -interface FloatingAlignment { - x: 'left' | 'right'; - y: 'top' | 'bottom'; -} - -interface ElementMeasurements extends Dimensions { - extremities: Extremities; - floatingAlignment: FloatingAlignment; -} From dc0d54f65e841dcd17f635352f5128f9a59cc0c6 Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Mon, 11 Apr 2022 10:24:15 -0400 Subject: [PATCH 23/44] update lock file --- yarn.lock | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/yarn.lock b/yarn.lock index cadbbba8baa..c7a206f79ae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6504,6 +6504,7 @@ __metadata: "@storybook/addon-backgrounds": 6.5.0-alpha.59 "@storybook/addon-controls": 6.5.0-alpha.59 "@storybook/addon-docs": 6.5.0-alpha.59 + "@storybook/addon-highlight": 6.5.0-alpha.59 "@storybook/addon-measure": 6.5.0-alpha.59 "@storybook/addon-outline": 6.5.0-alpha.59 "@storybook/addon-toolbars": 6.5.0-alpha.59 @@ -6563,22 +6564,10 @@ __metadata: resolution: "@storybook/addon-highlight@workspace:addons/highlight" dependencies: "@storybook/addons": 6.5.0-alpha.59 - "@storybook/api": 6.5.0-alpha.59 - "@storybook/client-logger": 6.5.0-alpha.59 - "@storybook/components": 6.5.0-alpha.59 "@storybook/core-events": 6.5.0-alpha.59 - "@storybook/csf": 0.0.2--canary.7c6c115.0 "@types/webpack-env": ^1.16.0 core-js: ^3.8.2 global: ^4.4.0 - peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true languageName: unknown linkType: soft From f2958842e7241fee4514c8522e4db1aa55ac26ec Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Mon, 11 Apr 2022 21:32:43 -0400 Subject: [PATCH 24/44] update lock file --- yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index c69d4f1063b..9865c2e6527 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,7 +2,7 @@ # Manual changes might be lost - proceed with caution! __metadata: - version: 5 + version: 6 cacheKey: 8c0 "@aduh95/viz.js@npm:^3.1.0": @@ -1217,7 +1217,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-private-property-in-object@npm:^7.12.1, @babel/plugin-proposal-private-property-in-object@npm:^7.16.5, @babel/plugin-proposal-private-property-in-object@npm:^7.16.7": +"@babel/plugin-proposal-private-property-in-object@npm:^7.12.1, @babel/plugin-proposal-private-property-in-object@npm:^7.16.0, @babel/plugin-proposal-private-property-in-object@npm:^7.16.5, @babel/plugin-proposal-private-property-in-object@npm:^7.16.7": version: 7.16.7 resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.16.7" dependencies: @@ -44339,7 +44339,7 @@ __metadata: "typescript@patch:typescript@4.1.5#~builtin": version: 4.1.5 - resolution: "typescript@patch:typescript@npm%3A4.1.5#~builtin::version=4.1.5&hash=493e53" + resolution: "typescript@patch:typescript@npm%3A4.1.5#~builtin::version=4.1.5&hash=bda367" bin: tsc: bin/tsc tsserver: bin/tsserver @@ -44349,17 +44349,17 @@ __metadata: "typescript@patch:typescript@>=3.0.1#~builtin, typescript@patch:typescript@^4.0.3#~builtin, typescript@patch:typescript@^4.1.0-dev.20200804#~builtin, typescript@patch:typescript@^4.1.3#~builtin": version: 4.6.2 - resolution: "typescript@patch:typescript@npm%3A4.6.2#~builtin::version=4.6.2&hash=493e53" + resolution: "typescript@patch:typescript@npm%3A4.6.2#~builtin::version=4.6.2&hash=bda367" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 3f7254d206b9454f4d4d0aae746f4768bc30251ebe46cff1b1b33bc97bd012e7e075b9f0a0d922459f08a8e2a8b325b50c3daa869a91a575accdd83ea829accd + checksum: 92fe25239f0db8d649f4c8d061f78b43deacc1a95727f45ea5d799ebafae2a4891b11d6c6310e8ea38a928851da92d61ecd0e89b515a32e317279a4f1c707da1 languageName: node linkType: hard "typescript@patch:typescript@^3.8.3#~builtin, typescript@patch:typescript@^3.9.7#~builtin, typescript@patch:typescript@~3.9.3#~builtin": version: 3.9.10 - resolution: "typescript@patch:typescript@npm%3A3.9.10#~builtin::version=3.9.10&hash=493e53" + resolution: "typescript@patch:typescript@npm%3A3.9.10#~builtin::version=3.9.10&hash=bda367" bin: tsc: bin/tsc tsserver: bin/tsserver From 69b7853eea1600200da1879279ae8538ab584ed8 Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Mon, 11 Apr 2022 21:47:30 -0400 Subject: [PATCH 25/44] update lock file --- yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9865c2e6527..c69d4f1063b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,7 +2,7 @@ # Manual changes might be lost - proceed with caution! __metadata: - version: 6 + version: 5 cacheKey: 8c0 "@aduh95/viz.js@npm:^3.1.0": @@ -1217,7 +1217,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-private-property-in-object@npm:^7.12.1, @babel/plugin-proposal-private-property-in-object@npm:^7.16.0, @babel/plugin-proposal-private-property-in-object@npm:^7.16.5, @babel/plugin-proposal-private-property-in-object@npm:^7.16.7": +"@babel/plugin-proposal-private-property-in-object@npm:^7.12.1, @babel/plugin-proposal-private-property-in-object@npm:^7.16.5, @babel/plugin-proposal-private-property-in-object@npm:^7.16.7": version: 7.16.7 resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.16.7" dependencies: @@ -44339,7 +44339,7 @@ __metadata: "typescript@patch:typescript@4.1.5#~builtin": version: 4.1.5 - resolution: "typescript@patch:typescript@npm%3A4.1.5#~builtin::version=4.1.5&hash=bda367" + resolution: "typescript@patch:typescript@npm%3A4.1.5#~builtin::version=4.1.5&hash=493e53" bin: tsc: bin/tsc tsserver: bin/tsserver @@ -44349,17 +44349,17 @@ __metadata: "typescript@patch:typescript@>=3.0.1#~builtin, typescript@patch:typescript@^4.0.3#~builtin, typescript@patch:typescript@^4.1.0-dev.20200804#~builtin, typescript@patch:typescript@^4.1.3#~builtin": version: 4.6.2 - resolution: "typescript@patch:typescript@npm%3A4.6.2#~builtin::version=4.6.2&hash=bda367" + resolution: "typescript@patch:typescript@npm%3A4.6.2#~builtin::version=4.6.2&hash=493e53" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 92fe25239f0db8d649f4c8d061f78b43deacc1a95727f45ea5d799ebafae2a4891b11d6c6310e8ea38a928851da92d61ecd0e89b515a32e317279a4f1c707da1 + checksum: 3f7254d206b9454f4d4d0aae746f4768bc30251ebe46cff1b1b33bc97bd012e7e075b9f0a0d922459f08a8e2a8b325b50c3daa869a91a575accdd83ea829accd languageName: node linkType: hard "typescript@patch:typescript@^3.8.3#~builtin, typescript@patch:typescript@^3.9.7#~builtin, typescript@patch:typescript@~3.9.3#~builtin": version: 3.9.10 - resolution: "typescript@patch:typescript@npm%3A3.9.10#~builtin::version=3.9.10&hash=bda367" + resolution: "typescript@patch:typescript@npm%3A3.9.10#~builtin::version=3.9.10&hash=493e53" bin: tsc: bin/tsc tsserver: bin/tsserver From 8cbd3dc520c202b1b5b4d8aa098a0257ee5c1c72 Mon Sep 17 00:00:00 2001 From: Michael Shilman Date: Mon, 18 Apr 2022 09:47:53 +0800 Subject: [PATCH 26/44] Addon-highlight: Remove preset --- addons/highlight/preset.js | 12 ------------ addons/highlight/preview.js | 1 + addons/highlight/register.js | 1 - addons/highlight/src/register.ts | 2 -- .../cra-ts-essentials_preview-dev-posix | 2 +- .../cra-ts-essentials_preview-prod-posix | 2 +- .../src/__snapshots__/vue-3-cli_preview-dev-posix | 2 +- .../src/__snapshots__/vue-3-cli_preview-prod-posix | 2 +- 8 files changed, 5 insertions(+), 19 deletions(-) delete mode 100644 addons/highlight/preset.js create mode 100644 addons/highlight/preview.js delete mode 100644 addons/highlight/register.js delete mode 100644 addons/highlight/src/register.ts diff --git a/addons/highlight/preset.js b/addons/highlight/preset.js deleted file mode 100644 index ba8f79f08f4..00000000000 --- a/addons/highlight/preset.js +++ /dev/null @@ -1,12 +0,0 @@ -function config(entry = []) { - return [...entry, require.resolve('./dist/esm/highlight')]; -} - -function managerEntries(entry = []) { - return entry; -} - -module.exports = { - managerEntries, - config, -}; diff --git a/addons/highlight/preview.js b/addons/highlight/preview.js new file mode 100644 index 00000000000..3fcceedbe4f --- /dev/null +++ b/addons/highlight/preview.js @@ -0,0 +1 @@ +export * from './dist/esm/highlight'; diff --git a/addons/highlight/register.js b/addons/highlight/register.js deleted file mode 100644 index f209c0eb370..00000000000 --- a/addons/highlight/register.js +++ /dev/null @@ -1 +0,0 @@ -require('./dist/esm/register'); diff --git a/addons/highlight/src/register.ts b/addons/highlight/src/register.ts deleted file mode 100644 index dafa948eda6..00000000000 --- a/addons/highlight/src/register.ts +++ /dev/null @@ -1,2 +0,0 @@ -// make it work with --isolatedModules -export default {}; diff --git a/lib/core-server/src/__snapshots__/cra-ts-essentials_preview-dev-posix b/lib/core-server/src/__snapshots__/cra-ts-essentials_preview-dev-posix index 39021e2dc7d..b8ec75e51ce 100644 --- a/lib/core-server/src/__snapshots__/cra-ts-essentials_preview-dev-posix +++ b/lib/core-server/src/__snapshots__/cra-ts-essentials_preview-dev-posix @@ -15,7 +15,7 @@ Object { "ROOT/addons/backgrounds/preview.js-generated-config-entry.js", "ROOT/addons/measure/preview.js-generated-config-entry.js", "ROOT/addons/outline/preview.js-generated-config-entry.js", - "ROOT/addons/highlight/dist/esm/highlight.js-generated-config-entry.js", + "ROOT/addons/highlight/preview.js-generated-config-entry.js", "ROOT/examples/cra-ts-essentials/.storybook/preview.tsx-generated-config-entry.js", "ROOT/generated-stories-entry.js", ], diff --git a/lib/core-server/src/__snapshots__/cra-ts-essentials_preview-prod-posix b/lib/core-server/src/__snapshots__/cra-ts-essentials_preview-prod-posix index 8f772452e1a..e540df78ad0 100644 --- a/lib/core-server/src/__snapshots__/cra-ts-essentials_preview-prod-posix +++ b/lib/core-server/src/__snapshots__/cra-ts-essentials_preview-prod-posix @@ -14,7 +14,7 @@ Object { "ROOT/addons/backgrounds/preview.js-generated-config-entry.js", "ROOT/addons/measure/preview.js-generated-config-entry.js", "ROOT/addons/outline/preview.js-generated-config-entry.js", - "ROOT/addons/highlight/dist/esm/highlight.js-generated-config-entry.js", + "ROOT/addons/highlight/preview.js-generated-config-entry.js", "ROOT/examples/cra-ts-essentials/.storybook/preview.tsx-generated-config-entry.js", "ROOT/generated-stories-entry.js", ], diff --git a/lib/core-server/src/__snapshots__/vue-3-cli_preview-dev-posix b/lib/core-server/src/__snapshots__/vue-3-cli_preview-dev-posix index dc00f7da497..96cf64d8475 100644 --- a/lib/core-server/src/__snapshots__/vue-3-cli_preview-dev-posix +++ b/lib/core-server/src/__snapshots__/vue-3-cli_preview-dev-posix @@ -15,8 +15,8 @@ Object { "ROOT/addons/backgrounds/preview.js-generated-config-entry.js", "ROOT/addons/measure/preview.js-generated-config-entry.js", "ROOT/addons/outline/preview.js-generated-config-entry.js", + "ROOT/addons/highlight/preview.js-generated-config-entry.js", "ROOT/addons/interactions/preview.js-generated-config-entry.js", - "ROOT/addons/highlight/dist/esm/highlight.js-generated-config-entry.js", "ROOT/examples/vue-3-cli/.storybook/preview.ts-generated-config-entry.js", "ROOT/generated-stories-entry.js", ], diff --git a/lib/core-server/src/__snapshots__/vue-3-cli_preview-prod-posix b/lib/core-server/src/__snapshots__/vue-3-cli_preview-prod-posix index 230a824f5ab..f924ab4f8e5 100644 --- a/lib/core-server/src/__snapshots__/vue-3-cli_preview-prod-posix +++ b/lib/core-server/src/__snapshots__/vue-3-cli_preview-prod-posix @@ -14,8 +14,8 @@ Object { "ROOT/addons/backgrounds/preview.js-generated-config-entry.js", "ROOT/addons/measure/preview.js-generated-config-entry.js", "ROOT/addons/outline/preview.js-generated-config-entry.js", + "ROOT/addons/highlight/preview.js-generated-config-entry.js", "ROOT/addons/interactions/preview.js-generated-config-entry.js", - "ROOT/addons/highlight/dist/esm/highlight.js-generated-config-entry.js", "ROOT/examples/vue-3-cli/.storybook/preview.ts-generated-config-entry.js", "ROOT/generated-stories-entry.js", ], From bec0ba89bc0f117e18e226e9b955f36ae3fd4ccc Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Mon, 18 Apr 2022 10:17:07 -0400 Subject: [PATCH 27/44] update examples to use addon-highlight --- examples/html-kitchen-sink/.storybook/main.js | 1 + examples/html-kitchen-sink/package.json | 1 + .../preact-kitchen-sink/.storybook/main.js | 1 + examples/preact-kitchen-sink/package.json | 1 + .../server-kitchen-sink/.storybook/main.js | 1 + examples/server-kitchen-sink/package.json | 1 + .../svelte-kitchen-sink/.storybook/main.js | 1 + examples/svelte-kitchen-sink/package.json | 1 + examples/vue-kitchen-sink/.storybook/main.js | 1 + examples/vue-kitchen-sink/package.json | 1 + .../.storybook/main.js | 1 + .../web-components-kitchen-sink/yarn.lock | 351 +++++++++--------- yarn.lock | 5 + 13 files changed, 190 insertions(+), 177 deletions(-) diff --git a/examples/html-kitchen-sink/.storybook/main.js b/examples/html-kitchen-sink/.storybook/main.js index 9a7f974f2c1..2b34f235c43 100644 --- a/examples/html-kitchen-sink/.storybook/main.js +++ b/examples/html-kitchen-sink/.storybook/main.js @@ -20,6 +20,7 @@ module.exports = { }, '@storybook/addon-storysource', '@storybook/addon-viewport', + '@storybook/addon-highlight', ], core: { builder: 'webpack4', diff --git a/examples/html-kitchen-sink/package.json b/examples/html-kitchen-sink/package.json index d64e2048e26..2f415dc85d1 100644 --- a/examples/html-kitchen-sink/package.json +++ b/examples/html-kitchen-sink/package.json @@ -18,6 +18,7 @@ "@storybook/addon-backgrounds": "6.5.0-alpha.63", "@storybook/addon-controls": "6.5.0-alpha.63", "@storybook/addon-docs": "6.5.0-alpha.63", + "@storybook/addon-highlight": "6.5.0-alpha.63", "@storybook/addon-jest": "6.5.0-alpha.63", "@storybook/addon-links": "6.5.0-alpha.63", "@storybook/addon-postcss": "^2.0.0", diff --git a/examples/preact-kitchen-sink/.storybook/main.js b/examples/preact-kitchen-sink/.storybook/main.js index 9ed640ccc25..cb6e6aab581 100644 --- a/examples/preact-kitchen-sink/.storybook/main.js +++ b/examples/preact-kitchen-sink/.storybook/main.js @@ -11,6 +11,7 @@ module.exports = { '@storybook/addon-viewport', '@storybook/addon-backgrounds', '@storybook/addon-a11y', + '@storybook/addon-highlight', ], webpackFinal: (config) => { config.module.rules.push({ diff --git a/examples/preact-kitchen-sink/package.json b/examples/preact-kitchen-sink/package.json index 217dbb1c6cf..f6ac40bf081 100644 --- a/examples/preact-kitchen-sink/package.json +++ b/examples/preact-kitchen-sink/package.json @@ -18,6 +18,7 @@ "@storybook/addon-a11y": "6.5.0-alpha.63", "@storybook/addon-actions": "6.5.0-alpha.63", "@storybook/addon-backgrounds": "6.5.0-alpha.63", + "@storybook/addon-highlight": "6.5.0-alpha.63", "@storybook/addon-links": "6.5.0-alpha.63", "@storybook/addon-storyshots": "6.5.0-alpha.63", "@storybook/addon-storysource": "6.5.0-alpha.63", diff --git a/examples/server-kitchen-sink/.storybook/main.js b/examples/server-kitchen-sink/.storybook/main.js index b82f2a889be..0cf21433867 100644 --- a/examples/server-kitchen-sink/.storybook/main.js +++ b/examples/server-kitchen-sink/.storybook/main.js @@ -8,5 +8,6 @@ module.exports = { '@storybook/addon-backgrounds', '@storybook/addon-links', '@storybook/addon-controls', + '@storybook/addon-highlight', ], }; diff --git a/examples/server-kitchen-sink/package.json b/examples/server-kitchen-sink/package.json index 02507fbfa5b..cb6f0709dec 100644 --- a/examples/server-kitchen-sink/package.json +++ b/examples/server-kitchen-sink/package.json @@ -18,6 +18,7 @@ "@storybook/addon-actions": "6.5.0-alpha.63", "@storybook/addon-backgrounds": "6.5.0-alpha.63", "@storybook/addon-controls": "6.5.0-alpha.63", + "@storybook/addon-highlight": "6.5.0-alpha.63", "@storybook/addon-links": "6.5.0-alpha.63", "@storybook/node-logger": "6.5.0-alpha.63", "@storybook/server": "6.5.0-alpha.63", diff --git a/examples/svelte-kitchen-sink/.storybook/main.js b/examples/svelte-kitchen-sink/.storybook/main.js index b916ff3157b..9e3a9e615ef 100644 --- a/examples/svelte-kitchen-sink/.storybook/main.js +++ b/examples/svelte-kitchen-sink/.storybook/main.js @@ -23,6 +23,7 @@ module.exports = { '@storybook/addon-backgrounds', '@storybook/addon-viewport', '@storybook/addon-a11y', + '@storybook/addon-highlight', ], webpackFinal: async (config) => { config.module.rules.push({ diff --git a/examples/svelte-kitchen-sink/package.json b/examples/svelte-kitchen-sink/package.json index dc0072b9b8b..b2b1433f497 100644 --- a/examples/svelte-kitchen-sink/package.json +++ b/examples/svelte-kitchen-sink/package.json @@ -15,6 +15,7 @@ "@storybook/addon-backgrounds": "6.5.0-alpha.63", "@storybook/addon-controls": "6.5.0-alpha.63", "@storybook/addon-docs": "6.5.0-alpha.63", + "@storybook/addon-highlight": "6.5.0-alpha.63", "@storybook/addon-interactions": "6.5.0-alpha.63", "@storybook/addon-links": "6.5.0-alpha.63", "@storybook/addon-storyshots": "6.5.0-alpha.63", diff --git a/examples/vue-kitchen-sink/.storybook/main.js b/examples/vue-kitchen-sink/.storybook/main.js index f28511d9d03..dec5bd83fc6 100644 --- a/examples/vue-kitchen-sink/.storybook/main.js +++ b/examples/vue-kitchen-sink/.storybook/main.js @@ -11,6 +11,7 @@ module.exports = { '@storybook/addon-viewport', '@storybook/addon-backgrounds', '@storybook/addon-a11y', + '@storybook/addon-highlight', ], core: { builder: 'webpack4', diff --git a/examples/vue-kitchen-sink/package.json b/examples/vue-kitchen-sink/package.json index cfcd12e8374..6e75f95682c 100644 --- a/examples/vue-kitchen-sink/package.json +++ b/examples/vue-kitchen-sink/package.json @@ -19,6 +19,7 @@ "@storybook/addon-backgrounds": "6.5.0-alpha.63", "@storybook/addon-controls": "6.5.0-alpha.63", "@storybook/addon-docs": "6.5.0-alpha.63", + "@storybook/addon-highlight": "6.5.0-alpha.63", "@storybook/addon-interactions": "6.5.0-alpha.63", "@storybook/addon-links": "6.5.0-alpha.63", "@storybook/addon-storyshots": "6.5.0-alpha.63", diff --git a/examples/web-components-kitchen-sink/.storybook/main.js b/examples/web-components-kitchen-sink/.storybook/main.js index 4c7f08ca010..6e86ec7d33b 100644 --- a/examples/web-components-kitchen-sink/.storybook/main.js +++ b/examples/web-components-kitchen-sink/.storybook/main.js @@ -12,6 +12,7 @@ module.exports = { '@storybook/addon-storysource', '@storybook/addon-viewport', '@storybook/addon-toolbars', + '@storybook/addon-highlight', ], core: { builder: 'webpack4', diff --git a/examples/web-components-kitchen-sink/yarn.lock b/examples/web-components-kitchen-sink/yarn.lock index ea755e36c26..9ecab734b18 100644 --- a/examples/web-components-kitchen-sink/yarn.lock +++ b/examples/web-components-kitchen-sink/yarn.lock @@ -1600,7 +1600,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.14.0, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.0, @babel/runtime@npm:^7.8.4": +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.0, @babel/runtime@npm:^7.8.4": version: 7.14.8 resolution: "@babel/runtime@npm:7.14.8" dependencies: @@ -1609,6 +1609,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.17.8": + version: 7.17.9 + resolution: "@babel/runtime@npm:7.17.9" + dependencies: + regenerator-runtime: ^0.13.4 + checksum: 758ce8855a75408555ed9d196c82c86350257765095a5d3e05df35875d1b0cd42223c6f62356f000b1e1efe8e345d6312c60ae98e8727a2a49909a656f0fd805 + languageName: node + linkType: hard + "@babel/template@npm:^7.12.7, @babel/template@npm:^7.14.5, @babel/template@npm:^7.3.3, @babel/template@npm:^7.7.0": version: 7.14.5 resolution: "@babel/template@npm:7.14.5" @@ -2114,15 +2123,15 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-a11y@portal:../../addons/a11y::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addon-highlight": 6.5.0-alpha.56 - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/api": 6.5.0-alpha.56 - "@storybook/channels": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/components": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/addon-highlight": 6.5.0-alpha.63 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/api": 6.5.0-alpha.63 + "@storybook/channels": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/components": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/theming": 6.5.0-alpha.56 + "@storybook/theming": 6.5.0-alpha.63 axe-core: ^4.2.0 core-js: ^3.8.2 global: ^4.4.0 @@ -2146,18 +2155,18 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-actions@portal:../../addons/actions::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/api": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/components": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/api": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/components": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/theming": 6.5.0-alpha.56 + "@storybook/theming": 6.5.0-alpha.63 core-js: ^3.8.2 fast-deep-equal: ^3.1.3 global: ^4.4.0 lodash: ^4.17.21 - polished: ^4.0.5 + polished: ^4.2.2 prop-types: ^15.7.2 react-inspector: ^5.1.0 regenerator-runtime: ^0.13.7 @@ -2180,13 +2189,13 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-backgrounds@portal:../../addons/backgrounds::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/api": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/components": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/api": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/components": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/theming": 6.5.0-alpha.56 + "@storybook/theming": 6.5.0-alpha.63 core-js: ^3.8.2 global: ^4.4.0 memoizerific: ^1.11.3 @@ -2208,15 +2217,15 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-controls@portal:../../addons/controls::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/api": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/components": 6.5.0-alpha.56 - "@storybook/core-common": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/api": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/components": 6.5.0-alpha.63 + "@storybook/core-common": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/node-logger": 6.5.0-alpha.56 - "@storybook/store": 6.5.0-alpha.56 - "@storybook/theming": 6.5.0-alpha.56 + "@storybook/node-logger": 6.5.0-alpha.63 + "@storybook/store": 6.5.0-alpha.63 + "@storybook/theming": 6.5.0-alpha.63 core-js: ^3.8.2 lodash: ^4.17.21 ts-dedent: ^2.0.0 @@ -2239,20 +2248,20 @@ __metadata: "@babel/preset-env": ^7.12.11 "@jest/transform": ^26.6.2 "@mdx-js/react": ^1.6.22 - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/api": 6.5.0-alpha.56 - "@storybook/components": 6.5.0-alpha.56 - "@storybook/core-common": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/api": 6.5.0-alpha.63 + "@storybook/components": 6.5.0-alpha.63 + "@storybook/core-common": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/docs-tools": 6.5.0-alpha.56 + "@storybook/docs-tools": 6.5.0-alpha.63 "@storybook/mdx1-csf": canary - "@storybook/node-logger": 6.5.0-alpha.56 - "@storybook/postinstall": 6.5.0-alpha.56 - "@storybook/preview-web": 6.5.0-alpha.56 - "@storybook/source-loader": 6.5.0-alpha.56 - "@storybook/store": 6.5.0-alpha.56 - "@storybook/theming": 6.5.0-alpha.56 + "@storybook/node-logger": 6.5.0-alpha.63 + "@storybook/postinstall": 6.5.0-alpha.63 + "@storybook/preview-web": 6.5.0-alpha.63 + "@storybook/source-loader": 6.5.0-alpha.63 + "@storybook/store": 6.5.0-alpha.63 + "@storybook/theming": 6.5.0-alpha.63 babel-loader: ^8.0.0 core-js: ^3.8.2 fast-deep-equal: ^3.1.3 @@ -2281,22 +2290,10 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-highlight@portal:../../addons/highlight::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/api": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/components": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 - "@storybook/csf": 0.0.2--canary.7c6c115.0 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 core-js: ^3.8.2 global: ^4.4.0 - peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true languageName: node linkType: soft @@ -2330,11 +2327,11 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-links@portal:../../addons/links::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/router": 6.5.0-alpha.56 + "@storybook/router": 6.5.0-alpha.63 "@types/qs": ^6.9.5 core-js: ^3.8.2 global: ^4.4.0 @@ -2358,12 +2355,12 @@ __metadata: resolution: "@storybook/addon-storyshots@portal:../../addons/storyshots/storyshots-core::locator=web-components-kitchen-sink%40workspace%3A." dependencies: "@jest/transform": ^26.6.2 - "@storybook/addons": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 "@storybook/babel-plugin-require-context-hook": 1.0.1 - "@storybook/client-api": 6.5.0-alpha.56 - "@storybook/core": 6.5.0-alpha.56 - "@storybook/core-client": 6.5.0-alpha.56 - "@storybook/core-common": 6.5.0-alpha.56 + "@storybook/client-api": 6.5.0-alpha.63 + "@storybook/core": 6.5.0-alpha.63 + "@storybook/core-client": 6.5.0-alpha.63 + "@storybook/core-common": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 "@types/glob": ^7.1.3 "@types/jest": ^26.0.16 @@ -2433,13 +2430,13 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-storysource@portal:../../addons/storysource::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/api": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/components": 6.5.0-alpha.56 - "@storybook/router": 6.5.0-alpha.56 - "@storybook/source-loader": 6.5.0-alpha.56 - "@storybook/theming": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/api": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/components": 6.5.0-alpha.63 + "@storybook/router": 6.5.0-alpha.63 + "@storybook/source-loader": 6.5.0-alpha.63 + "@storybook/theming": 6.5.0-alpha.63 core-js: ^3.8.2 estraverse: ^5.2.0 loader-utils: ^2.0.0 @@ -2461,12 +2458,12 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-viewport@portal:../../addons/viewport::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/api": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/components": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 - "@storybook/theming": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/api": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/components": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 + "@storybook/theming": 6.5.0-alpha.63 core-js: ^3.8.2 global: ^4.4.0 memoizerific: ^1.11.3 @@ -2487,13 +2484,13 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addons@portal:../../lib/addons::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/api": 6.5.0-alpha.56 - "@storybook/channels": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/api": 6.5.0-alpha.63 + "@storybook/channels": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/router": 6.5.0-alpha.56 - "@storybook/theming": 6.5.0-alpha.56 + "@storybook/router": 6.5.0-alpha.63 + "@storybook/theming": 6.5.0-alpha.63 "@types/webpack-env": ^1.16.0 core-js: ^3.8.2 global: ^4.4.0 @@ -2508,13 +2505,13 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/api@portal:../../lib/api::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/channels": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/channels": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/router": 6.5.0-alpha.56 + "@storybook/router": 6.5.0-alpha.63 "@storybook/semver": ^7.3.2 - "@storybook/theming": 6.5.0-alpha.56 + "@storybook/theming": 6.5.0-alpha.63 core-js: ^3.8.2 fast-deep-equal: ^3.1.3 global: ^4.4.0 @@ -2543,22 +2540,22 @@ __metadata: resolution: "@storybook/builder-webpack4@portal:../../lib/builder-webpack4::locator=web-components-kitchen-sink%40workspace%3A." dependencies: "@babel/core": ^7.12.10 - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/api": 6.5.0-alpha.56 - "@storybook/channel-postmessage": 6.5.0-alpha.56 - "@storybook/channels": 6.5.0-alpha.56 - "@storybook/client-api": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/components": 6.5.0-alpha.56 - "@storybook/core-common": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 - "@storybook/node-logger": 6.5.0-alpha.56 - "@storybook/preview-web": 6.5.0-alpha.56 - "@storybook/router": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/api": 6.5.0-alpha.63 + "@storybook/channel-postmessage": 6.5.0-alpha.63 + "@storybook/channels": 6.5.0-alpha.63 + "@storybook/client-api": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/components": 6.5.0-alpha.63 + "@storybook/core-common": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 + "@storybook/node-logger": 6.5.0-alpha.63 + "@storybook/preview-web": 6.5.0-alpha.63 + "@storybook/router": 6.5.0-alpha.63 "@storybook/semver": ^7.3.2 - "@storybook/store": 6.5.0-alpha.56 - "@storybook/theming": 6.5.0-alpha.56 - "@storybook/ui": 6.5.0-alpha.56 + "@storybook/store": 6.5.0-alpha.63 + "@storybook/theming": 6.5.0-alpha.63 + "@storybook/ui": 6.5.0-alpha.63 "@types/node": ^14.0.10 || ^16.0.0 "@types/webpack": ^4.41.26 autoprefixer: ^9.8.6 @@ -2602,9 +2599,9 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/channel-postmessage@portal:../../lib/channel-postmessage::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/channels": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/channels": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 core-js: ^3.8.2 global: ^4.4.0 qs: ^6.10.0 @@ -2616,8 +2613,8 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/channel-websocket@portal:../../lib/channel-websocket::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/channels": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/channels": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 core-js: ^3.8.2 global: ^4.4.0 telejson: ^5.3.3 @@ -2638,13 +2635,13 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/client-api@portal:../../lib/client-api::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/channel-postmessage": 6.5.0-alpha.56 - "@storybook/channels": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/channel-postmessage": 6.5.0-alpha.63 + "@storybook/channels": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/store": 6.5.0-alpha.56 + "@storybook/store": 6.5.0-alpha.63 "@types/qs": ^6.9.5 "@types/webpack-env": ^1.16.0 core-js: ^3.8.2 @@ -2677,9 +2674,9 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/components@portal:../../lib/components::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/theming": 6.5.0-alpha.56 + "@storybook/theming": 6.5.0-alpha.63 core-js: ^3.8.2 regenerator-runtime: ^0.13.7 peerDependencies: @@ -2692,16 +2689,16 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/core-client@portal:../../lib/core-client::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/channel-postmessage": 6.5.0-alpha.56 - "@storybook/channel-websocket": 6.5.0-alpha.56 - "@storybook/client-api": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/channel-postmessage": 6.5.0-alpha.63 + "@storybook/channel-websocket": 6.5.0-alpha.63 + "@storybook/client-api": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/preview-web": 6.5.0-alpha.56 - "@storybook/store": 6.5.0-alpha.56 - "@storybook/ui": 6.5.0-alpha.56 + "@storybook/preview-web": 6.5.0-alpha.63 + "@storybook/store": 6.5.0-alpha.63 + "@storybook/ui": 6.5.0-alpha.63 airbnb-js-shims: ^2.2.1 ansi-to-html: ^0.6.11 core-js: ^3.8.2 @@ -2748,7 +2745,7 @@ __metadata: "@babel/preset-react": ^7.12.10 "@babel/preset-typescript": ^7.12.7 "@babel/register": ^7.12.1 - "@storybook/node-logger": 6.5.0-alpha.56 + "@storybook/node-logger": 6.5.0-alpha.63 "@storybook/semver": ^7.3.2 "@types/node": ^14.0.10 || ^16.0.0 "@types/pretty-hrtime": ^1.0.0 @@ -2798,16 +2795,16 @@ __metadata: resolution: "@storybook/core-server@portal:../../lib/core-server::locator=web-components-kitchen-sink%40workspace%3A." dependencies: "@discoveryjs/json-ext": ^0.5.3 - "@storybook/builder-webpack4": 6.5.0-alpha.56 - "@storybook/core-client": 6.5.0-alpha.56 - "@storybook/core-common": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/builder-webpack4": 6.5.0-alpha.63 + "@storybook/core-client": 6.5.0-alpha.63 + "@storybook/core-common": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/csf-tools": 6.5.0-alpha.56 - "@storybook/manager-webpack4": 6.5.0-alpha.56 - "@storybook/node-logger": 6.5.0-alpha.56 + "@storybook/csf-tools": 6.5.0-alpha.63 + "@storybook/manager-webpack4": 6.5.0-alpha.63 + "@storybook/node-logger": 6.5.0-alpha.63 "@storybook/semver": ^7.3.2 - "@storybook/store": 6.5.0-alpha.56 + "@storybook/store": 6.5.0-alpha.63 "@types/node": ^14.0.10 || ^16.0.0 "@types/node-fetch": ^2.5.7 "@types/pretty-hrtime": ^1.0.0 @@ -2858,8 +2855,8 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/core@portal:../../lib/core::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/core-client": 6.5.0-alpha.56 - "@storybook/core-server": 6.5.0-alpha.56 + "@storybook/core-client": 6.5.0-alpha.63 + "@storybook/core-server": 6.5.0-alpha.63 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -2915,7 +2912,7 @@ __metadata: dependencies: "@babel/core": ^7.12.10 "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/store": 6.5.0-alpha.56 + "@storybook/store": 6.5.0-alpha.63 core-js: ^3.8.2 doctrine: ^3.0.0 lodash: ^4.17.21 @@ -2930,12 +2927,12 @@ __metadata: "@babel/core": ^7.12.10 "@babel/plugin-transform-template-literals": ^7.12.1 "@babel/preset-react": ^7.12.10 - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/core-client": 6.5.0-alpha.56 - "@storybook/core-common": 6.5.0-alpha.56 - "@storybook/node-logger": 6.5.0-alpha.56 - "@storybook/theming": 6.5.0-alpha.56 - "@storybook/ui": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/core-client": 6.5.0-alpha.63 + "@storybook/core-common": 6.5.0-alpha.63 + "@storybook/node-logger": 6.5.0-alpha.63 + "@storybook/theming": 6.5.0-alpha.63 + "@storybook/ui": 6.5.0-alpha.63 "@types/node": ^14.0.10 || ^16.0.0 "@types/webpack": ^4.41.26 babel-loader: ^8.0.0 @@ -3014,12 +3011,12 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/preview-web@portal:../../lib/preview-web::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/channel-postmessage": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/channel-postmessage": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/store": 6.5.0-alpha.56 + "@storybook/store": 6.5.0-alpha.63 ansi-to-html: ^0.6.11 core-js: ^3.8.2 global: ^4.4.0 @@ -3040,7 +3037,7 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/router@portal:../../lib/router::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.63 core-js: ^3.8.2 regenerator-runtime: ^0.13.7 peerDependencies: @@ -3065,8 +3062,8 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/source-loader@portal:../../lib/source-loader::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 core-js: ^3.8.2 estraverse: ^5.2.0 @@ -3085,9 +3082,9 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/store@portal:../../lib/store::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 core-js: ^3.8.2 fast-deep-equal: ^3.1.3 @@ -3110,7 +3107,7 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/theming@portal:../../lib/theming::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/client-logger": 6.5.0-alpha.56 + "@storybook/client-logger": 6.5.0-alpha.63 core-js: ^3.8.2 regenerator-runtime: ^0.13.7 peerDependencies: @@ -3123,15 +3120,15 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/ui@portal:../../lib/ui::locator=web-components-kitchen-sink%40workspace%3A." dependencies: - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/api": 6.5.0-alpha.56 - "@storybook/channels": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/components": 6.5.0-alpha.56 - "@storybook/core-events": 6.5.0-alpha.56 - "@storybook/router": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/api": 6.5.0-alpha.63 + "@storybook/channels": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/components": 6.5.0-alpha.63 + "@storybook/core-events": 6.5.0-alpha.63 + "@storybook/router": 6.5.0-alpha.63 "@storybook/semver": ^7.3.2 - "@storybook/theming": 6.5.0-alpha.56 + "@storybook/theming": 6.5.0-alpha.63 core-js: ^3.8.2 regenerator-runtime: ^0.13.7 resolve-from: ^5.0.0 @@ -3148,15 +3145,15 @@ __metadata: "@babel/plugin-syntax-dynamic-import": ^7.8.3 "@babel/plugin-syntax-import-meta": ^7.10.4 "@babel/preset-env": ^7.12.11 - "@storybook/addons": 6.5.0-alpha.56 - "@storybook/client-api": 6.5.0-alpha.56 - "@storybook/client-logger": 6.5.0-alpha.56 - "@storybook/core": 6.5.0-alpha.56 - "@storybook/core-common": 6.5.0-alpha.56 + "@storybook/addons": 6.5.0-alpha.63 + "@storybook/client-api": 6.5.0-alpha.63 + "@storybook/client-logger": 6.5.0-alpha.63 + "@storybook/core": 6.5.0-alpha.63 + "@storybook/core-common": 6.5.0-alpha.63 "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/docs-tools": 6.5.0-alpha.56 - "@storybook/preview-web": 6.5.0-alpha.56 - "@storybook/store": 6.5.0-alpha.56 + "@storybook/docs-tools": 6.5.0-alpha.63 + "@storybook/preview-web": 6.5.0-alpha.63 + "@storybook/store": 6.5.0-alpha.63 "@types/node": ^14.14.20 || ^16.0.0 "@types/webpack-env": ^1.16.0 babel-plugin-bundled-import-meta: ^0.3.1 @@ -10985,12 +10982,12 @@ fsevents@^1.2.7: languageName: node linkType: hard -"polished@npm:^4.0.5": - version: 4.1.3 - resolution: "polished@npm:4.1.3" +"polished@npm:^4.2.2": + version: 4.2.2 + resolution: "polished@npm:4.2.2" dependencies: - "@babel/runtime": ^7.14.0 - checksum: 8e5328057804b10ac37160d0f17a551276193b47193721a91d6bc7094fbbd73ad69ed0a9faf92a95011611e91df6c554548d0be53261aff4268497b8a258cf20 + "@babel/runtime": ^7.17.8 + checksum: 1d054d1fea18ac7d921ca91504ffcf1ef0f505eda6acbfec6e205a98ebfea80b658664995deb35907dabc5f75f287dc2894812503a8aed28285bb91f25cf7400 languageName: node linkType: hard diff --git a/yarn.lock b/yarn.lock index a993549c8b3..7238e8b82ed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -25110,6 +25110,7 @@ __metadata: "@storybook/addon-backgrounds": 6.5.0-alpha.63 "@storybook/addon-controls": 6.5.0-alpha.63 "@storybook/addon-docs": 6.5.0-alpha.63 + "@storybook/addon-highlight": 6.5.0-alpha.63 "@storybook/addon-jest": 6.5.0-alpha.63 "@storybook/addon-links": 6.5.0-alpha.63 "@storybook/addon-postcss": ^2.0.0 @@ -36591,6 +36592,7 @@ __metadata: "@storybook/addon-a11y": 6.5.0-alpha.63 "@storybook/addon-actions": 6.5.0-alpha.63 "@storybook/addon-backgrounds": 6.5.0-alpha.63 + "@storybook/addon-highlight": 6.5.0-alpha.63 "@storybook/addon-links": 6.5.0-alpha.63 "@storybook/addon-storyshots": 6.5.0-alpha.63 "@storybook/addon-storysource": 6.5.0-alpha.63 @@ -40925,6 +40927,7 @@ __metadata: "@storybook/addon-actions": 6.5.0-alpha.63 "@storybook/addon-backgrounds": 6.5.0-alpha.63 "@storybook/addon-controls": 6.5.0-alpha.63 + "@storybook/addon-highlight": 6.5.0-alpha.63 "@storybook/addon-links": 6.5.0-alpha.63 "@storybook/node-logger": 6.5.0-alpha.63 "@storybook/server": 6.5.0-alpha.63 @@ -42709,6 +42712,7 @@ __metadata: "@storybook/addon-backgrounds": 6.5.0-alpha.63 "@storybook/addon-controls": 6.5.0-alpha.63 "@storybook/addon-docs": 6.5.0-alpha.63 + "@storybook/addon-highlight": 6.5.0-alpha.63 "@storybook/addon-interactions": 6.5.0-alpha.63 "@storybook/addon-links": 6.5.0-alpha.63 "@storybook/addon-storyshots": 6.5.0-alpha.63 @@ -45718,6 +45722,7 @@ __metadata: "@storybook/addon-backgrounds": 6.5.0-alpha.63 "@storybook/addon-controls": 6.5.0-alpha.63 "@storybook/addon-docs": 6.5.0-alpha.63 + "@storybook/addon-highlight": 6.5.0-alpha.63 "@storybook/addon-interactions": 6.5.0-alpha.63 "@storybook/addon-links": 6.5.0-alpha.63 "@storybook/addon-storyshots": 6.5.0-alpha.63 From 5dadc45056ed28307cd6d63492eb9c7a8eefae1c Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Mon, 18 Apr 2022 10:53:39 -0400 Subject: [PATCH 28/44] update snapshots --- .../src/__snapshots__/html-kitchen-sink_preview-dev-posix | 1 + .../src/__snapshots__/html-kitchen-sink_preview-prod-posix | 1 + .../__snapshots__/web-components-kitchen-sink_preview-dev-posix | 1 + .../__snapshots__/web-components-kitchen-sink_preview-prod-posix | 1 + 4 files changed, 4 insertions(+) diff --git a/lib/core-server/src/__snapshots__/html-kitchen-sink_preview-dev-posix b/lib/core-server/src/__snapshots__/html-kitchen-sink_preview-dev-posix index fef4e5b1e09..a691965e4bc 100644 --- a/lib/core-server/src/__snapshots__/html-kitchen-sink_preview-dev-posix +++ b/lib/core-server/src/__snapshots__/html-kitchen-sink_preview-dev-posix @@ -14,6 +14,7 @@ Object { "ROOT/addons/actions/preview.js-generated-config-entry.js", "ROOT/addons/backgrounds/preview.js-generated-config-entry.js", "ROOT/addons/links/preview.js-generated-config-entry.js", + "ROOT/addons/highlight/preview.js-generated-config-entry.js", "ROOT/examples/html-kitchen-sink/.storybook/preview.js-generated-config-entry.js", "ROOT/generated-stories-entry.js", ], diff --git a/lib/core-server/src/__snapshots__/html-kitchen-sink_preview-prod-posix b/lib/core-server/src/__snapshots__/html-kitchen-sink_preview-prod-posix index d1c67aacb00..9f44a4d301a 100644 --- a/lib/core-server/src/__snapshots__/html-kitchen-sink_preview-prod-posix +++ b/lib/core-server/src/__snapshots__/html-kitchen-sink_preview-prod-posix @@ -13,6 +13,7 @@ Object { "ROOT/addons/actions/preview.js-generated-config-entry.js", "ROOT/addons/backgrounds/preview.js-generated-config-entry.js", "ROOT/addons/links/preview.js-generated-config-entry.js", + "ROOT/addons/highlight/preview.js-generated-config-entry.js", "ROOT/examples/html-kitchen-sink/.storybook/preview.js-generated-config-entry.js", "ROOT/generated-stories-entry.js", ], diff --git a/lib/core-server/src/__snapshots__/web-components-kitchen-sink_preview-dev-posix b/lib/core-server/src/__snapshots__/web-components-kitchen-sink_preview-dev-posix index 12efbe2571e..b12bafb59c9 100644 --- a/lib/core-server/src/__snapshots__/web-components-kitchen-sink_preview-dev-posix +++ b/lib/core-server/src/__snapshots__/web-components-kitchen-sink_preview-dev-posix @@ -15,6 +15,7 @@ Object { "ROOT/addons/backgrounds/preview.js-generated-config-entry.js", "ROOT/addons/interactions/preview.js-generated-config-entry.js", "ROOT/addons/links/preview.js-generated-config-entry.js", + "ROOT/addons/highlight/preview.js-generated-config-entry.js", "ROOT/examples/web-components-kitchen-sink/.storybook/preview.js-generated-config-entry.js", "ROOT/generated-stories-entry.js", ], diff --git a/lib/core-server/src/__snapshots__/web-components-kitchen-sink_preview-prod-posix b/lib/core-server/src/__snapshots__/web-components-kitchen-sink_preview-prod-posix index 0a945360994..9d001f4e90a 100644 --- a/lib/core-server/src/__snapshots__/web-components-kitchen-sink_preview-prod-posix +++ b/lib/core-server/src/__snapshots__/web-components-kitchen-sink_preview-prod-posix @@ -14,6 +14,7 @@ Object { "ROOT/addons/backgrounds/preview.js-generated-config-entry.js", "ROOT/addons/interactions/preview.js-generated-config-entry.js", "ROOT/addons/links/preview.js-generated-config-entry.js", + "ROOT/addons/highlight/preview.js-generated-config-entry.js", "ROOT/examples/web-components-kitchen-sink/.storybook/preview.js-generated-config-entry.js", "ROOT/generated-stories-entry.js", ], From 2083ee4b7a2ff9d6b87d44e02715df5abc3fb2d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olle=20Br=C3=B6ms?= Date: Tue, 17 May 2022 19:06:57 +0200 Subject: [PATCH 29/44] Added parent wildcard sortOrder --- lib/store/src/storySort.test.ts | 15 +++++++++++++++ lib/store/src/storySort.ts | 3 ++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/store/src/storySort.test.ts b/lib/store/src/storySort.test.ts index 50976f126bd..8ffe07a3e2b 100644 --- a/lib/store/src/storySort.test.ts +++ b/lib/store/src/storySort.test.ts @@ -124,4 +124,19 @@ describe('preview.storySort', () => { expect(sortFn(fixture.a_c, fixture.a_b)).toBeLessThan(0); expect(sortFn(fixture.a_b, fixture.a_c)).toBeGreaterThan(0); }); + + it('sorts according to the nested order array with parent wildcard', () => { + const sortFn = storySort({ + order: ['*', ['*', 'b', 'a']], + includeNames: true, + }); + + expect(sortFn(fixture.a_a, fixture.a_b)).toBeGreaterThan(0); + expect(sortFn(fixture.a_b, fixture.a_a)).toBeLessThan(0); + expect(sortFn(fixture.a_c, fixture.a_a)).toBeLessThan(0); + expect(sortFn(fixture.a_c, fixture.a_b)).toBeLessThan(0); + expect(sortFn(fixture.a_a, fixture.a_c)).toBeGreaterThan(0); + expect(sortFn(fixture.a_b, fixture.a_c)).toBeGreaterThan(0); + expect(sortFn(fixture.a_a, fixture.a_a)).toBe(0); + }); }); diff --git a/lib/store/src/storySort.ts b/lib/store/src/storySort.ts index ec3d01e3040..b1d49bfb286 100644 --- a/lib/store/src/storySort.ts +++ b/lib/store/src/storySort.ts @@ -79,7 +79,8 @@ export const storySort = } // If a nested array is provided for a name, use it for ordering. - const index = order.indexOf(nameA); + let index = order.indexOf(nameA); + if (index === -1) index = order.indexOf('*'); order = index !== -1 && Array.isArray(order[index + 1]) ? order[index + 1] : []; // We'll need to look at the next part of the name. From 0e2988ca38a54ca7eddae55e11dac45e750383ca Mon Sep 17 00:00:00 2001 From: Daraphista <81943522+Daraphista@users.noreply.github.com> Date: Sun, 29 May 2022 11:47:09 +0800 Subject: [PATCH 30/44] fix(sidebar): move aria-expanded attribute to button --- lib/ui/src/components/sidebar/Tree.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ui/src/components/sidebar/Tree.tsx b/lib/ui/src/components/sidebar/Tree.tsx index 222df3e2bcf..20887cae22f 100644 --- a/lib/ui/src/components/sidebar/Tree.tsx +++ b/lib/ui/src/components/sidebar/Tree.tsx @@ -190,7 +190,6 @@ const Node = React.memo( data-ref-id={refId} data-item-id={item.id} data-nodetype="root" - aria-expanded={isExpanded} > ( event.preventDefault(); setExpanded({ ids: [item.id], value: !isExpanded }); }} + aria-expanded={isExpanded} > {item.renderLabel?.(item) || item.name} From 0206e0ec95b6b4daad1369955aedd4fc6cfa8b15 Mon Sep 17 00:00:00 2001 From: Chris Plummer Date: Thu, 16 Jun 2022 17:18:46 -0500 Subject: [PATCH 31/44] remove cpy in favor of fs-extra copy/copyFile --- lib/core-server/package.json | 1 - lib/core-server/src/build-static.ts | 5 +- lib/core-server/src/core-presets.test.ts | 6 +- yarn.lock | 92 +----------------------- 4 files changed, 9 insertions(+), 95 deletions(-) diff --git a/lib/core-server/package.json b/lib/core-server/package.json index 1ad69bfb556..7dfeb8dac54 100644 --- a/lib/core-server/package.json +++ b/lib/core-server/package.json @@ -62,7 +62,6 @@ "commander": "^6.2.1", "compression": "^1.7.4", "core-js": "^3.8.2", - "cpy": "^8.1.2", "detect-port": "^1.3.0", "express": "^4.17.1", "fs-extra": "^9.0.1", diff --git a/lib/core-server/src/build-static.ts b/lib/core-server/src/build-static.ts index e74c78f3185..22083e06e8d 100644 --- a/lib/core-server/src/build-static.ts +++ b/lib/core-server/src/build-static.ts @@ -1,5 +1,4 @@ import chalk from 'chalk'; -import cpy from 'cpy'; import fs from 'fs-extra'; import path from 'path'; import dedent from 'ts-dedent'; @@ -56,7 +55,7 @@ export async function buildStaticStandalone(options: CLIOptions & LoadOptions & } await fs.emptyDir(options.outputDir); - await cpy(defaultFavIcon, options.outputDir); + await fs.copyFile(defaultFavIcon, path.join(options.outputDir, path.basename(defaultFavIcon))); const previewBuilder: Builder = await getPreviewBuilder(options.configDir); const managerBuilder: Builder = await getManagerBuilder(options.configDir); @@ -169,7 +168,7 @@ export async function buildStaticStandalone(options: CLIOptions & LoadOptions & const startTime = process.hrtime(); // When using the prebuilt manager, we straight up copy it into the outputDir instead of building it const manager = prebuiltDir - ? cpy('**', options.outputDir, { cwd: prebuiltDir, parents: true }).then(() => {}) + ? fs.copy(prebuiltDir, options.outputDir, { dereference: true }).then(() => {}) : managerBuilder.build({ startTime, options: fullOptions }); if (options.ignorePreview) { diff --git a/lib/core-server/src/core-presets.test.ts b/lib/core-server/src/core-presets.test.ts index 4569b1dfd48..0151dfe7feb 100644 --- a/lib/core-server/src/core-presets.test.ts +++ b/lib/core-server/src/core-presets.test.ts @@ -83,7 +83,11 @@ jest.mock('@storybook/store', () => { }; }); -jest.mock('cpy', () => () => Promise.resolve()); +jest.mock('fs-extra', () => ({ + ...jest.requireActual('fs-extra'), + copyFile: jest.fn().mockResolvedValue(Promise.resolve()), + copy: jest.fn().mockResolvedValue(Promise.resolve()), +})); jest.mock('http', () => ({ ...jest.requireActual('http'), createServer: () => ({ listen: (_options, cb) => cb(), on: jest.fn() }), diff --git a/yarn.lock b/yarn.lock index 342557e467e..31c621d75e7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7683,7 +7683,6 @@ __metadata: commander: ^6.2.1 compression: ^1.7.4 core-js: ^3.8.2 - cpy: ^8.1.2 detect-port: ^1.3.0 express: ^4.17.1 fs-extra: ^9.0.1 @@ -7892,6 +7891,7 @@ __metadata: "@storybook/react": 6.5.0-rc.1 "@types/react": ^16.14.23 "@types/react-dom": ^16.9.14 + cross-env: ^7.0.3 prop-types: 15.7.2 react: 16.14.0 react-dom: 16.14.0 @@ -17999,35 +17999,6 @@ __metadata: languageName: node linkType: hard -"cp-file@npm:^7.0.0": - version: 7.0.0 - resolution: "cp-file@npm:7.0.0" - dependencies: - graceful-fs: ^4.1.2 - make-dir: ^3.0.0 - nested-error-stacks: ^2.0.0 - p-event: ^4.1.0 - checksum: db3ef3e3e466742f392ae71edb9b2cdbb314e855d97630a65de57bc1097bacf6e844f6d9d44882b8678c0de26ba7e656c2c915960435970067823372e807eafa - languageName: node - linkType: hard - -"cpy@npm:^8.1.2": - version: 8.1.2 - resolution: "cpy@npm:8.1.2" - dependencies: - arrify: ^2.0.1 - cp-file: ^7.0.0 - globby: ^9.2.0 - has-glob: ^1.0.0 - junk: ^3.1.0 - nested-error-stacks: ^2.1.0 - p-all: ^2.1.0 - p-filter: ^2.1.0 - p-map: ^3.0.0 - checksum: 84611fdd526a0582ae501a0fa1e1d55e16348c69110eb17be5fc0c087b7b2aa6caec014286b669e4f123750d01e0c4db77d32fdcdb9840c3df4d161a137a345a - languageName: node - linkType: hard - "cra-kitchen-sink@workspace:examples/cra-kitchen-sink": version: 0.0.0-use.local resolution: "cra-kitchen-sink@workspace:examples/cra-kitchen-sink" @@ -24770,15 +24741,6 @@ __metadata: languageName: node linkType: hard -"has-glob@npm:^1.0.0": - version: 1.0.0 - resolution: "has-glob@npm:1.0.0" - dependencies: - is-glob: ^3.0.0 - checksum: 2546d20b7a667304d8b2e490c2d5a4e20e799a43eb6d97c0d47c0c737bbde082a73731001c791d445b904b3f408d584477df7d2d301183e13c4b3f0a3c81787b - languageName: node - linkType: hard - "has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2": version: 1.0.2 resolution: "has-symbols@npm:1.0.2" @@ -26858,7 +26820,7 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^3.0.0, is-glob@npm:^3.1.0": +"is-glob@npm:^3.1.0": version: 3.1.0 resolution: "is-glob@npm:3.1.0" dependencies: @@ -29583,13 +29545,6 @@ __metadata: languageName: node linkType: hard -"junk@npm:^3.1.0": - version: 3.1.0 - resolution: "junk@npm:3.1.0" - checksum: 820174b9fa9a3af09aeeeeb1022df2481a2b10752ce5f65ac63924a79cb9bba83ea7c288e8d5b448951109742da5ea69a230846f4bf3c17c5c6a1d0603b63db4 - languageName: node - linkType: hard - "jwa@npm:^1.4.1": version: 1.4.1 resolution: "jwa@npm:1.4.1" @@ -33038,13 +32993,6 @@ __metadata: languageName: node linkType: hard -"nested-error-stacks@npm:^2.0.0, nested-error-stacks@npm:^2.1.0": - version: 2.1.0 - resolution: "nested-error-stacks@npm:2.1.0" - checksum: 8d4e8f81a66be0910d766b3a5972117b0a65bade2f18b2dcb414489e73f93d84dd2b88d5cbf3550b7f427c2f2bbfe2e6e2945b228eefe3328b1fde335df220d1 - languageName: node - linkType: hard - "next-tick@npm:~1.0.0": version: 1.0.0 resolution: "next-tick@npm:1.0.0" @@ -34340,15 +34288,6 @@ __metadata: languageName: node linkType: hard -"p-all@npm:^2.1.0": - version: 2.1.0 - resolution: "p-all@npm:2.1.0" - dependencies: - p-map: ^2.0.0 - checksum: 874eafa2e3f38b258f8beed34549befbc8a52a63818e0981b8beff03f592e1e1f47b8aab2483f844f2745815ffa010def58bf1edbc95614466c55411f02f3049 - languageName: node - linkType: hard - "p-cancelable@npm:^1.0.0": version: 1.1.0 resolution: "p-cancelable@npm:1.1.0" @@ -34386,24 +34325,6 @@ __metadata: languageName: node linkType: hard -"p-event@npm:^4.1.0": - version: 4.2.0 - resolution: "p-event@npm:4.2.0" - dependencies: - p-timeout: ^3.1.0 - checksum: f1b6a2fb13d47f2a8afc00150da5ece0d28940ce3d8fa562873e091d3337d298e78fee9cb18b768598ff1d11df608b2ae23868309ff6405b864a2451ccd6d25a - languageName: node - linkType: hard - -"p-filter@npm:^2.1.0": - version: 2.1.0 - resolution: "p-filter@npm:2.1.0" - dependencies: - p-map: ^2.0.0 - checksum: 5ac34b74b3b691c04212d5dd2319ed484f591c557a850a3ffc93a08cb38c4f5540be059c6b10a185773c479ca583a91ea00c7d6c9958c815e6b74d052f356645 - languageName: node - linkType: hard - "p-finally@npm:^1.0.0": version: 1.0.0 resolution: "p-finally@npm:1.0.0" @@ -34554,15 +34475,6 @@ __metadata: languageName: node linkType: hard -"p-timeout@npm:^3.1.0": - version: 3.2.0 - resolution: "p-timeout@npm:3.2.0" - dependencies: - p-finally: ^1.0.0 - checksum: 524b393711a6ba8e1d48137c5924749f29c93d70b671e6db761afa784726572ca06149c715632da8f70c090073afb2af1c05730303f915604fd38ee207b70a61 - languageName: node - linkType: hard - "p-try@npm:^1.0.0": version: 1.0.0 resolution: "p-try@npm:1.0.0" From 278c6b1ccfab6ce1367326ccd5a80fd92cd5a6c6 Mon Sep 17 00:00:00 2001 From: Chris Plummer Date: Thu, 16 Jun 2022 17:32:40 -0500 Subject: [PATCH 32/44] fix the yarn lock --- yarn.lock | 1 - 1 file changed, 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index 31c621d75e7..5934d63a4d8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7891,7 +7891,6 @@ __metadata: "@storybook/react": 6.5.0-rc.1 "@types/react": ^16.14.23 "@types/react-dom": ^16.9.14 - cross-env: ^7.0.3 prop-types: 15.7.2 react: 16.14.0 react-dom: 16.14.0 From e17e0f04a415a6cf8d06a4307d1873efff601559 Mon Sep 17 00:00:00 2001 From: Tom Coleman Date: Tue, 21 Jun 2022 13:31:48 +1000 Subject: [PATCH 33/44] Actually run the npm7 migration --- lib/cli/src/automigrate/fixes/index.ts | 2 ++ lib/cli/src/js-package-manager/NPMProxy.ts | 11 +++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/cli/src/automigrate/fixes/index.ts b/lib/cli/src/automigrate/fixes/index.ts index 566162243ed..7cc92a1bba4 100644 --- a/lib/cli/src/automigrate/fixes/index.ts +++ b/lib/cli/src/automigrate/fixes/index.ts @@ -5,6 +5,7 @@ import { vue3 } from './vue3'; import { mainjsFramework } from './mainjsFramework'; import { eslintPlugin } from './eslint-plugin'; import { builderVite } from './builder-vite'; +import { npm7 } from './npm7'; import { Fix } from '../types'; export * from '../types'; @@ -16,4 +17,5 @@ export const fixes: Fix[] = [ mainjsFramework, eslintPlugin, builderVite, + npm7, ]; diff --git a/lib/cli/src/js-package-manager/NPMProxy.ts b/lib/cli/src/js-package-manager/NPMProxy.ts index a75d7d2b69f..8f74cf57e44 100644 --- a/lib/cli/src/js-package-manager/NPMProxy.ts +++ b/lib/cli/src/js-package-manager/NPMProxy.ts @@ -23,10 +23,13 @@ export class NPMProxy extends JsPackageManager { } hasLegacyPeerDeps() { - return ( - this.executeCommand('npm', ['config', 'get', 'legacy-peer-deps', '--location=project']) === - 'true' - ); + const result = this.executeCommand('npm', [ + 'config', + 'get', + 'legacy-peer-deps', + '--location=project', + ]); + return result.trim() === 'true'; } setLegacyPeerDeps() { From 0e3bd7af0b3f7d57295f6e705d39a61e0937b99f Mon Sep 17 00:00:00 2001 From: Yann Braga Date: Wed, 22 Jun 2022 16:00:24 +0200 Subject: [PATCH 34/44] upgrade @storybook/testing-library to next --- addons/interactions/package.json | 2 +- examples/angular-cli/package.json | 2 +- examples/official-storybook/package.json | 2 +- examples/svelte-kitchen-sink/package.json | 2 +- examples/vue-3-cli/package.json | 2 +- examples/vue-kitchen-sink/package.json | 2 +- .../web-components-kitchen-sink/package.json | 2 +- package.json | 2 +- yarn.lock | 150 ++++++++++++++++-- 9 files changed, 145 insertions(+), 21 deletions(-) diff --git a/addons/interactions/package.json b/addons/interactions/package.json index d86a5ae3e0f..a9cdfc2204d 100644 --- a/addons/interactions/package.json +++ b/addons/interactions/package.json @@ -59,7 +59,7 @@ }, "devDependencies": { "@storybook/jest": "^0.0.5", - "@storybook/testing-library": "^0.0.7", + "@storybook/testing-library": "0.0.14-next.0", "formik": "^2.2.9" }, "peerDependencies": { diff --git a/examples/angular-cli/package.json b/examples/angular-cli/package.json index cf04964c67a..a4144d29e1b 100644 --- a/examples/angular-cli/package.json +++ b/examples/angular-cli/package.json @@ -54,7 +54,7 @@ "@storybook/babel-plugin-require-context-hook": "1.0.1", "@storybook/jest": "^0.0.5", "@storybook/source-loader": "6.5.0-rc.1", - "@storybook/testing-library": "^0.0.7", + "@storybook/testing-library": "0.0.14-next.0", "@types/core-js": "^2.5.4", "@types/jest": "^26.0.16", "@types/node": "^14.14.20 || ^16.0.0", diff --git a/examples/official-storybook/package.json b/examples/official-storybook/package.json index 1bd706b5591..35f2cb44eb4 100644 --- a/examples/official-storybook/package.json +++ b/examples/official-storybook/package.json @@ -36,7 +36,7 @@ "@storybook/react": "6.5.0-rc.1", "@storybook/router": "6.5.0-rc.1", "@storybook/source-loader": "6.5.0-rc.1", - "@storybook/testing-library": "^0.0.7", + "@storybook/testing-library": "0.0.14-next.0", "@storybook/theming": "6.5.0-rc.1", "@testing-library/dom": "^7.31.2", "@testing-library/user-event": "^13.1.9", diff --git a/examples/svelte-kitchen-sink/package.json b/examples/svelte-kitchen-sink/package.json index 881a8306072..9d6edc94512 100644 --- a/examples/svelte-kitchen-sink/package.json +++ b/examples/svelte-kitchen-sink/package.json @@ -24,7 +24,7 @@ "@storybook/jest": "^0.0.5", "@storybook/source-loader": "6.5.0-rc.1", "@storybook/svelte": "6.5.0-rc.1", - "@storybook/testing-library": "^0.0.7", + "@storybook/testing-library": "0.0.14-next.0", "svelte-jester": "1.3.0", "svelte-preprocess": "4.6.8" }, diff --git a/examples/vue-3-cli/package.json b/examples/vue-3-cli/package.json index f2f4f348138..f87414b6d09 100644 --- a/examples/vue-3-cli/package.json +++ b/examples/vue-3-cli/package.json @@ -20,7 +20,7 @@ "@storybook/addon-links": "6.5.0-rc.1", "@storybook/addon-storyshots": "6.5.0-rc.1", "@storybook/jest": "^0.0.5", - "@storybook/testing-library": "^0.0.7", + "@storybook/testing-library": "0.0.14-next.0", "@storybook/vue3": "6.5.0-rc.1", "@vue/cli-plugin-babel": "~4.5.0", "@vue/cli-plugin-typescript": "~4.5.0", diff --git a/examples/vue-kitchen-sink/package.json b/examples/vue-kitchen-sink/package.json index 29d40181469..042c6c94925 100644 --- a/examples/vue-kitchen-sink/package.json +++ b/examples/vue-kitchen-sink/package.json @@ -27,7 +27,7 @@ "@storybook/addons": "6.5.0-rc.1", "@storybook/jest": "^0.0.5", "@storybook/source-loader": "6.5.0-rc.1", - "@storybook/testing-library": "^0.0.7", + "@storybook/testing-library": "0.0.14-next.0", "@storybook/vue": "6.5.0-rc.1", "@vue/babel-preset-jsx": "^1.2.4", "babel-loader": "^8.0.0", diff --git a/examples/web-components-kitchen-sink/package.json b/examples/web-components-kitchen-sink/package.json index 9fc08ebcee3..f13f2d0481a 100644 --- a/examples/web-components-kitchen-sink/package.json +++ b/examples/web-components-kitchen-sink/package.json @@ -51,7 +51,7 @@ "@storybook/source-loader": "portal:../../lib/source-loader", "@storybook/store": "portal:../../lib/store", "@storybook/telemetry": "portal:../../lib/telemetry", - "@storybook/testing-library": "^0.0.7", + "@storybook/testing-library": "0.0.14-next.0", "@storybook/theming": "portal:../../lib/theming", "@storybook/ui": "portal:../../lib/ui", "@storybook/web-components": "portal:../../app/web-components", diff --git a/package.json b/package.json index 0713dc02c53..8695fe63253 100644 --- a/package.json +++ b/package.json @@ -185,7 +185,7 @@ "@storybook/store": "workspace:*", "@storybook/svelte": "workspace:*", "@storybook/telemetry": "workspace:*", - "@storybook/testing-library": "^0.0.7", + "@storybook/testing-library": "0.0.14-next.0", "@storybook/theming": "workspace:*", "@storybook/ui": "workspace:*", "@storybook/vue": "workspace:*", diff --git a/yarn.lock b/yarn.lock index 342557e467e..be9ddfd72d2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6681,7 +6681,7 @@ __metadata: "@storybook/csf": 0.0.2--canary.4566f4d.1 "@storybook/instrumenter": 6.5.0-rc.1 "@storybook/jest": ^0.0.5 - "@storybook/testing-library": ^0.0.7 + "@storybook/testing-library": 0.0.14-next.0 "@storybook/theming": 6.5.0-rc.1 core-js: ^3.8.2 formik: ^2.2.9 @@ -7051,6 +7051,28 @@ __metadata: languageName: node linkType: hard +"@storybook/addons@npm:6.5.9": + version: 6.5.9 + resolution: "@storybook/addons@npm:6.5.9" + dependencies: + "@storybook/api": 6.5.9 + "@storybook/channels": 6.5.9 + "@storybook/client-logger": 6.5.9 + "@storybook/core-events": 6.5.9 + "@storybook/csf": 0.0.2--canary.4566f4d.1 + "@storybook/router": 6.5.9 + "@storybook/theming": 6.5.9 + "@types/webpack-env": ^1.16.0 + core-js: ^3.8.2 + global: ^4.4.0 + regenerator-runtime: ^0.13.7 + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 3ee3e61abc7bff6b481374597cc6717936685222b187d173462483d77d9b284fe5650e9764f7232ae80678e4718440d712f182c01c16887d53c77a1abe262616 + languageName: node + linkType: hard + "@storybook/angular@6.5.0-rc.1, @storybook/angular@workspace:*, @storybook/angular@workspace:app/angular": version: 0.0.0-use.local resolution: "@storybook/angular@workspace:app/angular" @@ -7200,6 +7222,34 @@ __metadata: languageName: node linkType: hard +"@storybook/api@npm:6.5.9": + version: 6.5.9 + resolution: "@storybook/api@npm:6.5.9" + dependencies: + "@storybook/channels": 6.5.9 + "@storybook/client-logger": 6.5.9 + "@storybook/core-events": 6.5.9 + "@storybook/csf": 0.0.2--canary.4566f4d.1 + "@storybook/router": 6.5.9 + "@storybook/semver": ^7.3.2 + "@storybook/theming": 6.5.9 + core-js: ^3.8.2 + fast-deep-equal: ^3.1.3 + global: ^4.4.0 + lodash: ^4.17.21 + memoizerific: ^1.11.3 + regenerator-runtime: ^0.13.7 + store2: ^2.12.0 + telejson: ^6.0.8 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 6f3aaed66c27715740397ff80a01fda1e363e75165c90cb5f50e4effc00e91b2d1f58b506d2279e83a905f794988e9aaaa75d5b7380c192c954f8c6520368d67 + languageName: node + linkType: hard + "@storybook/babel-plugin-require-context-hook@npm:1.0.1": version: 1.0.1 resolution: "@storybook/babel-plugin-require-context-hook@npm:1.0.1" @@ -7375,6 +7425,17 @@ __metadata: languageName: node linkType: hard +"@storybook/channels@npm:6.5.9": + version: 6.5.9 + resolution: "@storybook/channels@npm:6.5.9" + dependencies: + core-js: ^3.8.2 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + checksum: 3011663b754fe9028076b2a27573c6ca2040eb227918c315b9e6ea4d23298b1ac305e26aa4e89c02c9120ddd475d0f49d42bcb287b84cb37953c5f99606c3ed1 + languageName: node + linkType: hard + "@storybook/cli@6.5.0-rc.1, @storybook/cli@workspace:*, @storybook/cli@workspace:lib/cli": version: 0.0.0-use.local resolution: "@storybook/cli@workspace:lib/cli" @@ -7470,6 +7531,16 @@ __metadata: languageName: node linkType: hard +"@storybook/client-logger@npm:6.5.9, @storybook/client-logger@npm:^6.4.0": + version: 6.5.9 + resolution: "@storybook/client-logger@npm:6.5.9" + dependencies: + core-js: ^3.8.2 + global: ^4.4.0 + checksum: 764aacff6859c2cfe93f90498504e6628d8c7606490f1eec835639e21f177b10f0e93cad605dadf0ca6e08f6d5e62153597de6c80570ae65d76b4c71b6884e09 + languageName: node + linkType: hard + "@storybook/codemod@6.5.0-rc.1, @storybook/codemod@workspace:*, @storybook/codemod@workspace:lib/codemod": version: 0.0.0-use.local resolution: "@storybook/codemod@workspace:lib/codemod" @@ -7651,6 +7722,15 @@ __metadata: languageName: node linkType: hard +"@storybook/core-events@npm:6.5.9": + version: 6.5.9 + resolution: "@storybook/core-events@npm:6.5.9" + dependencies: + core-js: ^3.8.2 + checksum: 5d9eb651ef528330bebe9048eec61d4e3af29fabcf3cc8d7572a94f199e2220dfa738c19d65a761de5ec377d7933316af5eb2bfd0dc8c4027cd7dd57951552bd + languageName: node + linkType: hard + "@storybook/core-server@6.5.0-rc.1, @storybook/core-server@workspace:lib/core-server": version: 0.0.0-use.local resolution: "@storybook/core-server@workspace:lib/core-server" @@ -8026,6 +8106,19 @@ __metadata: languageName: node linkType: hard +"@storybook/instrumenter@npm:^6.4.0": + version: 6.5.9 + resolution: "@storybook/instrumenter@npm:6.5.9" + dependencies: + "@storybook/addons": 6.5.9 + "@storybook/client-logger": 6.5.9 + "@storybook/core-events": 6.5.9 + core-js: ^3.8.2 + global: ^4.4.0 + checksum: df6e535759540c09cb0addd65250121a10767ea7f43d6452417208eb09f565250f52c4417c707c964b61da063ee06d15c7aa3baaa86a0a585768fc94cdb8f31d + languageName: node + linkType: hard + "@storybook/jest@npm:^0.0.5": version: 0.0.5 resolution: "@storybook/jest@npm:0.0.5" @@ -8497,7 +8590,7 @@ __metadata: "@storybook/store": "workspace:*" "@storybook/svelte": "workspace:*" "@storybook/telemetry": "workspace:*" - "@storybook/testing-library": ^0.0.7 + "@storybook/testing-library": 0.0.14-next.0 "@storybook/theming": "workspace:*" "@storybook/ui": "workspace:*" "@storybook/vue": "workspace:*" @@ -8705,6 +8798,22 @@ __metadata: languageName: node linkType: hard +"@storybook/router@npm:6.5.9": + version: 6.5.9 + resolution: "@storybook/router@npm:6.5.9" + dependencies: + "@storybook/client-logger": 6.5.9 + core-js: ^3.8.2 + memoizerific: ^1.11.3 + qs: ^6.10.0 + regenerator-runtime: ^0.13.7 + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 765977adbcaa1d06958489bd1316056c35f712f04c603a3848ed04dea3155f65369a085759913ccf19ffda3de41d429f455fbc330c3bcf7b3fdc65e9a3ddd320 + languageName: node + linkType: hard + "@storybook/semver@npm:^7.3.2": version: 7.3.2 resolution: "@storybook/semver@npm:7.3.2" @@ -8851,16 +8960,16 @@ __metadata: languageName: unknown linkType: soft -"@storybook/testing-library@npm:^0.0.7": - version: 0.0.7 - resolution: "@storybook/testing-library@npm:0.0.7" +"@storybook/testing-library@npm:0.0.14-next.0": + version: 0.0.14-next.0 + resolution: "@storybook/testing-library@npm:0.0.14-next.0" dependencies: - "@storybook/client-logger": 6.4.0-rc.5 - "@storybook/instrumenter": 6.4.0-rc.5 + "@storybook/client-logger": ^6.4.0 + "@storybook/instrumenter": ^6.4.0 "@testing-library/dom": ^8.3.0 "@testing-library/user-event": ^13.2.1 ts-dedent: ^2.2.0 - checksum: 6be4b2d418195417cd0a04e5a4f2b71a93364cb88780084714a0553c39e6b38943458511b25b101c830b332783afec98a40eefcdc663dca3f34e8f48609a4670 + checksum: fd10ebddd305743f4388ad939b90fed155b6c3a755e96a73f72d38d9afe2546a22be0c9a5d83b8b6d91742dd7be5d2e7dfcbbd630b2fa97e4ef7dde00f0824b0 languageName: node linkType: hard @@ -8924,6 +9033,21 @@ __metadata: languageName: node linkType: hard +"@storybook/theming@npm:6.5.9": + version: 6.5.9 + resolution: "@storybook/theming@npm:6.5.9" + dependencies: + "@storybook/client-logger": 6.5.9 + core-js: ^3.8.2 + memoizerific: ^1.11.3 + regenerator-runtime: ^0.13.7 + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 28b2626ab2ef4396d3e8d0fad651bf13b323318028e7b01a99c9b999f368655d7aa78dd8154396753828746d934cfbaee1575c890307893d6a3cca9655c9a60e + languageName: node + linkType: hard + "@storybook/ui@6.5.0-rc.1, @storybook/ui@workspace:*, @storybook/ui@workspace:lib/ui": version: 0.0.0-use.local resolution: "@storybook/ui@workspace:lib/ui" @@ -12959,7 +13083,7 @@ __metadata: "@storybook/babel-plugin-require-context-hook": 1.0.1 "@storybook/jest": ^0.0.5 "@storybook/source-loader": 6.5.0-rc.1 - "@storybook/testing-library": ^0.0.7 + "@storybook/testing-library": 0.0.14-next.0 "@types/core-js": ^2.5.4 "@types/jest": ^26.0.16 "@types/node": ^14.14.20 || ^16.0.0 @@ -34018,7 +34142,7 @@ __metadata: "@storybook/react": 6.5.0-rc.1 "@storybook/router": 6.5.0-rc.1 "@storybook/source-loader": 6.5.0-rc.1 - "@storybook/testing-library": ^0.0.7 + "@storybook/testing-library": 0.0.14-next.0 "@storybook/theming": 6.5.0-rc.1 "@testing-library/dom": ^7.31.2 "@testing-library/user-event": ^13.1.9 @@ -42980,7 +43104,7 @@ __metadata: "@storybook/jest": ^0.0.5 "@storybook/source-loader": 6.5.0-rc.1 "@storybook/svelte": 6.5.0-rc.1 - "@storybook/testing-library": ^0.0.7 + "@storybook/testing-library": 0.0.14-next.0 global: ^4.4.0 svelte-jester: 1.3.0 svelte-preprocess: 4.6.8 @@ -45921,7 +46045,7 @@ __metadata: "@storybook/addon-links": 6.5.0-rc.1 "@storybook/addon-storyshots": 6.5.0-rc.1 "@storybook/jest": ^0.0.5 - "@storybook/testing-library": ^0.0.7 + "@storybook/testing-library": 0.0.14-next.0 "@storybook/vue3": 6.5.0-rc.1 "@vue/cli-plugin-babel": ~4.5.0 "@vue/cli-plugin-typescript": ~4.5.0 @@ -46018,7 +46142,7 @@ __metadata: "@storybook/addons": 6.5.0-rc.1 "@storybook/jest": ^0.0.5 "@storybook/source-loader": 6.5.0-rc.1 - "@storybook/testing-library": ^0.0.7 + "@storybook/testing-library": 0.0.14-next.0 "@storybook/vue": 6.5.0-rc.1 "@vue/babel-preset-jsx": ^1.2.4 babel-loader: ^8.0.0 From 9d55444ed32c728e7f04206d8956d0da94da0369 Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Wed, 22 Jun 2022 16:15:06 +0200 Subject: [PATCH 35/44] change tsconfig so it's better, we can do Template.bind({}) and preserve typings in stories now --- tsconfig.json | 1 + 1 file changed, 1 insertion(+) diff --git a/tsconfig.json b/tsconfig.json index f3b6eb306c7..062f6ba9112 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,6 +15,7 @@ "allowSyntheticDefaultImports": true, "esModuleInterop": true, "isolatedModules": true, + "strictBindCallApply": true, "types": [ "jest" ], From 2d011763bb4ec191fed2002c36cc6765b0190212 Mon Sep 17 00:00:00 2001 From: Kyle Gach Date: Fri, 24 Jun 2022 12:48:45 -0600 Subject: [PATCH 36/44] Fix /docs 404s --- docs/configure/overview.md | 4 +- docs/configure/story-rendering.md | 2 +- docs/configure/styling-and-css.md | 4 +- docs/faq.md | 140 ++++++++++------------ docs/frameworks.js | 10 +- docs/writing-tests/interaction-testing.md | 4 +- 6 files changed, 78 insertions(+), 86 deletions(-) diff --git a/docs/configure/overview.md b/docs/configure/overview.md index c2a7fa44c02..5cc0081afff 100644 --- a/docs/configure/overview.md +++ b/docs/configure/overview.md @@ -28,7 +28,7 @@ The `main.js` configuration file is a [preset](../addons/addon-types.md) and, as - `stories` - an array of globs that indicates the [location of your story files](#configure-story-loading), relative to `main.js`. - `addons` - a list of the [addons](https://storybook.js.org/addons/) you are using. -- `webpackFinal` - custom [webpack configuration](./webpack.md#extending-storybooks-webpack-config). +- `webpackFinal` - custom [webpack configuration](../builders/webpack.md#extending-storybooks-webpack-config). - `babel` - custom [babel configuration](./babel.md). - `framework` - framework specific configurations to help the loading and building process. @@ -185,7 +185,7 @@ You can also use Storybook's API to configure your project with TypeScript. Unde | `features` | Enables Storybook's additional features.
See table below for a list of available features `features: { storyStoreV7: true }` | | `refs` | Configures [Storybook composition](../sharing/storybook-composition.md)
`refs:{ example: { title: 'ExampleStorybook', url:'https://your-url.com' } }` | | `logLevel` | Configures Storybook's logs in the browser terminal. Useful for debugging
`logLevel: 'debug'` | -| `webpackFinal` | Customize Storybook's [Webpack](./webpack.md) setup
`webpackFinal: async (config:any) => { return config; }` | +| `webpackFinal` | Customize Storybook's [Webpack](../builders/webpack.md) setup
`webpackFinal: async (config:any) => { return config; }` | | `env` | Defines custom Storybook [environment variables](./environment-variables.md#using-storybook-configuration).
`env: (config) => ({...config, EXAMPLE_VAR: 'Example var' }),` | ## Configure story rendering diff --git a/docs/configure/story-rendering.md b/docs/configure/story-rendering.md index 360dde244f1..f930fe1e376 100644 --- a/docs/configure/story-rendering.md +++ b/docs/configure/story-rendering.md @@ -2,7 +2,7 @@ title: 'Story rendering' --- -In Storybook, your stories render in a particular “preview” iframe (Canvas tab) inside the larger Storybook web application. The JavaScript build configuration of the preview is controlled by a [webpack](./webpack.md) config, but you also may want to directly control the rendered HTML to help your stories render correctly. +In Storybook, your stories render in a particular “preview” iframe (Canvas tab) inside the larger Storybook web application. The JavaScript build configuration of the preview is controlled by a [webpack](../builders/webpack.md) config, but you also may want to directly control the rendered HTML to help your stories render correctly. ## Adding to <head> diff --git a/docs/configure/styling-and-css.md b/docs/configure/styling-and-css.md index 2253874499f..a6c01a6589b 100644 --- a/docs/configure/styling-and-css.md +++ b/docs/configure/styling-and-css.md @@ -10,7 +10,7 @@ CSS-in-JS libraries are designed to use basic JavaScript, and they often work in ### Importing CSS files -If your component files import their CSS, Storybook's webpack configuration will work out of the box. The noticeable exception to this is if you're using a CSS precompiler. In this case, you can either install and configure a Storybook preset (e.g., [SCSS preset](https://github.com/storybookjs/presets/tree/master/packages/preset-scss)), or customize [Storybook's webpack configuration](./webpack.md#extending-storybooks-webpack-config) and include the appropriate loader. +If your component files import their CSS, Storybook's webpack configuration will work out of the box. The noticeable exception to this is if you're using a CSS precompiler. In this case, you can either install and configure a Storybook preset (e.g., [SCSS preset](https://github.com/storybookjs/presets/tree/master/packages/preset-scss)), or customize [Storybook's webpack configuration](../builders/webpack.md#extending-storybooks-webpack-config) and include the appropriate loader. @@ -18,4 +18,4 @@ To use your CSS in all stories, you import it in [`.storybook/preview.js`](./ove ### Adding webfonts -If you need webfonts to be available, you may need to add some code to the [`.storybook/preview-head.html`](./story-rendering.md#adding-to-head) file. We recommend including any assets with your Storybook if possible, in which case you likely want to configure the [static file location](./images-and-assets.md#serving-static-files-via-storybook-configuration). \ No newline at end of file +If you need webfonts to be available, you may need to add some code to the [`.storybook/preview-head.html`](./story-rendering.md#adding-to-head) file. We recommend including any assets with your Storybook if possible, in which case you likely want to configure the [static file location](./images-and-assets.md#serving-static-files-via-storybook-configuration). diff --git a/docs/faq.md b/docs/faq.md index f05062edf05..21f9d717989 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -145,72 +145,70 @@ With the release of version 6.0, we updated our documentation as well. That does We're only covering versions 5.3 and 5.0 as they were important milestones for Storybook. If you want to go back in time a little more, you'll have to check the specific release in the monorepo. - -| Section | Page | Current Location | Version 5.3 location | Version 5.0 location | -|------------------|-------------------------------------------|-----------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------| -| Get started | Install | [See current documentation](./get-started/install.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/guides/quick-start-guide) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/guides/quick-start-guide) | -| | What's a story | [See current documentation](./get-started/whats-a-story.md) | [See versioned documentation for your framework](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/guides) | [See versioned documentation for your framework](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/guides) | -| | Browse Stories | [See current documentation](./get-started/browse-stories.md) | [See versioned documentation for your framework](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/guides) | [See versioned documentation for your framework](https://github.com/storybookjs/storybook/blob/release/5.0/docs/src/pages/guides) | -| | Setup | [See current documentation](./get-started/setup.md) | [See versioned documentation for your framework](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/guides) | [See versioned documentation for your framework](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/guides) | -| Write stories | Introduction | [See current documentation](./writing-stories/introduction.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/basics/writing-stories) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/basics/writing-stories) | -| | Parameters | [See current documentation](./writing-stories/parameters.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/basics/writing-stories/index.md#parameters) | Non existing feature or undocumented | -| | Decorators | [See current documentation](./writing-stories/decorators.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/basics/writing-stories/index.md#decorators) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/basics/writing-stories/index.md#using-decorators) | -| | Naming components and hierarchy | [See current documentation](./writing-stories/naming-components-and-hierarchy.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/basics/writing-stories) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/basics/writing-stories) | -| | Build pages and screens | [See current documentation](./writing-stories/build-pages-with-storybook.md) | Non existing feature or undocumented | Non existing feature or undocumented | -| | Stories for multiple components | [See current documentation](./writing-stories/stories-for-multiple-components.md) | Non existing feature or undocumented | Non existing feature or undocumented | -| Write docs | DocsPage | [See current documentation](./writing-docs/docs-page.md) | See versioned addon documentation | Non existing feature or undocumented | -| | MDX | [See current documentation](./writing-docs/mdx.md) | See versioned addon documentation | Non existing feature or undocumented | -| | Doc Blocks/Argstable | [See current documentation](./writing-docs/doc-block-argstable.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | -| | Doc Blocks/Canvas | [See current documentation](./writing-docs/doc-block-canvas.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | -| | Doc Blocks/Color Palette | [See current documentation](./writing-docs/doc-block-colorpalette.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | -| | Doc Blocks/Description | [See current documentation](./writing-docs/doc-block-description.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | -| | Doc Blocks/Icon Gallery | [See current documentation](./writing-docs/doc-block-icongallery.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | -| | Doc Blocks/Source | [See current documentation](./writing-docs/doc-block-source.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | -| | Doc Blocks/Story | [See current documentation](./writing-docs/doc-block-story.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | -| | Doc Blocks/Typeset | [See current documentation](./writing-docs/doc-block-typeset.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | -| | Preview and build docs | [See current documentation](./writing-docs/build-documentation.md) | Non existing feature or undocumented | Non existing feature or undocumented | -| Testing | Visual tests | [See current documentation](./writing-tests/visual-testing.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/testing/automated-visual-testing) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/testing/automated-visual-testing) | -| | Accessibility tests | [See current documentation](./writing-tests/accessibility-testing.md) | Non existing feature or undocumented | Non existing feature or undocumented | -| | Interaction tests | [See current documentation](./writing-tests/interaction-testing.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/testing/interaction-testing) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/testing/interaction-testing) | -| | Snapshot tests | [See current documentation](./writing-tests/snapshot-testing.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/testing/structural-testing) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/testing/structural-testing) | -| | Import stories in tests | [See current documentation](./writing-tests/importing-stories-in-tests.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/testing/react-ui-testing) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/testing/react-ui-testing) | -| Sharing | Publish Storybook | [See current documentation](./sharing/publish-storybook.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/basics/exporting-storybook) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/basics/exporting-storybook) | -| | Embed | [See current documentation](./sharing/embed.md) | Non existing feature or undocumented | Non existing feature or undocumented | -| | Composition | [See current documentation](./sharing/storybook-composition.md) | Non existing feature or undocumented | Non existing feature or undocumented | -| | Package Composition | [See current documentation](./sharing/package-composition.md) | Non existing feature or undocumented | Non existing feature or undocumented | -| Essential addons | Controls | [See current documentation](./essentials/controls.md) | Controls are specific to version 6.0 see [Knobs versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/knobs) | Controls are specific to version 6.0 see [Knobs versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/addons/knobs) | -| | Actions | [See current documentation](./essentials/actions.md) | [See addon versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/actions) | [See addon versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/addons/actions) | -| | Viewport | [See current documentation](./essentials/viewport.md) | [See addon versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/viewport) | [See addon versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/addons/viewport) | -| | Backgrounds | [See current documentation](./essentials/backgrounds.md) | [See addon versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/backgrounds) | [See addon versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/addons/backgrounds) | -| | Toolbars and globals | [See current documentation](./essentials/toolbars-and-globals.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/basics/toolbar-guide) | Non existing feature or undocumented | -| Configure | Overview | [See current documentation](./configure/overview.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/overview) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/basics/writing-stories) | -| | Integration/Babel | [See current documentation](./configure/babel.md) | See versioned documentation here and [here](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/custom-babel-config) | See versioned documentation here and [here](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/custom-babel-config) | -| | Integration/Typescript | [See current documentation](./configure/typescript.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/typescript-config) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/typescript-config) | -| | Integration/Styling and CSS | [See current documentation](./configure/styling-and-css.md) | See versioned documentation | See versioned documentation | -| | Integration/Images and assets | [See current documentation](./configure/images-and-assets.md) | See versioned documentation | See versioned documentation | -| | Story rendering | [See current documentation](./configure/story-rendering.md) | See versioned documentation [here](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/add-custom-head-tags) and [here](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/add-custom-body) | See versioned documentation [here](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/add-custom-head-tags) | -| | Story Layout | [See current documentation](./configure/story-layout.md) | Non existing feature or undocumented | Non existing feature or undocumented | -| | User Interface/Features and behavior | [See current documentation](./configure/features-and-behavior.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/options-parameter) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/options-parameter) | -| | User Interface/Theming | [See current documentation](./configure/theming.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/theming) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/theming) | -| | User Interface/Sidebar & URLS | [See current documentation](./configure/sidebar-and-urls.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/options-parameter) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/options-parameter) | -| | Environment variables | [See current documentation](./configure/environment-variables.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/env-vars) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/env-vars) | -| Builders | Introduction | [See current documentation](./builders/overview.md) | Non existing feature or undocumented | Non existing feature or undocumented | -| | Vite | [See current documentation](./builders/vite.md) | Non existing feature or undocumented | Non existing feature or undocumented | -| | Webpack | [See current documentation](./builders/webpack.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/custom-webpack-config/index.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/custom-webpack-config/index.md) | -| | Builder API | [See current documentation](./builders/builder-api.md) | Non existing feature or undocumented | Non existing feature or undocumented | -| Addons | Introduction | [See current documentation](./addons/introduction.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/addons/writing-addons) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/addons/writing-addons) | -| | Install addons | [See current documentation](./addons/install-addons.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/addons/using-addons/) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/addons/using-addons/) | -| | Writing Addons | [See current documentation](./addons/writing-addons.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/addons/writing-addons) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/addons/writing-addons) | -| | Writing Presets | [See current documentation](./addons/writing-presets.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/presets/writing-presets) | Non existing feature or undocumented | -| | Addons Knowledge Base | [See current documentation](./addons/addon-knowledge-base.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/addons/writing-addons) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/addons/writing-addons) | -| | Types of addons | [See current documentation](./addons/addon-types.md) | Non existing feature or undocumented | Non existing feature or undocumented | -| | Addons API | [See current documentation](./addons/addons-api.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/addons/api) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/addons/api) | -| API | Stories/Component Story Format | [See current documentation](./api/csf.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/formats/component-story-format) | Non existing feature or undocumented | -| | Stories/MDX syntax | [See current documentation](./api/mdx.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/formats/mdx-syntax) | Non existing feature or undocumented | -| | Stories/StoriesOF format (see note below) | [See current documentation](../lib/core/docs/storiesOf.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/formats/storiesof-api) | Non existing feature or undocumented | -| | Frameworks | [See current documentation](./api/new-frameworks.md) | Non existing feature or undocumented | Non existing feature or undocumented | -| | CLI options | [See current documentation](./api/cli-options.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/cli-options) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/cli-options) | - +| Section | Page | Current Location | Version 5.3 location | Version 5.0 location | +| ---------------- | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Get started | Install | [See current documentation](./get-started/install.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/guides/quick-start-guide) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/guides/quick-start-guide) | +| | What's a story | [See current documentation](./get-started/whats-a-story.md) | [See versioned documentation for your framework](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/guides) | [See versioned documentation for your framework](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/guides) | +| | Browse Stories | [See current documentation](./get-started/browse-stories.md) | [See versioned documentation for your framework](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/guides) | [See versioned documentation for your framework](https://github.com/storybookjs/storybook/blob/release/5.0/docs/src/pages/guides) | +| | Setup | [See current documentation](./get-started/setup.md) | [See versioned documentation for your framework](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/guides) | [See versioned documentation for your framework](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/guides) | +| Write stories | Introduction | [See current documentation](./writing-stories/introduction.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/basics/writing-stories) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/basics/writing-stories) | +| | Parameters | [See current documentation](./writing-stories/parameters.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/basics/writing-stories/index.md#parameters) | Non existing feature or undocumented | +| | Decorators | [See current documentation](./writing-stories/decorators.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/basics/writing-stories/index.md#decorators) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/basics/writing-stories/index.md#using-decorators) | +| | Naming components and hierarchy | [See current documentation](./writing-stories/naming-components-and-hierarchy.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/basics/writing-stories) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/basics/writing-stories) | +| | Build pages and screens | [See current documentation](./writing-stories/build-pages-with-storybook.md) | Non existing feature or undocumented | Non existing feature or undocumented | +| | Stories for multiple components | [See current documentation](./writing-stories/stories-for-multiple-components.md) | Non existing feature or undocumented | Non existing feature or undocumented | +| Write docs | DocsPage | [See current documentation](./writing-docs/docs-page.md) | See versioned addon documentation | Non existing feature or undocumented | +| | MDX | [See current documentation](./writing-docs/mdx.md) | See versioned addon documentation | Non existing feature or undocumented | +| | Doc Blocks/Argstable | [See current documentation](./writing-docs/doc-block-argstable.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | +| | Doc Blocks/Canvas | [See current documentation](./writing-docs/doc-block-canvas.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | +| | Doc Blocks/Color Palette | [See current documentation](./writing-docs/doc-block-colorpalette.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | +| | Doc Blocks/Description | [See current documentation](./writing-docs/doc-block-description.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | +| | Doc Blocks/Icon Gallery | [See current documentation](./writing-docs/doc-block-icongallery.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | +| | Doc Blocks/Source | [See current documentation](./writing-docs/doc-block-source.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | +| | Doc Blocks/Story | [See current documentation](./writing-docs/doc-block-story.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | +| | Doc Blocks/Typeset | [See current documentation](./writing-docs/doc-block-typeset.md) | [See versioned addon documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/docs/) | Non existing feature or undocumented | +| | Preview and build docs | [See current documentation](./writing-docs/build-documentation.md) | Non existing feature or undocumented | Non existing feature or undocumented | +| Testing | Visual tests | [See current documentation](./writing-tests/visual-testing.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/testing/automated-visual-testing) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/testing/automated-visual-testing) | +| | Accessibility tests | [See current documentation](./writing-tests/accessibility-testing.md) | Non existing feature or undocumented | Non existing feature or undocumented | +| | Interaction tests | [See current documentation](./writing-tests/interaction-testing.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/testing/interaction-testing) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/testing/interaction-testing) | +| | Snapshot tests | [See current documentation](./writing-tests/snapshot-testing.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/testing/structural-testing) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/testing/structural-testing) | +| | Import stories in tests | [See current documentation](./writing-tests/importing-stories-in-tests.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/testing/react-ui-testing) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/testing/react-ui-testing) | +| Sharing | Publish Storybook | [See current documentation](./sharing/publish-storybook.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/basics/exporting-storybook) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/basics/exporting-storybook) | +| | Embed | [See current documentation](./sharing/embed.md) | Non existing feature or undocumented | Non existing feature or undocumented | +| | Composition | [See current documentation](./sharing/storybook-composition.md) | Non existing feature or undocumented | Non existing feature or undocumented | +| | Package Composition | [See current documentation](./sharing/package-composition.md) | Non existing feature or undocumented | Non existing feature or undocumented | +| Essential addons | Controls | [See current documentation](./essentials/controls.md) | Controls are specific to version 6.0 see [Knobs versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/knobs) | Controls are specific to version 6.0 see [Knobs versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/addons/knobs) | +| | Actions | [See current documentation](./essentials/actions.md) | [See addon versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/actions) | [See addon versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/addons/actions) | +| | Viewport | [See current documentation](./essentials/viewport.md) | [See addon versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/viewport) | [See addon versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/addons/viewport) | +| | Backgrounds | [See current documentation](./essentials/backgrounds.md) | [See addon versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/addons/backgrounds) | [See addon versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/addons/backgrounds) | +| | Toolbars and globals | [See current documentation](./essentials/toolbars-and-globals.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/basics/toolbar-guide) | Non existing feature or undocumented | +| Configure | Overview | [See current documentation](./configure/overview.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/overview) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/basics/writing-stories) | +| | Integration/Babel | [See current documentation](./configure/babel.md) | See versioned documentation here and [here](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/custom-babel-config) | See versioned documentation here and [here](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/custom-babel-config) | +| | Integration/Typescript | [See current documentation](./configure/typescript.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/typescript-config) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/typescript-config) | +| | Integration/Styling and CSS | [See current documentation](./configure/styling-and-css.md) | See versioned documentation | See versioned documentation | +| | Integration/Images and assets | [See current documentation](./configure/images-and-assets.md) | See versioned documentation | See versioned documentation | +| | Story rendering | [See current documentation](./configure/story-rendering.md) | See versioned documentation [here](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/add-custom-head-tags) and [here](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/add-custom-body) | See versioned documentation [here](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/add-custom-head-tags) | +| | Story Layout | [See current documentation](./configure/story-layout.md) | Non existing feature or undocumented | Non existing feature or undocumented | +| | User Interface/Features and behavior | [See current documentation](./configure/features-and-behavior.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/options-parameter) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/options-parameter) | +| | User Interface/Theming | [See current documentation](./configure/theming.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/theming) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/theming) | +| | User Interface/Sidebar & URLS | [See current documentation](./configure/sidebar-and-urls.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/options-parameter) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/options-parameter) | +| | Environment variables | [See current documentation](./configure/environment-variables.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/env-vars) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/env-vars) | +| Builders | Introduction | [See current documentation](./builders/overview.md) | Non existing feature or undocumented | Non existing feature or undocumented | +| | Vite | [See current documentation](./builders/vite.md) | Non existing feature or undocumented | Non existing feature or undocumented | +| | Webpack | [See current documentation](./builders/webpack.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/custom-webpack-config/index.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/custom-webpack-config/index.md) | +| | Builder API | [See current documentation](./builders/builder-api.md) | Non existing feature or undocumented | Non existing feature or undocumented | +| Addons | Introduction | [See current documentation](./addons/introduction.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/addons/writing-addons) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/addons/writing-addons) | +| | Install addons | [See current documentation](./addons/install-addons.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/addons/using-addons/) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/addons/using-addons/) | +| | Writing Addons | [See current documentation](./addons/writing-addons.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/addons/writing-addons) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/addons/writing-addons) | +| | Writing Presets | [See current documentation](./addons/writing-presets.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/presets/writing-presets) | Non existing feature or undocumented | +| | Addons Knowledge Base | [See current documentation](./addons/addon-knowledge-base.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/addons/writing-addons) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/addons/writing-addons) | +| | Types of addons | [See current documentation](./addons/addon-types.md) | Non existing feature or undocumented | Non existing feature or undocumented | +| | Addons API | [See current documentation](./addons/addons-api.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/addons/api) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/addons/api) | +| API | Stories/Component Story Format | [See current documentation](./api/csf.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/formats/component-story-format) | Non existing feature or undocumented | +| | Stories/MDX syntax | [See current documentation](./api/mdx.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/formats/mdx-syntax) | Non existing feature or undocumented | +| | Stories/StoriesOF format (see note below) | [See current documentation](https://github.com/storybookjs/storybook/blob/next/lib/core/docs/storiesOf.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/formats/storiesof-api) | Non existing feature or undocumented | +| | Frameworks | [See current documentation](./api/new-frameworks.md) | Non existing feature or undocumented | Non existing feature or undocumented | +| | CLI options | [See current documentation](./api/cli-options.md) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.3/docs/src/pages/configurations/cli-options) | [See versioned documentation](https://github.com/storybookjs/storybook/tree/release/5.0/docs/src/pages/configurations/cli-options) |
With the release of version 5.3, we've updated how you can write your stories more compactly and easily. It doesn't mean that the storiesOf format has been removed. For the time being, we're still supporting it, and we have documentation for it. But be advised that this is bound to change in the future. @@ -285,7 +283,6 @@ See our documentation on how to customize the [Storyshots configuration](./writi Currently there's an issue when using MDX stories with IE11. This issue does not apply to [DocsPage](./writing-docs/docs-page.md). If you're interested in helping us fix this issue, read our Contribution guidelines and submit a pull request. - ### Why aren't my code blocks highlighted with Storybook MDX Out of the box, Storybook provides syntax highlighting for a set of languages (e.g., Javascript, Markdown, CSS, HTML, Typescript, GraphQL) that you can use with your code blocks. If you're writing your custom code blocks with MDX, you'll need to import the syntax highlighter manually. For example, if you're adding a code block for SCSS, adjust your story to the following: @@ -341,7 +338,6 @@ You'll need to update it to make it compatible with MDX 2. See the following [issue](https://github.com/mdx-js/mdx/issues/1945) for more information. - ### Why can't I import my own stories into MDX 2? This is a known issue with MDX 2. We're working to fix it. For now you can apply the following workaround: @@ -351,12 +347,11 @@ This is a known issue with MDX 2. We're working to fix it. For now you can apply import { Story } from '@storybook/addon-docs'; -import * as stories from './Button.stories.jsx'; +import \* as stories from './Button.stories.jsx'; ``` - ### Why are my mocked GraphQL queries failing with Storybook's MSW addon? If you're working with Vue 3, you'll need to install [`@vue/apollo-composable`](https://www.npmjs.com/package/@vue/apollo-composable). With Svelte, you'll need to install [`@rollup/plugin-replace`](https://www.npmjs.com/package/@rollup/plugin-replace) and update your `rollup.config` file to the following: @@ -399,8 +394,6 @@ Yes, check the [addon's examples](https://github.com/mswjs/msw-storybook-addon/t No, currently, the MSW addon only has support for GraphQL queries. If you're interested in including this feature, open an issue in the [MSW addon repository](https://github.com/mswjs/msw-storybook-addon) and follow up with the maintainer. - - ### How can my code detect if it is running in Storybook? You can do this by checking for the `IS_STORYBOOK` global variable, which will equal `true` when running in Storybook. The environment variable `process.env.STORYBOOK` is also set to `true`. @@ -477,11 +470,10 @@ export default { There's an issue with Storybook's test runner and the latest version of Jest (i.e., version 28), which prevents it from running effectively. As a workaround, you can downgrade Jest to the previous stable version (i.e., version 27), and you'll be able to run it. See the following [issue](https://github.com/storybookjs/test-runner/issues/99) for more information. - ### How does Storybook handles enviroment variables? Storybook has built-in support for [environment variables](./configure/environment-variables.md). By default, environment variables are only available in Node.js code and are not available in the browser as some variables should be kept secret (e.g., API keys) and **not** exposed to anyone visiting the published Storybook. To expose a variable, you must preface its name with `STORYBOOK_`. So `STORYBOOK_API_URL` will be available in browser code but `API_KEY` will not. Additionally you can also customize which variables are exposed by setting the [`env`](./configure/environment-variables.md#using-storybook-configuration) field in the `.storybook/main.js` file. -Variables are set when JavaScript is compiled so when the development server is started or you build your Storybook. Environment variable files should not be committed to Git as they often contain secrets which are not safe to add to Git. Instead, add `.env.*` to your `.gitignore` file and set up the environment variables manually on your hosting provider (e.g., [GitHub](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository)). \ No newline at end of file +Variables are set when JavaScript is compiled so when the development server is started or you build your Storybook. Environment variable files should not be committed to Git as they often contain secrets which are not safe to add to Git. Instead, add `.env.*` to your `.gitignore` file and set up the environment variables manually on your hosting provider (e.g., [GitHub](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository)). diff --git a/docs/frameworks.js b/docs/frameworks.js index e634b6612c4..8d2e1156f7b 100644 --- a/docs/frameworks.js +++ b/docs/frameworks.js @@ -117,27 +117,27 @@ module.exports = { { name: 'Source', unsupported: [], - path: 'writing-docs/doc-blocks#source', + path: 'writing-docs/doc-block-source', }, { name: 'Dynamic source', supported: ['react', 'vue', 'angular', 'svelte', 'web-components', 'html'], - path: 'writing-docs/doc-blocks#source', + path: 'writing-docs/doc-block-source', }, { name: 'Args Table', supported: ['react', 'vue', 'angular', 'html', 'ember', 'web-components', 'svelte'], - path: 'writing-docs/doc-blocks#argstable', + path: 'writing-docs/doc-block-argstable', }, { name: 'Description', supported: ['react', 'vue', 'angular', 'ember', 'web-components'], - path: 'writing-docs/doc-blocks#description', + path: 'writing-docs/doc-block-description', }, { name: 'Inline stories', supported: ['react', 'vue', 'web-components', 'html', 'svelte', 'angular'], - path: 'writing-docs/doc-blocks#inline-rendering', + path: 'writing-docs/docs-page#inline-stories-vs-iframe-stories', }, ], }, diff --git a/docs/writing-tests/interaction-testing.md b/docs/writing-tests/interaction-testing.md index 1b86c56dfc0..d4d74ea0ca4 100644 --- a/docs/writing-tests/interaction-testing.md +++ b/docs/writing-tests/interaction-testing.md @@ -157,7 +157,7 @@ Interaction tests can be expensive to maintain when applied wholesale to every c - [Test runner](./test-runner.md) to automate test execution - [Visual tests](./visual-testing.md) for appearance -- [Accessibility tests](accessibility-testing.md) for accessibility +- [Accessibility tests](./accessibility-testing.md) for accessibility - Interaction tests for user behavior simulation - [Snapshot tests](./snapshot-testing.md) for rendering errors and warnings -- [Import stories in other tests](./importing-stories-in-tests.md) for other tools \ No newline at end of file +- [Import stories in other tests](./importing-stories-in-tests.md) for other tools From 338923712270c47f95b5dd64444c44c08865d7c6 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Fri, 24 Jun 2022 20:20:54 +0100 Subject: [PATCH 37/44] Update whats-a-story.md --- docs/get-started/whats-a-story.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/get-started/whats-a-story.md b/docs/get-started/whats-a-story.md index 8425cc063cf..c349c176878 100644 --- a/docs/get-started/whats-a-story.md +++ b/docs/get-started/whats-a-story.md @@ -93,6 +93,6 @@ Stories are also helpful for checking that UI continues to look correct as you m /> -Checking component’s stories as you develop helps prevent accidental regressions. Tools that integrate with Storybook can also [automate](../writing-tests/introduction.md) this for you. +Checking component’s stories as you develop helps prevent accidental regressions. [Tools that integrate with Storybook can automate this](../writing-tests/introduction.md) for you. Now that we’ve seen the basic anatomy of a story let’s see how we use Storybook’s UI to develop stories. From b0cf7bbb558762a4951d105839992e0d4e63372b Mon Sep 17 00:00:00 2001 From: Kyle Gach Date: Fri, 24 Jun 2022 14:38:09 -0600 Subject: [PATCH 38/44] Fix formatting of `docs/faq.md` - Prettier screwed it up in 2d011763bb --- docs/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index 21f9d717989..cc1dec1ca45 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -347,7 +347,7 @@ This is a known issue with MDX 2. We're working to fix it. For now you can apply import { Story } from '@storybook/addon-docs'; -import \* as stories from './Button.stories.jsx'; +import * as stories from './Button.stories.jsx'; ``` From c57c1015570c4c8300313e7ed14ea404a29cf7e9 Mon Sep 17 00:00:00 2001 From: Kyle Gach Date: Fri, 24 Jun 2022 16:36:20 -0600 Subject: [PATCH 39/44] Fix syntax error in `test-runner.md` --- docs/writing-tests/test-runner.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/writing-tests/test-runner.md b/docs/writing-tests/test-runner.md index 1940f87630c..e72bd820545 100644 --- a/docs/writing-tests/test-runner.md +++ b/docs/writing-tests/test-runner.md @@ -45,7 +45,6 @@ Start your Storybook with: 'angular/storybook-run-dev.with-builder.js.mdx', 'common/storybook-run-dev.yarn.js.mdx', 'common/storybook-run-dev.npm.js.mdx', - ]} /> From a86531d10d64a6515c416ff465d5863944299bff Mon Sep 17 00:00:00 2001 From: Sruthi Sanigarapu Date: Mon, 20 Jun 2022 23:37:25 -0500 Subject: [PATCH 40/44] Update document to show storybook initialization using npm. npx storybook init command is installing storybook using yarn by default on projects that use npm. This leads to clobbering of package.lock when storybook addons are installed using npm. This update will show users how to initialize storybook using npm. --- docs/get-started/installation-problems/angular.mdx | 7 +++++++ docs/get-started/installation-problems/ember.mdx | 7 +++++++ docs/get-started/installation-problems/preact.mdx | 7 +++++++ docs/get-started/installation-problems/react.mdx | 7 +++++++ docs/get-started/installation-problems/svelte.mdx | 7 +++++++ docs/get-started/installation-problems/vue.mdx | 7 +++++++ 6 files changed, 42 insertions(+) diff --git a/docs/get-started/installation-problems/angular.mdx b/docs/get-started/installation-problems/angular.mdx index 773e23f801a..c0c463e548b 100644 --- a/docs/get-started/installation-problems/angular.mdx +++ b/docs/get-started/installation-problems/angular.mdx @@ -1,3 +1,10 @@ +- Storybook's CLI provides support for both [Yarn](https://yarnpkg.com/) and [npm](https://www.npmjs.com/) package managers. + If you have Yarn installed in your environment but prefer to use npm as your default package manager add the `--use-npm` flag to your installation command. For example: + + ```shell + npx storybook init --use-npm + ``` + - Add the `--type angular` flag to the installation command to set up Storybook manually: ```shell diff --git a/docs/get-started/installation-problems/ember.mdx b/docs/get-started/installation-problems/ember.mdx index 23856fe3d54..7a7698e3d84 100644 --- a/docs/get-started/installation-problems/ember.mdx +++ b/docs/get-started/installation-problems/ember.mdx @@ -1,3 +1,10 @@ +- Storybook's CLI provides support for both [Yarn](https://yarnpkg.com/) and [npm](https://www.npmjs.com/) package managers. + If you have Yarn installed in your environment but prefer to use npm as your default package manager add the `--use-npm` flag to your installation command. For example: + + ```shell + npx storybook init --use-npm + ``` + - Add the `--type ember` flag to the installation command to set up Storybook manually: ```shell diff --git a/docs/get-started/installation-problems/preact.mdx b/docs/get-started/installation-problems/preact.mdx index 3b1a2b94a1b..593f0c13ef3 100644 --- a/docs/get-started/installation-problems/preact.mdx +++ b/docs/get-started/installation-problems/preact.mdx @@ -1,3 +1,10 @@ +- Storybook's CLI provides support for both [Yarn](https://yarnpkg.com/) and [npm](https://www.npmjs.com/) package managers. + If you have Yarn installed in your environment but prefer to use npm as your default package manager add the `--use-npm` flag to your installation command. For example: + + ```shell + npx storybook init --use-npm + ``` + - Add the `--type preact` flag to the installation command to set up Storybook manually: ```shell diff --git a/docs/get-started/installation-problems/react.mdx b/docs/get-started/installation-problems/react.mdx index 36f517bcdaf..0acc6ef29f9 100644 --- a/docs/get-started/installation-problems/react.mdx +++ b/docs/get-started/installation-problems/react.mdx @@ -1,3 +1,10 @@ +- Storybook's CLI provides support for both [Yarn](https://yarnpkg.com/) and [npm](https://www.npmjs.com/) package managers. + If you have Yarn installed in your environment but prefer to use npm as your default package manager add the `--use-npm` flag to your installation command. For example: + + ```shell + npx storybook init --use-npm + ``` + - Add the `--type react` flag to the installation command to set up Storybook manually: ```shell diff --git a/docs/get-started/installation-problems/svelte.mdx b/docs/get-started/installation-problems/svelte.mdx index 2b53693d98c..68f248b11ec 100644 --- a/docs/get-started/installation-problems/svelte.mdx +++ b/docs/get-started/installation-problems/svelte.mdx @@ -1,3 +1,10 @@ +- Storybook's CLI provides support for both [Yarn](https://yarnpkg.com/) and [npm](https://www.npmjs.com/) package managers. + If you have Yarn installed in your environment but prefer to use npm as your default package manager add the `--use-npm` flag to your installation command. For example: + + ```shell + npx storybook init --use-npm + ``` + - Add the `--type svelte` flag to the installation command to set up Storybook manually: ```shell diff --git a/docs/get-started/installation-problems/vue.mdx b/docs/get-started/installation-problems/vue.mdx index 61ab98ead51..d0c276ff497 100644 --- a/docs/get-started/installation-problems/vue.mdx +++ b/docs/get-started/installation-problems/vue.mdx @@ -1,3 +1,10 @@ +- Storybook's CLI provides support for both [Yarn](https://yarnpkg.com/) and [npm](https://www.npmjs.com/) package managers. + If you have Yarn installed in your environment but prefer to use npm as your default package manager add the `--use-npm` flag to your installation command. For example: + + ```shell + npx storybook init --use-npm + ``` + - Add the `--type vue` (for Vue 2), or `--type vue3` (for Vue 3) flag to the installation command to set up Storybook manually: ```shell From 19d9cc2ba3b89af8d967f6183167a553ba6a216c Mon Sep 17 00:00:00 2001 From: Matthew Smith Date: Sat, 18 Jun 2022 22:24:29 -0400 Subject: [PATCH 41/44] Add html framework examples for the introduction docs --- .../button-story-component-decorator.js.mdx | 21 ++++++++++++ .../button-story-component-decorator.ts.mdx | 23 +++++++++++++ .../html/button-story-default-exports.js.mdx | 13 ++++++++ .../html/button-story-default-exports.ts.mdx | 15 +++++++++ .../html/button-story-rename-story.js.mdx | 16 ++++++++++ .../html/button-story-rename-story.ts.mdx | 18 +++++++++++ .../html/button-story-using-args.js.mdx | 26 +++++++++++++++ .../html/button-story-using-args.ts.mdx | 27 ++++++++++++++++ .../html/button-story-with-args.js.mdx | 2 ++ .../html/button-story-with-args.ts.mdx | 11 +++++-- .../html/button-story-with-blue-args.js.mdx | 25 +++++++++++++++ .../html/button-story-with-blue-args.ts.mdx | 27 ++++++++++++++++ .../html/button-story-with-emojis.js.mdx | 16 ++++++++++ .../html/button-story-with-emojis.ts.mdx | 17 ++++++++++ docs/snippets/html/button-story.js.mdx | 2 ++ docs/snippets/html/button-story.ts.mdx | 2 ++ docs/snippets/html/list-story-expanded.js.mdx | 27 ++++++++++++++++ docs/snippets/html/list-story-expanded.ts.mdx | 29 +++++++++++++++++ .../html/list-story-reuse-data.js.mdx | 22 +++++++++++++ .../html/list-story-reuse-data.ts.mdx | 32 +++++++++++++++++++ docs/snippets/html/list-story-starter.js.mdx | 12 +++++++ docs/snippets/html/list-story-starter.ts.mdx | 14 ++++++++ docs/writing-stories/args.md | 2 ++ docs/writing-stories/introduction.md | 20 ++++++++++++ 24 files changed, 417 insertions(+), 2 deletions(-) create mode 100644 docs/snippets/html/button-story-component-decorator.js.mdx create mode 100644 docs/snippets/html/button-story-component-decorator.ts.mdx create mode 100644 docs/snippets/html/button-story-default-exports.js.mdx create mode 100644 docs/snippets/html/button-story-default-exports.ts.mdx create mode 100644 docs/snippets/html/button-story-rename-story.js.mdx create mode 100644 docs/snippets/html/button-story-rename-story.ts.mdx create mode 100644 docs/snippets/html/button-story-using-args.js.mdx create mode 100644 docs/snippets/html/button-story-using-args.ts.mdx create mode 100644 docs/snippets/html/button-story-with-blue-args.js.mdx create mode 100644 docs/snippets/html/button-story-with-blue-args.ts.mdx create mode 100644 docs/snippets/html/button-story-with-emojis.js.mdx create mode 100644 docs/snippets/html/button-story-with-emojis.ts.mdx create mode 100644 docs/snippets/html/list-story-expanded.js.mdx create mode 100644 docs/snippets/html/list-story-expanded.ts.mdx create mode 100644 docs/snippets/html/list-story-reuse-data.js.mdx create mode 100644 docs/snippets/html/list-story-reuse-data.ts.mdx create mode 100644 docs/snippets/html/list-story-starter.js.mdx create mode 100644 docs/snippets/html/list-story-starter.ts.mdx diff --git a/docs/snippets/html/button-story-component-decorator.js.mdx b/docs/snippets/html/button-story-component-decorator.js.mdx new file mode 100644 index 00000000000..c87cb62adbb --- /dev/null +++ b/docs/snippets/html/button-story-component-decorator.js.mdx @@ -0,0 +1,21 @@ +```js +// Button.stories.js + +import { createButton } from './Button'; + +export default { + /* 👇 The title prop is optional. + * See https://storybook.js.org/docs/html/configure/overview#configure-story-loading + * to learn how to generate automatic titles + */ + title: 'Button', + decorators: [(story) => { + const decorator = document.createElement('div'); + decorator.style.margin = '3em'; + decorator.appendChild(story()); + return decorator; + }], +}; + +export const Primary = (args) => createButton(args); +``` diff --git a/docs/snippets/html/button-story-component-decorator.ts.mdx b/docs/snippets/html/button-story-component-decorator.ts.mdx new file mode 100644 index 00000000000..d1a4efaa425 --- /dev/null +++ b/docs/snippets/html/button-story-component-decorator.ts.mdx @@ -0,0 +1,23 @@ +```ts +// Button.stories.ts + +import { Meta, StoryFn } from '@storybook/html'; + +import { createButton, ButtonArgs } from './Button'; + +export default { + /* 👇 The title prop is optional. + * See https://storybook.js.org/docs/html/configure/overview#configure-story-loading + * to learn how to generate automatic titles + */ + title: 'Button', + decorators: [(story) => { + const decorator = document.createElement('div'); + decorator.style.margin = '3em'; + decorator.appendChild(story()); + return decorator; + }], +} as Meta; + +export const Primary: StoryFn = (args) => createButton(args); +``` diff --git a/docs/snippets/html/button-story-default-exports.js.mdx b/docs/snippets/html/button-story-default-exports.js.mdx new file mode 100644 index 00000000000..c6bbe5bf64f --- /dev/null +++ b/docs/snippets/html/button-story-default-exports.js.mdx @@ -0,0 +1,13 @@ +```js +// Button.stories.js + +import { createButton } from './Button'; + +export default { + /* 👇 The title prop is optional. + * See https://storybook.js.org/docs/html/configure/overview#configure-story-loading + * to learn how to generate automatic titles + */ + title: 'Button', +}; +``` diff --git a/docs/snippets/html/button-story-default-exports.ts.mdx b/docs/snippets/html/button-story-default-exports.ts.mdx new file mode 100644 index 00000000000..e294d98b1b4 --- /dev/null +++ b/docs/snippets/html/button-story-default-exports.ts.mdx @@ -0,0 +1,15 @@ +```ts +// Button.stories.ts + +import { Meta } from '@storybook/html'; + +import { createButton, ButtonArgs } from './Button'; + +export default { + /* 👇 The title prop is optional. + * See https://storybook.js.org/docs/html/configure/overview#configure-story-loading + * to learn how to generate automatic titles + */ + title: 'Button', +} as Meta; +``` diff --git a/docs/snippets/html/button-story-rename-story.js.mdx b/docs/snippets/html/button-story-rename-story.js.mdx new file mode 100644 index 00000000000..3f13f148ce4 --- /dev/null +++ b/docs/snippets/html/button-story-rename-story.js.mdx @@ -0,0 +1,16 @@ +```js +// Button.stories.js + +import { createButton } from './Button'; + +export default { + /* 👇 The title prop is optional. + * See https://storybook.js.org/docs/html/configure/overview#configure-story-loading + * to learn how to generate automatic titles + */ + title: 'Button', +}; + +export const Primary = (args) => createButton(args); +Primary.storyName = 'I am the primary'; +``` diff --git a/docs/snippets/html/button-story-rename-story.ts.mdx b/docs/snippets/html/button-story-rename-story.ts.mdx new file mode 100644 index 00000000000..0b37196b9a4 --- /dev/null +++ b/docs/snippets/html/button-story-rename-story.ts.mdx @@ -0,0 +1,18 @@ +```ts +// Button.stories.ts + +import { Meta, StoryFn } from '@storybook/html'; + +import { createButton, ButtonArgs } from './Button'; + +export default { + /* 👇 The title prop is optional. + * See https://storybook.js.org/docs/html/configure/overview#configure-story-loading + * to learn how to generate automatic titles + */ + title: 'Button', +} as Meta; + +export const Primary: StoryFn = (args) => createButton(args); +Primary.storyName = 'I am the primary'; +``` diff --git a/docs/snippets/html/button-story-using-args.js.mdx b/docs/snippets/html/button-story-using-args.js.mdx new file mode 100644 index 00000000000..9df04fd6e39 --- /dev/null +++ b/docs/snippets/html/button-story-using-args.js.mdx @@ -0,0 +1,26 @@ +```js +// Button.stories.js + +import { createButton } from './Button'; + +export default { + /* 👇 The title prop is optional. + * See https://storybook.js.org/docs/html/configure/overview#configure-story-loading + * to learn how to generate automatic titles + */ + title: 'Button', +}; + +//👇 We create a “template” of how args map to rendering +const Template = (args) => createButton(args); + +//👇 Each story then reuses that template +export const Primary = Template.bind({}); +Primary.args = { primary: true, label: 'Button' }; + +export const Secondary = Template.bind({}); +Secondary.args = { ...Primary.args, label: '😄👍😍💯' }; + +export const Tertiary = Template.bind({}); +Tertiary.args = { ...Primary.args, label: '📚📕📈🤓' }; +``` diff --git a/docs/snippets/html/button-story-using-args.ts.mdx b/docs/snippets/html/button-story-using-args.ts.mdx new file mode 100644 index 00000000000..759858bf1da --- /dev/null +++ b/docs/snippets/html/button-story-using-args.ts.mdx @@ -0,0 +1,27 @@ +```ts +// Button.stories.ts + +import { Meta, StoryFn } from '@storybook/html'; +import { createButton, ButtonArgs } from './Button'; + +export default { + /* 👇 The title prop is optional. + * See https://storybook.js.org/docs/html/configure/overview#configure-story-loading + * to learn how to generate automatic titles + */ + title: 'Button', +} as Meta; + +//👇 We create a “template” of how args map to rendering +const Template: StoryFn = (args): HTMLButtonElement => createButton(args); + +//👇 Each story then reuses that template +export const Primary = Template.bind({}); +Primary.args = { primary: true, label: 'Button' }; + +export const Secondary = Template.bind({}); +Secondary.args = { ...Primary.args, label: '😄👍😍💯' }; + +export const Tertiary = Template.bind({}); +Tertiary.args = { ...Primary.args, label: '📚📕📈🤓' }; +``` diff --git a/docs/snippets/html/button-story-with-args.js.mdx b/docs/snippets/html/button-story-with-args.js.mdx index 60feb201454..8d71b288cef 100644 --- a/docs/snippets/html/button-story-with-args.js.mdx +++ b/docs/snippets/html/button-story-with-args.js.mdx @@ -1,4 +1,6 @@ ```js +// Button.stories.js + export default { /* 👇 The title prop is optional. * See https://storybook.js.org/docs/html/configure/overview#configure-story-loading diff --git a/docs/snippets/html/button-story-with-args.ts.mdx b/docs/snippets/html/button-story-with-args.ts.mdx index 3130fc260de..9b75446177e 100644 --- a/docs/snippets/html/button-story-with-args.ts.mdx +++ b/docs/snippets/html/button-story-with-args.ts.mdx @@ -1,16 +1,23 @@ ```ts +// Button.stories.ts + import { Meta, StoryFn } from '@storybook/html'; +type ButtonArgs = { + primary: boolean; + label: string; +} + export default { /* 👇 The title prop is optional. * See https://storybook.js.org/docs/html/configure/overview#configure-story-loading * to learn how to generate automatic titles */ title: 'Button', -} as Meta; +} as Meta; //👇 We create a “template” of how args map to rendering -const Template: StoryFn = (args): HTMLButtonElement => { +const Template: StoryFn = (args): HTMLButtonElement => { const btn = document.createElement('button'); btn.innerText = args.label; diff --git a/docs/snippets/html/button-story-with-blue-args.js.mdx b/docs/snippets/html/button-story-with-blue-args.js.mdx new file mode 100644 index 00000000000..5cb8981ad16 --- /dev/null +++ b/docs/snippets/html/button-story-with-blue-args.js.mdx @@ -0,0 +1,25 @@ +```js +// Button.stories.js + +import { createButton } from './Button'; + +export default { + /* 👇 The title prop is optional. + * See https://storybook.js.org/docs/html/configure/overview#configure-story-loading + * to learn how to generate automatic titles + */ + title: 'Button', + //👇 Creates specific parameters for the story + parameters: { + backgrounds: { + values: [ + { name: 'red', value: '#f00' }, + { name: 'green', value: '#0f0' }, + { name: 'blue', value: '#00f' }, + ], + }, + }, +}; + +export const Primary = (args) => createButton(args); +``` diff --git a/docs/snippets/html/button-story-with-blue-args.ts.mdx b/docs/snippets/html/button-story-with-blue-args.ts.mdx new file mode 100644 index 00000000000..906845b4f47 --- /dev/null +++ b/docs/snippets/html/button-story-with-blue-args.ts.mdx @@ -0,0 +1,27 @@ +```ts +// Button.stories.ts + +import { Meta, StoryFn } from '@storybook/html'; + +import { createButton, ButtonArgs } from './Button'; + +export default { + /* 👇 The title prop is optional. + * See https://storybook.js.org/docs/html/configure/overview#configure-story-loading + * to learn how to generate automatic titles + */ + title: 'Button', + //👇 Creates specific parameters for the story + parameters: { + backgrounds: { + values: [ + { name: 'red', value: '#f00' }, + { name: 'green', value: '#0f0' }, + { name: 'blue', value: '#00f' }, + ], + }, + }, +} as Meta; + +export const Primary: StoryFn = (args) => createButton(args); +``` diff --git a/docs/snippets/html/button-story-with-emojis.js.mdx b/docs/snippets/html/button-story-with-emojis.js.mdx new file mode 100644 index 00000000000..b6b9b43ec29 --- /dev/null +++ b/docs/snippets/html/button-story-with-emojis.js.mdx @@ -0,0 +1,16 @@ +```js +// Button.stories.js + +import { createButton } from './Button'; + +export default { + /* 👇 The title prop is optional. + * See https://storybook.js.org/docs/html/configure/overview#configure-story-loading + * to learn how to generate automatic titles + */ + title: 'Button', +}; +export const Primary = () => createButton({ backgroundColor: "#ff0", label: "Button"}); +export const Secondary = () => createButton({ backgroundColor: "#ff0", label: "😄👍😍💯"}); +export const Tertiary = () => createButton({ backgroundColor: "#ff0", label: "📚📕📈🤓"}); +``` diff --git a/docs/snippets/html/button-story-with-emojis.ts.mdx b/docs/snippets/html/button-story-with-emojis.ts.mdx new file mode 100644 index 00000000000..47a1f99f8ee --- /dev/null +++ b/docs/snippets/html/button-story-with-emojis.ts.mdx @@ -0,0 +1,17 @@ +```ts +// Button.stories.ts + +import { Meta, StoryFn } from '@storybook/html'; +import { createButton, ButtonArgs } from './Button'; + +export default { + /* 👇 The title prop is optional. + * See https://storybook.js.org/docs/html/configure/overview#configure-story-loading + * to learn how to generate automatic titles + */ + title: 'Button', +} as Meta; +export const Primary: StoryFn = () => createButton({ backgroundColor: "#ff0", label: "Button"}); +export const Secondary: StoryFn = () => createButton({ backgroundColor: "#ff0", label: "😄👍😍💯"}); +export const Tertiary: StoryFn = () => createButton({ backgroundColor: "#ff0", label: "📚📕📈🤓"}); +``` diff --git a/docs/snippets/html/button-story.js.mdx b/docs/snippets/html/button-story.js.mdx index 743c489eff8..6268687c428 100644 --- a/docs/snippets/html/button-story.js.mdx +++ b/docs/snippets/html/button-story.js.mdx @@ -1,4 +1,6 @@ ```js +// Button.stories.js + export default { /* 👇 The title prop is optional. * See https://storybook.js.org/docs/html/configure/overview#configure-story-loading diff --git a/docs/snippets/html/button-story.ts.mdx b/docs/snippets/html/button-story.ts.mdx index 104aa6ccbd1..62e72638171 100644 --- a/docs/snippets/html/button-story.ts.mdx +++ b/docs/snippets/html/button-story.ts.mdx @@ -1,4 +1,6 @@ ```ts +// Button.stories.ts + import { Meta, StoryFn } from '@storybook/html'; export default { diff --git a/docs/snippets/html/list-story-expanded.js.mdx b/docs/snippets/html/list-story-expanded.js.mdx new file mode 100644 index 00000000000..b9cbe7d627f --- /dev/null +++ b/docs/snippets/html/list-story-expanded.js.mdx @@ -0,0 +1,27 @@ + +```js +// List.stories.js + +import { createList } from './List'; +import { createListItem } from './ListItem'; + +export default { + title: 'List', +}; + +export const Empty = (args) => createList(args); + +export const OneItem = (args) => { + const list = createList(args); + list.appendChild(createListItem()); + return list; +}; + +export const ManyItems = (args) => { + const list = createList(args); + list.appendChild(createListItem()); + list.appendChild(createListItem()); + list.appendChild(createListItem()); + return list; +}; +``` diff --git a/docs/snippets/html/list-story-expanded.ts.mdx b/docs/snippets/html/list-story-expanded.ts.mdx new file mode 100644 index 00000000000..81e14d1162a --- /dev/null +++ b/docs/snippets/html/list-story-expanded.ts.mdx @@ -0,0 +1,29 @@ + +```ts +// List.stories.ts + +import { Meta, StoryFn } from '@storybook/html'; + +import { createList, ListArgs } from './List'; +import { createListItem } from './ListItem'; + +export default { + title: 'List', +} as Meta; + +export const Empty: StoryFn = (args) => createList(args); + +export const OneItem: StoryFn = (args) => { + const list = createList(args); + list.appendChild(createListItem()); + return list; +}; + +export const ManyItems: StoryFn = (args) => { + const list = createList(args); + list.appendChild(createListItem()); + list.appendChild(createListItem()); + list.appendChild(createListItem()); + return list; +}; +``` diff --git a/docs/snippets/html/list-story-reuse-data.js.mdx b/docs/snippets/html/list-story-reuse-data.js.mdx new file mode 100644 index 00000000000..a5883361791 --- /dev/null +++ b/docs/snippets/html/list-story-reuse-data.js.mdx @@ -0,0 +1,22 @@ + +```js +// List.stories.js + +import { createList } from './List'; +import { createListItem } from './ListItem'; + +// 👇 We're importing the necessary stories from ListItem +import { Selected, Unselected } from './ListItem.stories'; + +export default { + title: 'List', +}; + +export const ManyItems = (args) => { + const list = createList(args); + list.appendChild(createListItem(Selected.args)); + list.appendChild(createListItem(Unselected.args)); + list.appendChild(createListItem(Unselected.args)); + return list; +}; +``` diff --git a/docs/snippets/html/list-story-reuse-data.ts.mdx b/docs/snippets/html/list-story-reuse-data.ts.mdx new file mode 100644 index 00000000000..434bec00d69 --- /dev/null +++ b/docs/snippets/html/list-story-reuse-data.ts.mdx @@ -0,0 +1,32 @@ + +```ts +// List.stories.ts + +import { Meta, StoryFn } from '@storybook/html'; + +import { createList, ListArgs } from './List'; +import { createListItem } from './ListItem'; + +// 👇 We're importing the necessary stories from ListItem +import { Selected, Unselected } from './ListItem.stories'; + +export default { + title: 'List', +} as Meta; + +export const Empty: StoryFn = (args) => createList(args); + +export const OneItem: StoryFn = (args) => { + const list = createList(args); + list.appendChild(createListItem()); + return list; +}; + +export const ManyItems: StoryFn = (args) => { + const list = createList(args); + list.appendChild(createListItem(Selected.args)); + list.appendChild(createListItem(Unselected.args)); + list.appendChild(createListItem(Unselected.args)); + return list; +}; +``` diff --git a/docs/snippets/html/list-story-starter.js.mdx b/docs/snippets/html/list-story-starter.js.mdx new file mode 100644 index 00000000000..8e4959b468d --- /dev/null +++ b/docs/snippets/html/list-story-starter.js.mdx @@ -0,0 +1,12 @@ +```js +// List.stories.js + +import { createList } from './List'; + +export default { + title: 'List', +}; + +// Always an empty list, not super interesting +const Template = (args) => createList(args); +``` diff --git a/docs/snippets/html/list-story-starter.ts.mdx b/docs/snippets/html/list-story-starter.ts.mdx new file mode 100644 index 00000000000..e0706e6c082 --- /dev/null +++ b/docs/snippets/html/list-story-starter.ts.mdx @@ -0,0 +1,14 @@ +```ts +// List.stories.ts + +import { Meta, StoryFn } from '@storybook/html'; + +import { createList, ListArgs } from './List'; + +export default { + title: 'List', +} as Meta; + +// Always an empty list, not super interesting +const Template: StoryFn = (args) => createList(args); +``` diff --git a/docs/writing-stories/args.md b/docs/writing-stories/args.md index b7b5ac95c27..6d10a8faab7 100644 --- a/docs/writing-stories/args.md +++ b/docs/writing-stories/args.md @@ -33,6 +33,8 @@ To define the args of a single story, use the `args` CSF story key: 'svelte/button-story-with-args.native-format.mdx', 'svelte/button-story-with-args.mdx.mdx', 'web-components/button-story-with-args.js.mdx', + 'html/button-story-with-args.ts.mdx', + 'html/button-story-with-args.js.mdx', ]} /> diff --git a/docs/writing-stories/introduction.md b/docs/writing-stories/introduction.md index 96ca9925fff..15e4c456516 100644 --- a/docs/writing-stories/introduction.md +++ b/docs/writing-stories/introduction.md @@ -37,6 +37,8 @@ The _default_ export metadata controls how Storybook lists your stories and prov 'angular/button-story-default-export-with-component.ts.mdx', 'svelte/button-story-default-export-with-component.js.mdx', 'web-components/button-story-default-export-with-component.js.mdx', + 'html/button-story-default-export.js.mdx', + 'html/button-story-default-export.ts.mdx', ]} /> @@ -59,6 +61,8 @@ Use the _named_ exports of a CSF file to define your component’s stories. We r 'svelte/button-story.js.mdx', 'svelte/button-story.native-format.mdx', 'web-components/button-story.js.mdx', + 'html/button-story.js.mdx', + 'html/button-story.ts.mdx', ]} /> @@ -99,6 +103,8 @@ You can rename any particular story you need. For instance, to give it a more ac 'angular/button-story-rename-story.ts.mdx', 'svelte/button-story-rename-story.js.mdx', 'web-components/button-story-rename-story.js.mdx', + 'html/button-story-rename-story.js.mdx', + 'html/button-story-rename-story.ts.mdx', ]} /> @@ -127,6 +133,8 @@ A story is a function that describes how to render a component. You can have mul 'svelte/button-story-with-emojis.native-format.mdx', 'svelte/button-story-with-emojis.mdx.mdx', 'web-components/button-story-with-emojis.js.mdx', + 'html/button-story-with-emojis.js.mdx', + 'html/button-story-with-emojis.ts.mdx', ]} /> @@ -152,6 +160,8 @@ Refine this pattern by introducing `args` for your component's stories. It reduc 'svelte/button-story-using-args.js.mdx', 'svelte/button-story-using-args.native-format.mdx', 'web-components/button-story-using-args.js.mdx', + 'html/button-story-using-args.js.mdx', + 'html/button-story-using-args.ts.mdx', ]} /> @@ -254,6 +264,8 @@ For instance, suppose you wanted to test your Button component against a differe 'svelte/button-story-with-blue-args.native-format.mdx', 'svelte/button-story-with-blue-args.mdx.mdx', 'web-components/button-story-with-blue-args.js.mdx', + 'html/button-story-with-blue-args.js.mdx', + 'html/button-story-with-blue-args.ts.mdx', ]} /> @@ -286,6 +298,8 @@ A simple example is adding padding to a component’s stories. Accomplish this u 'svelte/button-story-component-decorator.native-format.mdx', 'svelte/button-story-component-decorator.mdx.mdx', 'web-components/button-story-component-decorator.js.mdx', + 'html/button-story-component-decorator.js.mdx', + 'html/button-story-component-decorator.ts.mdx', ]} /> @@ -310,6 +324,8 @@ When building design systems or component libraries, you may have two or more co 'vue/list-story-starter.ts-3.ts.mdx', 'svelte/list-story-starter.native-format.mdx', 'web-components/list-story-starter.js.mdx', + 'html/list-story-starter.js.mdx', + 'html/list-story-starter.ts.mdx', ]} /> @@ -330,6 +346,8 @@ In such cases, it makes sense to render a different function for each story: 'vue/list-story-expanded.ts-3.ts.mdx', 'svelte/list-story-expanded.native-format.mdx', 'web-components/list-story-expanded.js.mdx', + 'html/list-story-expanded.js.mdx', + 'html/list-story-expanded.ts.mdx', ]} /> @@ -349,6 +367,8 @@ You can also reuse stories from the child `ListItem` in your `List` component. T 'vue/list-story-reuse-data.3.js.mdx', 'vue/list-story-reuse-data.ts-3.ts.mdx', 'web-components/list-story-reuse-data.js.mdx', + 'html/list-story-reuse-data.js.mdx', + 'html/list-story-reuse-data.ts.mdx', ]} /> From 2e87a29f8c0def5104f7cae44bc1261e350917ab Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Wed, 29 Jun 2022 00:49:56 +0200 Subject: [PATCH 42/44] fix types path mismatch --- addons/highlight/package.json | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/addons/highlight/package.json b/addons/highlight/package.json index d9ff024d015..7aa085dcf87 100644 --- a/addons/highlight/package.json +++ b/addons/highlight/package.json @@ -25,14 +25,7 @@ "author": "winkerVSbecks", "main": "dist/cjs/index.js", "module": "dist/esm/index.js", - "types": "dist/ts3.9/index.d.ts", - "typesVersions": { - "<3.8": { - "dist/ts3.9/*": [ - "dist/ts3.4/*" - ] - } - }, + "types": "dist/types/index.d.ts", "files": [ "dist/**/*", "README.md", From c7da9622213de728cb0ebf1995d49174ec81db7e Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Tue, 28 Jun 2022 18:52:33 -0400 Subject: [PATCH 43/44] update deps version for addon-highlight --- addons/highlight/package.json | 4 +- yarn.lock | 123 +--------------------------------- 2 files changed, 5 insertions(+), 122 deletions(-) diff --git a/addons/highlight/package.json b/addons/highlight/package.json index 7aa085dcf87..0d350bfc8b5 100644 --- a/addons/highlight/package.json +++ b/addons/highlight/package.json @@ -36,8 +36,8 @@ "prepare": "node ../../scripts/prepare.js" }, "dependencies": { - "@storybook/addons": "6.5.0-alpha.64", - "@storybook/core-events": "6.5.0-alpha.64", + "@storybook/addons": "7.0.0-alpha.6", + "@storybook/core-events": "7.0.0-alpha.6", "core-js": "^3.8.2", "global": "^4.4.0" }, diff --git a/yarn.lock b/yarn.lock index c1ea1707fb7..be8031e0c1f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7145,8 +7145,8 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-highlight@workspace:addons/highlight" dependencies: - "@storybook/addons": 6.5.0-alpha.64 - "@storybook/core-events": 6.5.0-alpha.64 + "@storybook/addons": 7.0.0-alpha.6 + "@storybook/core-events": 7.0.0-alpha.6 "@types/webpack-env": ^1.16.0 core-js: ^3.8.2 global: ^4.4.0 @@ -7521,28 +7521,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addons@npm:6.5.0-alpha.64": - version: 6.5.0-alpha.64 - resolution: "@storybook/addons@npm:6.5.0-alpha.64" - dependencies: - "@storybook/api": 6.5.0-alpha.64 - "@storybook/channels": 6.5.0-alpha.64 - "@storybook/client-logger": 6.5.0-alpha.64 - "@storybook/core-events": 6.5.0-alpha.64 - "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/router": 6.5.0-alpha.64 - "@storybook/theming": 6.5.0-alpha.64 - "@types/webpack-env": ^1.16.0 - core-js: ^3.8.2 - global: ^4.4.0 - regenerator-runtime: ^0.13.7 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 3ec225fa206c610da94dae9237ec9dd1491da4444bee7fd2659238a9b0630200b5ce371d26027db112a8b347c2565f37a144b9b1ad9779c5e29a10a13125c530 - languageName: node - linkType: hard - "@storybook/addons@npm:6.5.7": version: 6.5.7 resolution: "@storybook/addons@npm:6.5.7" @@ -7711,34 +7689,6 @@ __metadata: languageName: node linkType: hard -"@storybook/api@npm:6.5.0-alpha.64": - version: 6.5.0-alpha.64 - resolution: "@storybook/api@npm:6.5.0-alpha.64" - dependencies: - "@storybook/channels": 6.5.0-alpha.64 - "@storybook/client-logger": 6.5.0-alpha.64 - "@storybook/core-events": 6.5.0-alpha.64 - "@storybook/csf": 0.0.2--canary.7c6c115.0 - "@storybook/router": 6.5.0-alpha.64 - "@storybook/semver": ^7.3.2 - "@storybook/theming": 6.5.0-alpha.64 - core-js: ^3.8.2 - fast-deep-equal: ^3.1.3 - global: ^4.4.0 - lodash: ^4.17.21 - memoizerific: ^1.11.3 - regenerator-runtime: ^0.13.7 - store2: ^2.12.0 - telejson: ^5.3.3 - ts-dedent: ^2.0.0 - util-deprecate: ^1.0.2 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 9d6a79c51d00b943643288b91491b5421c4f5984cdc525b5c66ac9a21da0b84fb0702433fd1573bf5a668e749a926f41d46488e076a7a6d4b36defcc7e82ea00 - languageName: node - linkType: hard - "@storybook/api@npm:6.5.7": version: 6.5.7 resolution: "@storybook/api@npm:6.5.7" @@ -7880,17 +7830,6 @@ __metadata: languageName: node linkType: hard -"@storybook/channels@npm:6.5.0-alpha.64": - version: 6.5.0-alpha.64 - resolution: "@storybook/channels@npm:6.5.0-alpha.64" - dependencies: - core-js: ^3.8.2 - ts-dedent: ^2.0.0 - util-deprecate: ^1.0.2 - checksum: 7cb74340ef9f761c6e0e307f54d23d4aa4c0f91713fe0b5061cba1032d27a5c5561fc7bb70272bf62507a729a369d8b7de7054bcfcdd7ccc70646011e079618c - languageName: node - linkType: hard - "@storybook/channels@npm:6.5.7": version: 6.5.7 resolution: "@storybook/channels@npm:6.5.7" @@ -7998,16 +7937,6 @@ __metadata: languageName: node linkType: hard -"@storybook/client-logger@npm:6.5.0-alpha.64": - version: 6.5.0-alpha.64 - resolution: "@storybook/client-logger@npm:6.5.0-alpha.64" - dependencies: - core-js: ^3.8.2 - global: ^4.4.0 - checksum: 74424e7685a295654029e97fd2a4c46b035d6386b638112ca133c2eb406e6c6b8030f02bd027b322a1750ee26762afb990a2170e7db44f389fecb866500667ec - languageName: node - linkType: hard - "@storybook/client-logger@npm:6.5.7, @storybook/client-logger@npm:^6.4.0 || >=6.5.0-0": version: 6.5.7 resolution: "@storybook/client-logger@npm:6.5.7" @@ -8191,15 +8120,6 @@ __metadata: languageName: node linkType: hard -"@storybook/core-events@npm:6.5.0-alpha.64": - version: 6.5.0-alpha.64 - resolution: "@storybook/core-events@npm:6.5.0-alpha.64" - dependencies: - core-js: ^3.8.2 - checksum: 3b65ad97daa88bd6a699907841151c5fda38e7df946bd4653a151786a19efb565dbea75e6c0d72209dfecc20a84446ec151824d0cd9390d9184d9344e66b5cd6 - languageName: node - linkType: hard - "@storybook/core-events@npm:6.5.7": version: 6.5.7 resolution: "@storybook/core-events@npm:6.5.7" @@ -8319,15 +8239,6 @@ __metadata: languageName: node linkType: hard -"@storybook/csf@npm:0.0.2--canary.7c6c115.0": - version: 0.0.2--canary.7c6c115.0 - resolution: "@storybook/csf@npm:0.0.2--canary.7c6c115.0" - dependencies: - lodash: ^4.17.15 - checksum: 85a179664d18eeca8462c1b6ff36f9b68b856c9f9c5143aa6f19b17e4cc97bc08ed69921a5287a61d8c90f61366ff6a5ab89930d158402e7c04d07a3ffaad8bb - languageName: node - linkType: hard - "@storybook/csf@npm:0.0.2--canary.87bc651.0": version: 0.0.2--canary.87bc651.0 resolution: "@storybook/csf@npm:0.0.2--canary.87bc651.0" @@ -9406,20 +9317,6 @@ __metadata: languageName: node linkType: hard -"@storybook/router@npm:6.5.0-alpha.64": - version: 6.5.0-alpha.64 - resolution: "@storybook/router@npm:6.5.0-alpha.64" - dependencies: - "@storybook/client-logger": 6.5.0-alpha.64 - core-js: ^3.8.2 - regenerator-runtime: ^0.13.7 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 622d95665cf68315161961e1b791ae237705b80006f74a9b02b74ee8166e50ad0d3543bbbb862670644f1cce74feeed5045aba77628b9038052ea1e3342224aa - languageName: node - linkType: hard - "@storybook/router@npm:6.5.7": version: 6.5.7 resolution: "@storybook/router@npm:6.5.7" @@ -9665,20 +9562,6 @@ __metadata: languageName: node linkType: hard -"@storybook/theming@npm:6.5.0-alpha.64": - version: 6.5.0-alpha.64 - resolution: "@storybook/theming@npm:6.5.0-alpha.64" - dependencies: - "@storybook/client-logger": 6.5.0-alpha.64 - core-js: ^3.8.2 - regenerator-runtime: ^0.13.7 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 3210333e681dbb4f5bc7ddf265d52b8bbb968e93388c341dc6c1ea916ee6a3f02a23e06f03f624ef369b7b10e58c0dbab22e3677eb7daa31143f0bba7714bfc4 - languageName: node - linkType: hard - "@storybook/theming@npm:6.5.7": version: 6.5.7 resolution: "@storybook/theming@npm:6.5.7" @@ -42431,7 +42314,7 @@ __metadata: languageName: node linkType: hard -"telejson@npm:^5.3.2, telejson@npm:^5.3.3": +"telejson@npm:^5.3.2": version: 5.3.3 resolution: "telejson@npm:5.3.3" dependencies: From 8396fc8c3911e10b24ef12bf8abe7d32c4355ee8 Mon Sep 17 00:00:00 2001 From: winkerVSbecks Date: Tue, 28 Jun 2022 19:57:30 -0400 Subject: [PATCH 44/44] update examples to use addon-highlight --- examples/angular-cli/.storybook/main.js | 1 + examples/angular-cli/package.json | 1 + examples/cra-kitchen-sink/.storybook/main.js | 1 + examples/cra-kitchen-sink/package.json | 1 + examples/cra-ts-kitchen-sink/.storybook/main.ts | 1 + examples/cra-ts-kitchen-sink/package.json | 1 + examples/ember-cli/.storybook/main.js | 1 + examples/ember-cli/package.json | 1 + yarn.lock | 4 ++++ 9 files changed, 12 insertions(+) diff --git a/examples/angular-cli/.storybook/main.js b/examples/angular-cli/.storybook/main.js index 42d4cf30f8c..a63f4d11d0c 100644 --- a/examples/angular-cli/.storybook/main.js +++ b/examples/angular-cli/.storybook/main.js @@ -13,6 +13,7 @@ module.exports = { '@storybook/addon-backgrounds', '@storybook/addon-a11y', '@storybook/addon-toolbars', + '@storybook/addon-highlight', ], core: { channelOptions: { allowFunction: false, maxDepth: 10 }, diff --git a/examples/angular-cli/package.json b/examples/angular-cli/package.json index d8561adbe66..6c8ccb62dbb 100644 --- a/examples/angular-cli/package.json +++ b/examples/angular-cli/package.json @@ -49,6 +49,7 @@ "@storybook/addon-backgrounds": "7.0.0-alpha.6", "@storybook/addon-controls": "7.0.0-alpha.6", "@storybook/addon-docs": "7.0.0-alpha.6", + "@storybook/addon-highlight": "7.0.0-alpha.6", "@storybook/addon-interactions": "7.0.0-alpha.6", "@storybook/addon-jest": "7.0.0-alpha.6", "@storybook/addon-links": "7.0.0-alpha.6", diff --git a/examples/cra-kitchen-sink/.storybook/main.js b/examples/cra-kitchen-sink/.storybook/main.js index 6bc29a56762..10e9597f71e 100644 --- a/examples/cra-kitchen-sink/.storybook/main.js +++ b/examples/cra-kitchen-sink/.storybook/main.js @@ -16,6 +16,7 @@ module.exports = { '@storybook/addon-backgrounds', '@storybook/addon-a11y', '@storybook/addon-jest', + '@storybook/addon-highlight', ], webpackFinal: (config) => { // add monorepo root as a valid directory to import modules from diff --git a/examples/cra-kitchen-sink/package.json b/examples/cra-kitchen-sink/package.json index 68c281435fa..30d4b0f549d 100644 --- a/examples/cra-kitchen-sink/package.json +++ b/examples/cra-kitchen-sink/package.json @@ -25,6 +25,7 @@ "@storybook/addon-actions": "7.0.0-alpha.6", "@storybook/addon-backgrounds": "7.0.0-alpha.6", "@storybook/addon-docs": "7.0.0-alpha.6", + "@storybook/addon-highlight": "7.0.0-alpha.6", "@storybook/addon-jest": "7.0.0-alpha.6", "@storybook/addon-links": "7.0.0-alpha.6", "@storybook/addon-storyshots": "7.0.0-alpha.6", diff --git a/examples/cra-ts-kitchen-sink/.storybook/main.ts b/examples/cra-ts-kitchen-sink/.storybook/main.ts index 023c4cb2d11..5f20853f070 100644 --- a/examples/cra-ts-kitchen-sink/.storybook/main.ts +++ b/examples/cra-ts-kitchen-sink/.storybook/main.ts @@ -11,6 +11,7 @@ module.exports = { '@storybook/addon-actions', '@storybook/addon-links', '@storybook/addon-a11y', + '@storybook/addon-highlight', './localAddon/manager.tsx', './localAddon/preset.ts', ], diff --git a/examples/cra-ts-kitchen-sink/package.json b/examples/cra-ts-kitchen-sink/package.json index 71ef1cf0878..0b68e6a24a2 100644 --- a/examples/cra-ts-kitchen-sink/package.json +++ b/examples/cra-ts-kitchen-sink/package.json @@ -37,6 +37,7 @@ "@storybook/addon-a11y": "7.0.0-alpha.6", "@storybook/addon-actions": "7.0.0-alpha.6", "@storybook/addon-docs": "7.0.0-alpha.6", + "@storybook/addon-highlight": "7.0.0-alpha.6", "@storybook/addon-links": "7.0.0-alpha.6", "@storybook/addons": "7.0.0-alpha.6", "@storybook/builder-webpack5": "7.0.0-alpha.6", diff --git a/examples/ember-cli/.storybook/main.js b/examples/ember-cli/.storybook/main.js index e4ccafddc06..1ac25003d6a 100644 --- a/examples/ember-cli/.storybook/main.js +++ b/examples/ember-cli/.storybook/main.js @@ -17,6 +17,7 @@ module.exports = { '@storybook/addon-links', '@storybook/addon-viewport', '@storybook/addon-backgrounds', + '@storybook/addon-highlight', ], webpackFinal: async (config) => { config.module.rules.push({ diff --git a/examples/ember-cli/package.json b/examples/ember-cli/package.json index f422bd379e6..cc2d0629fba 100644 --- a/examples/ember-cli/package.json +++ b/examples/ember-cli/package.json @@ -22,6 +22,7 @@ "@storybook/addon-backgrounds": "7.0.0-alpha.6", "@storybook/addon-controls": "7.0.0-alpha.6", "@storybook/addon-docs": "7.0.0-alpha.6", + "@storybook/addon-highlight": "7.0.0-alpha.6", "@storybook/addon-links": "7.0.0-alpha.6", "@storybook/addon-storysource": "7.0.0-alpha.6", "@storybook/addon-viewport": "7.0.0-alpha.6", diff --git a/yarn.lock b/yarn.lock index be8031e0c1f..636264e47c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13008,6 +13008,7 @@ __metadata: "@storybook/addon-backgrounds": 7.0.0-alpha.6 "@storybook/addon-controls": 7.0.0-alpha.6 "@storybook/addon-docs": 7.0.0-alpha.6 + "@storybook/addon-highlight": 7.0.0-alpha.6 "@storybook/addon-interactions": 7.0.0-alpha.6 "@storybook/addon-jest": 7.0.0-alpha.6 "@storybook/addon-links": 7.0.0-alpha.6 @@ -17644,6 +17645,7 @@ __metadata: "@storybook/addon-actions": 7.0.0-alpha.6 "@storybook/addon-backgrounds": 7.0.0-alpha.6 "@storybook/addon-docs": 7.0.0-alpha.6 + "@storybook/addon-highlight": 7.0.0-alpha.6 "@storybook/addon-jest": 7.0.0-alpha.6 "@storybook/addon-links": 7.0.0-alpha.6 "@storybook/addon-storyshots": 7.0.0-alpha.6 @@ -17701,6 +17703,7 @@ __metadata: "@storybook/addon-a11y": 7.0.0-alpha.6 "@storybook/addon-actions": 7.0.0-alpha.6 "@storybook/addon-docs": 7.0.0-alpha.6 + "@storybook/addon-highlight": 7.0.0-alpha.6 "@storybook/addon-links": 7.0.0-alpha.6 "@storybook/addons": 7.0.0-alpha.6 "@storybook/builder-webpack5": 7.0.0-alpha.6 @@ -20065,6 +20068,7 @@ __metadata: "@storybook/addon-backgrounds": 7.0.0-alpha.6 "@storybook/addon-controls": 7.0.0-alpha.6 "@storybook/addon-docs": 7.0.0-alpha.6 + "@storybook/addon-highlight": 7.0.0-alpha.6 "@storybook/addon-links": 7.0.0-alpha.6 "@storybook/addon-storysource": 7.0.0-alpha.6 "@storybook/addon-viewport": 7.0.0-alpha.6