From e3fac677f4c4f12e97af6961ae6653b4b6cf071c Mon Sep 17 00:00:00 2001 From: Tobias Date: Mon, 20 Jun 2022 11:59:08 +0200 Subject: [PATCH] feat(Autocomplete): add support for data suffix_value --- .../uilib/components/autocomplete/Examples.js | 79 +++++++-- .../uilib/components/autocomplete/demos.md | 22 +++ .../components/autocomplete/properties.md | 3 + .../uilib/components/dropdown/properties.md | 15 +- .../components/autocomplete/Autocomplete.js | 12 +- .../__tests__/Autocomplete.screenshot.test.js | 55 ++++-- .../__tests__/Autocomplete.test.js | 53 ++++++ .../__snapshots__/Autocomplete.test.js.snap | 27 +++ ...omplete-with-suffix-value-1-bae4c.snap.png | Bin 0 -> 40499 bytes ...-match-custom-input-width-1-41b4b.snap.png | Bin 0 -> 10189 bytes ...omplete-with-suffix-value-1-1e7f2.snap.png | Bin 0 -> 39890 bytes .../stories/Autocomplete.stories.js | 79 ++++++++- .../autocomplete/style/_autocomplete.scss | 49 ++++++ .../dropdown/stories/Dropdown.stories.js | 61 ++++++- .../src/fragments/drawer-list/DrawerList.js | 12 +- .../drawer-list/DrawerListHelpers.js | 4 + .../drawer-list/__tests__/DrawerList.test.js | 1 + .../__snapshots__/DrawerList.test.js.snap | 156 ++++++++++++++++++ .../drawer-list/style/_drawer-list.scss | 11 ++ .../themes/dnb-drawer-list-theme-ui.scss | 11 ++ 20 files changed, 609 insertions(+), 41 deletions(-) create mode 100644 packages/dnb-eufemia/src/components/autocomplete/__tests__/__snapshots__/autocomplete-screenshot-test-js-autocomplete-screenshot-have-to-match-autocomplete-with-suffix-value-1-bae4c.snap.png create mode 100644 packages/dnb-eufemia/src/components/autocomplete/__tests__/__snapshots__/autocomplete-screenshot-test-js-autocomplete-screenshot-have-to-match-custom-input-width-1-41b4b.snap.png create mode 100644 packages/dnb-eufemia/src/components/autocomplete/__tests__/__snapshots__/autocomplete-screenshot-test-js-autocomplete-screenshot-have-to-match-small-screen-autocomplete-with-suffix-value-1-1e7f2.snap.png diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/Examples.js b/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/Examples.js index 063e6e98d56..b96dc1427f3 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/Examples.js +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/Examples.js @@ -8,6 +8,7 @@ import ComponentBox from 'dnb-design-system-portal/src/shared/tags/ComponentBox' import { Autocomplete, IconPrimary } from '@dnb/eufemia/src/components' import { format } from '@dnb/eufemia/src/components/number-format/NumberUtils' import styled from '@emotion/styled' +import Context from '@dnb/eufemia/src/shared/Context' const Wrapper = styled.div` [data-visual-test] { @@ -228,13 +229,12 @@ export const AutocompleteDifferentSizes = () => ( ) export const AutocompleteCustomWidth = () => ( - - - {() => /* jsx */ ` + + {() => /* jsx */ ` const CustomWidthOne = styled(Autocomplete)\` .dnb-autocomplete__shell { width: 10rem; @@ -259,6 +259,7 @@ const CustomWidthThree = styled(Autocomplete)\` render( /> ) `} - - + +) + +export const AutocompleteSuffix = () => { + const { locale } = React.useContext(Context) + const ban = format(20001234567, { ban: true, locale }) + const suffix_value = format(12345678, { currency: true, locale }) + const numbers = [ + { + selected_value: `Brukskonto (${ban})`, + suffix_value, + content: ['Brukskonto', ban], + }, + { + selected_value: `BSU (${ban})`, + suffix_value, + content: ['BSU', ban], + }, + { + selected_value: `Sparekonto (${ban})`, + suffix_value, + content: ['Sparekonto', ban], + }, + { + selected_value: `Brukskonto (${ban})`, + suffix_value, + content: ['Brukskonto', ban], + }, + ] + return ( + + {() => /* jsx */ ` +const CustomWidth = styled(Autocomplete)\` + .dnb-drawer-list__root, + .dnb-autocomplete__shell { + width: 50vw; + min-width: 15rem; + max-width: 30rem; + } +\` +render( + ) +`} + + ) +} export const AutocompleteOpened = () => { if (!(typeof window !== 'undefined' && window.IS_TEST)) { diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/demos.md b/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/demos.md index 7cb632ef0aa..3367f1325bc 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/demos.md +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/demos.md @@ -12,6 +12,7 @@ AutocompleteToggleExample, AutocompletePredefinedInput, AutocompleteDifferentSizes, AutocompleteCustomWidth, +AutocompleteSuffix, AutocompleteOpened } from 'Docs/uilib/components/autocomplete/Examples' @@ -58,6 +59,27 @@ Four sizes are available: `small`, `default`, `medium` and `large`. +### Data suffix value + +Data is provided as such: + +```js +const { locale } = React.useContext(Context) +const data = [ + { + suffix_value: ( + + {12345678} + + ), + selected_value: `Brukskonto (${ban})`, + content: ['Brukskonto', ban], + }, +] +``` + + + ### Custom width diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/properties.md b/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/properties.md index 3bf4f28c07f..eb2da5bbd72 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/properties.md +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/properties.md @@ -73,6 +73,7 @@ const data = [ // (optional) is show instead of "content", once selected selected_value: 'Item 1 Value', + suffix_value: 'Addition 1', // Item content as a string, array or React Element content: 'Item 1 Content', @@ -91,6 +92,7 @@ const data = [ { selected_key: 'key_2', selected_value: 'Item 3 Value', + suffix_value: 'Addition 3', content: ( @@ -101,6 +103,7 @@ const data = [ { selected_key: 'key_3', selected_value: 'Item 4 Value', + suffix_value: 'Addition 4', content: ['Item 4 Content A', <>Custom Component], }, ] diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/dropdown/properties.md b/packages/dnb-design-system-portal/src/docs/uilib/components/dropdown/properties.md index 22aba8d9a73..af3faf474eb 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/dropdown/properties.md +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/dropdown/properties.md @@ -10,15 +10,15 @@ You may check out the [DrawerList Properties](#drawerlist-properties) down below | Properties | Description | | ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `title` | _(optional)_ give a title to let the users know what they have to do. Defaults to `Valgmeny`. | -| `variant` | _(optional)_ defines the kind of dropdown. Possible values are `primary`, `secondary`, `tertiary` and `signal`. Defaults to `secondary`. | +| `title` | _(optional)_ give a title to let the users know what they have to do. Defaults to `Valgmeny`. | +| `variant` | _(optional)_ defines the kind of dropdown. Possible values are `primary`, `secondary`, `tertiary` and `signal`. Defaults to `secondary`. | | `icon` | _(optional)_ icon to be included in the dropdown. | | `icon_size` | _(optional)_ change the size of the icon pragmatically. | -| `icon_position` | _(optional)_ position of the icon inside the dropdown. Set to `left` or `right`. Defaults to `right`. | +| `icon_position` | _(optional)_ position of the icon inside the dropdown. Set to `left` or `right`. Defaults to `right`. | | `triangle_position` | _(optional)_ position of arrow / triangle of the drawer. Set to `left` or `right`. Defaults to `right`. | | `size` | _(optional)_ define the height of the Dropdown. Can be set to `small`, `default`, `medium` and `large`. Defaults to `default`. | | `opened` | _(optional)_ if set to `true`, the Dropdown will be rendered initially with a visible and accessible data list / options. | -| `open_on_focus` | _(optional)_ if set to `true`, the Dropdown will be opened when the users enter the trigger button with a focus action. | +| `open_on_focus` | _(optional)_ if set to `true`, the Dropdown will be opened when the users enter the trigger button with a focus action. | | `prevent_selection` | _(optional)_ if set to `true`, no permanent selection will be made. Defaults to `false`. | | `action_menu` | _(optional)_ same as `prevent_selection`, but the DrawerList will be opened from the bottom of the page for mobile devices. Defaults to `false`. | | `more_menu` | _(optional)_ same as `prevent_selection`, but the "selection area" (given title) will not be visible and the icon `more` (three dots) is used. Defaults to `false`. | @@ -27,7 +27,7 @@ You may check out the [DrawerList Properties](#drawerlist-properties) down below | `skip_portal` | _(optional)_ set to `true` to disable the React Portal behavior. Defaults to `false`. | | `stretch` | _(optional)_ if set to `true`, then the dropdown will be 100% in available `width`. | | `status` | _(optional)_ text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message. | -| `status_state` | _(optional)_ defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`. | +| `status_state` | _(optional)_ defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`. | | `status_props` | _(optional)_ use an object to define additional FormStatus properties. | | `global_status_id` | _(optional)_ the `status_id` used for the target [GlobalStatus](/uilib/components/global-status). | | `label` | _(optional)_ prepends the Form Label component. If no ID is provided, a random ID is created. | @@ -53,6 +53,7 @@ const data = [ // (optional) is show instead of "content", once selected selected_value: 'Item 1 Value', + suffix_value: 'Addition 1', // Item content as a string or array content: 'Item 1 Content', @@ -66,11 +67,13 @@ const data = [ { selected_key: 'key_2', selected_value: 'Item 3 Value', + suffix_value: 'Addition 3', content: ['Item 3 Content A', 'Item 3 Content B'], }, { selected_key: 'key_3', selected_value: 'Item 4 Value', + suffix_value: 'Addition 4', content: ['Item 4 Content A', <>Custom Component], }, ] @@ -80,4 +83,4 @@ const data = { a: 'A', b: 'B', } -``` \ No newline at end of file +``` diff --git a/packages/dnb-eufemia/src/components/autocomplete/Autocomplete.js b/packages/dnb-eufemia/src/components/autocomplete/Autocomplete.js index a27d3426d40..48efcf4925b 100644 --- a/packages/dnb-eufemia/src/components/autocomplete/Autocomplete.js +++ b/packages/dnb-eufemia/src/components/autocomplete/Autocomplete.js @@ -179,6 +179,10 @@ export default class Autocomplete extends React.PureComponent { PropTypes.string, PropTypes.node, ]), + suffix_value: PropTypes.oneOfType([ + PropTypes.string, + PropTypes.node, + ]), content: PropTypes.oneOfType([ PropTypes.string, PropTypes.node, @@ -1786,7 +1790,7 @@ class AutocompleteInstance extends React.PureComponent { } const inputParams = { - className: classnames('dnb-autocomplete__input'), + className: 'dnb-autocomplete__input', id, value: inputValue, autoCapitalize: 'none', @@ -1934,6 +1938,12 @@ class AutocompleteInstance extends React.PureComponent { status={status ? status_state : null} status_state={status_state} type={null} + inner_element={ + getCurrentData( + selected_item, + this.context.drawerList.original_data + )?.suffix_value + } submit_element={submitButton} input_state={ this.state.skipFocusDuringChange ? 'focus' : undefined diff --git a/packages/dnb-eufemia/src/components/autocomplete/__tests__/Autocomplete.screenshot.test.js b/packages/dnb-eufemia/src/components/autocomplete/__tests__/Autocomplete.screenshot.test.js index 5311903da16..49c8df1b31e 100644 --- a/packages/dnb-eufemia/src/components/autocomplete/__tests__/Autocomplete.screenshot.test.js +++ b/packages/dnb-eufemia/src/components/autocomplete/__tests__/Autocomplete.screenshot.test.js @@ -20,6 +20,13 @@ describe('Autocomplete screenshot', () => { expect(screenshot).toMatchImageSnapshot() }) + it('have to match custom input width', async () => { + const screenshot = await testPageScreenshot({ + selector: '[data-visual-test="autocomplete-input-width"]', + }) + expect(screenshot).toMatchImageSnapshot() + }) + it('have to match autocomplete with drawer-button', async () => { const screenshot = await testPageScreenshot({ selector: @@ -35,12 +42,6 @@ describe('Autocomplete screenshot', () => { }) expect(screenshot).toMatchImageSnapshot() }) -}) - -describe('Autocomplete screenshot', () => { - setupPageScreenshot({ - url: '/uilib/components/autocomplete/demos', - }) it('have to match autocomplete with search result', async () => { const screenshot = await testPageScreenshot({ @@ -48,31 +49,57 @@ describe('Autocomplete screenshot', () => { simulateSelector: '[data-visual-test="autocomplete-drawer-search"] .dnb-autocomplete .dnb-input', simulate: 'click', - waitAfterSimulateSelector: - '.dnb-drawer-list__options .first-of-type.dnb-drawer-list__option', style: { height: '40rem', }, }) expect(screenshot).toMatchImageSnapshot() }) + + it('have to match autocomplete opened list', async () => { + const screenshot = await testPageScreenshot({ + selector: '[data-visual-test="autocomplete-opened"]', + simulateSelector: + '[data-visual-test="autocomplete-opened"] .focus-trigger .dnb-drawer-list:last-of-type li.first-of-type', + simulate: 'click', + style: { + height: '40rem', + }, + }) + expect(screenshot).toMatchImageSnapshot() + }) + + it('have to match autocomplete with suffix value', async () => { + const screenshot = await testPageScreenshot({ + selector: '[data-visual-test="autocomplete-suffix"]', + simulateSelector: + '[data-visual-test="autocomplete-suffix"] .dnb-autocomplete .dnb-input', + simulate: 'click', + style: { + height: '25rem', + }, + }) + expect(screenshot).toMatchImageSnapshot() + }) }) describe('Autocomplete screenshot', () => { setupPageScreenshot({ url: '/uilib/components/autocomplete/demos', + pageViewport: { + width: 600, + height: 600, + }, }) - it('have to match autocomplete opened list', async () => { + it('have to match small screen autocomplete with suffix value', async () => { const screenshot = await testPageScreenshot({ - selector: '[data-visual-test="autocomplete-opened"]', + selector: '[data-visual-test="autocomplete-suffix"]', simulateSelector: - '[data-visual-test="autocomplete-opened"] .focus-trigger .dnb-drawer-list:last-of-type li.first-of-type', + '[data-visual-test="autocomplete-suffix"] .dnb-autocomplete .dnb-input', simulate: 'click', - waitAfterSimulateSelector: - '.dnb-drawer-list__options li.first-of-type.dnb-drawer-list__option--selected', style: { - height: '40rem', + height: '35rem', }, }) expect(screenshot).toMatchImageSnapshot() diff --git a/packages/dnb-eufemia/src/components/autocomplete/__tests__/Autocomplete.test.js b/packages/dnb-eufemia/src/components/autocomplete/__tests__/Autocomplete.test.js index 5bb76826df7..7944adabdc7 100644 --- a/packages/dnb-eufemia/src/components/autocomplete/__tests__/Autocomplete.test.js +++ b/packages/dnb-eufemia/src/components/autocomplete/__tests__/Autocomplete.test.js @@ -1494,6 +1494,59 @@ describe('Autocomplete component', () => { assert() }) + it('will show suffix_value in options and in input when selected', () => { + const mockData = [ + { + selected_value: 'a selected', + suffix_value: 'a suffix', + content: '11 aa', + }, + { + selected_value: 'b selected', + suffix_value: b suffix, + content: '22 bb', + }, + { + selected_value: 'c selected', + suffix_value: 'c suffix', + content: '22 cc', + }, + ] + + let index = 1 + + const Comp = mount( + + ) + + const assertInputValue = () => { + expect(Comp.find('.dnb-input__input').instance().value).toBe( + mockData[index].selected_value + ) + } + + assertInputValue() + + index = 2 + Comp.setProps({ value: index }) + + assertInputValue() + + // open + keydown(Comp, 40) // down + + const getTextContent = (itemIndex) => + Comp.find('.dnb-drawer-list__option') + .at(itemIndex) + .instance() + .querySelector( + '.dnb-drawer-list__option__item.dnb-drawer-list__option__suffix' + ).textContent + + expect(getTextContent(1)).toBe('b suffix') + expect(getTextContent(2)).toBe(mockData[2].suffix_value) + }) + it('will select correct item after updateData', () => { const mockData = [ { selected_value: 'a value', content: '11 aa' }, diff --git a/packages/dnb-eufemia/src/components/autocomplete/__tests__/__snapshots__/Autocomplete.test.js.snap b/packages/dnb-eufemia/src/components/autocomplete/__tests__/__snapshots__/Autocomplete.test.js.snap index 30de6474ed5..b12658e8a5c 100644 --- a/packages/dnb-eufemia/src/components/autocomplete/__tests__/__snapshots__/Autocomplete.test.js.snap +++ b/packages/dnb-eufemia/src/components/autocomplete/__tests__/__snapshots__/Autocomplete.test.js.snap @@ -2890,6 +2890,33 @@ legend.dnb-form-label { transition: transform 400ms ease-out; } html[data-visual-test] .dnb-autocomplete .dnb-input__submit-button__button .dnb-icon { transition-duration: 1ms !important; } + .dnb-autocomplete .dnb-input__inner__element { + position: relative; + z-index: 3; } + @media screen and (min-width: 40em) { + .dnb-autocomplete .dnb-input--has-submit-element .dnb-input__placeholder, + .dnb-autocomplete .dnb-input--has-submit-element .dnb-input__input { + padding-right: 0 !important; } } + @media screen and (max-width: 40em) { + .dnb-autocomplete .dnb-input--has-submit-element .dnb-input__placeholder, + .dnb-autocomplete .dnb-input--has-submit-element .dnb-input__input { + padding-right: 2.5rem !important; } } + .dnb-autocomplete .dnb-input__inner__element.dnb-p { + pointer-events: none; + white-space: nowrap; + padding: 0 0.5rem; } + @media screen and (max-width: 40em) { + .dnb-autocomplete .dnb-input__inner__element.dnb-p { + display: none; } } + .dnb-autocomplete .dnb-input__inner__element.dnb-p, + .dnb-spacing .dnb-autocomplete .dnb-input__inner__element.dnb-p { + margin: 0; } + .dnb-autocomplete .dnb-input--has-submit-element .dnb-input__inner__element { + margin-right: 2.5rem !important; } + .dnb-autocomplete--icon-position-right .dnb-input__inner__element.dnb-p { + padding-right: 3rem; } + .dnb-autocomplete--icon-position-right .dnb-input--icon-position-right .dnb-autocomplete--icon-position-right .dnb-input--icon-position-right.dnb-autocomplete--icon-position-right .dnb-input--has-icon .dnb-autocomplete--icon-position-right .dnb-input__input { + padding-right: 1rem; } .dnb-autocomplete__text { order: 1; position: relative; diff --git a/packages/dnb-eufemia/src/components/autocomplete/__tests__/__snapshots__/autocomplete-screenshot-test-js-autocomplete-screenshot-have-to-match-autocomplete-with-suffix-value-1-bae4c.snap.png b/packages/dnb-eufemia/src/components/autocomplete/__tests__/__snapshots__/autocomplete-screenshot-test-js-autocomplete-screenshot-have-to-match-autocomplete-with-suffix-value-1-bae4c.snap.png new file mode 100644 index 0000000000000000000000000000000000000000..86cb69f87a859a80c7a61fae133ea1ca175fa917 GIT binary patch literal 40499 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 literal 0 HcmV?d00001 diff --git a/packages/dnb-eufemia/src/components/autocomplete/__tests__/__snapshots__/autocomplete-screenshot-test-js-autocomplete-screenshot-have-to-match-custom-input-width-1-41b4b.snap.png b/packages/dnb-eufemia/src/components/autocomplete/__tests__/__snapshots__/autocomplete-screenshot-test-js-autocomplete-screenshot-have-to-match-custom-input-width-1-41b4b.snap.png new file mode 100644 index 0000000000000000000000000000000000000000..82935faca5dceba36f97e4544ee588ca0e38250d GIT binary patch literal 10189 zcmcI~cR1GZzxORgnThO3gNj6DZ_3_8#%)VvW^Y0^N%kfyo2(nzD_hyzva^%D&-?zJ z=Q_{toO500oaiX&qPv7C5)ba8X{}N9&;rPVF1c~V7OOy|g zURMp)J|eD(-V?tdc{z>p%1s7egF9ZnSA!z{7Z+n~ng=>4s;f`-xu&hl^Fvm$vSwZ@ z2heFy)67{|_0cc(F`Wc5ePWgPEwzaV>gv>QP7^c7CpJloq1anoY*vc7D)6AjH73&8 z`I+Y#51(58&B1nw<&VB}J4C4#fq}IYRGsxW7YQT;M0YyTlZi_{@7U9s?NDLatom}3oA8$snieY}+7gMt)^CsV!oaX^pWt{A3;%zh%0@Zko zzKS6iKU@`Mza}htxs{-cKXpcVYP6#yk+#%wnlbO|Cq-gn?fiTv{YBYK8B$UH3%41) zKH}lMq@aJ-=7$D+SVril$sEYMu*UF84#`BwmTD?lqjjCO*9G6 z0S7%ZjD&}dN51lRjuYiL#2xe5%n`_FQr8y0%F;Br@-x(?NjAS)8}`8dmC zB{v)K+R}3Ibbos3U~7*5a6VGD-}Zrsp59GDLP94OmzANgtA>HISY$DgVz5(jtHZmf zuuRRKy$;FY*0ztTio!Ym?Wucd1FzZG*%|KKc~&W#sa*1^hgwrpbBBl?;p*zDmj5!% zkxw+_ZV;}bnyG1ftb))SU)sh7f=vAdp$k1HC+Gaaf|9zrzn`C<<>7p1 zIeDqs(1XOJBfWliRaHRJ$(2O)^2EO+SwXRQ4<=jUF$?5Bh#hR%p@q7oFNfzU~K$c zRh29`IT`L;{APp|K9{Zah=(VxPw<%F$&)8)h1#8@3j88(-#*S(NXbf1e>XflY-vIK zwJ1U1`W`MWE~mw~Z&cKEf1(?+;hrbA z`5e}M+ct1>a73wO%fs(!?53B)zQ@cwS6P4haAs!4$<=kg%3V_OG6x3-RKQ9!)V89M z(!hf1AN`RcT_#veK)~hbN4mWsR8L;kIg6fF%GXeIJHU-OEOr=Fdg+uGeV-d!0w zI6fvNCvRgesulI{@JMMlxM}Zxx;yf^T$9s$w4tm|P)1Sl>cGIj!NGy`uLf_rX2P4y z%)yC?w6|{E!rT}>1Pxy1u&!CCT|H=mG%#1@_u|FATNrMo<|UAui@;uaxZ5%|7Dq_K zS#0`)aj_@CUoFr0{Opug(5-3$1-xqiNG&HcTYG`WijqmBL zJb3V+X=vy=Ha0eVW#{SU=2qo-E?8+by-~8Bo_>pffZ+1MKqN_RZEfsRQ{@!y*#%KoY%|wJLP;s9sTpsXEUTtQ?(OYe*Gqb|QL|ZG zUf$Z#ku&jTZ*Nb#%Gw(~HkBJBfB$~+n|ng8 zO16V*L3;WHe0==w?rxX-yo!p7zVVjP3?~HEnnrn0Ke15DZV%TO9aX2cqoa0y!TrK~ zBP&g6Ez)a$9IYvLhKl5&SaMV!{3Q09@V!DB%khRB)0I(C%NKI0tEq&9gj63~_a~-* z^>@A#HG;!@=Z-Hv1?z`|gf4(Q)7P(m@9yC9iY^Xj%6u&^w@(;V*U*Vy^ox!03$5x}hkY-4aG4NkQ9PWjo~i*j=F6#|p{71q)jgM% zm6fgZ9_dwy_jiTDh%bLLa_#zczw&Ypz@f~vG=0gm6 zBpn?c;}a4(ySvv);ouXY4kqcfuh`kxh!m*VE)Qn1V*h|eXn%9l*hFa~k<||C)Q%gI z%cV$rdydxD*1C%01D_?)Bq7glT_tCKyB<}$?pxMF>6kp*@k%vhxo0{j4x{p3;g|HP z(rXlN-dv!iwaZ36x_D{1?VUrBCP%7+oUH6+V&bJ=jXrKW0}{}}hL)DSyQ?GcOf5Y< zgiK6KQ%7^{;q4tAmv7&`o$Pt$Twyic>y3?juv_FA>h0Z_I;{?{Xk%kTNljg9w>&5~ zvb(p(c=M)LpU`>Y%8J?K)YN@uX24;z7`ZLJFqxbUjZwva+&jk5=+1si^eL%<$|83~H*Y zXI56e+x7{x4`fJG+pm%n5fM$+I!6uE`{wwJFnwKXmB zUU6x;HHulC+h+D+PfrgNpQxxPpoUG+KKt0j#P+0ZpUt0NA^_}gaZ3-4*Uzr#c5+}d zHGORG`gKP<$D0G#X(>6mg_b~4m|wFqGmWLjU8s-(ZXTWz=j~URfyK(&HZ_&B&=q4l z*G34?tdy%NR@l|u9TKDK5og#QX0tKL^X+Jb8M-Ex(}KDy=Fv!~(&6#3?M%}p14Bb+ zKs&5h0awnjurTdfA2GeR|bZt*A}8U}Gyt!;^rJP~!Ok z!u>2mUP`L5sY#S;W3azp7!YxJdAU1Tz;(0<_cw=I>YS6H_L91;`*YwU04j*dYFqy& zCcQ8a*gt0z1f*0dQ3*Gsx(W($aam5@6cD%pLp{Hs;QqshnFR%ey1Kg2EE?&Oa`yK2 zub)z1BPA^~E+ZU(U2ScXiSe48Cb=u_GOpYZb_vHq9-p}; zyZxQM~F^MLlI`xy@#9;a+a4mwibI@KQJiSuY=K7%_-Z zk3E(e^@3Xs12!G&mF49TadE)^uk7ybIypK0T37&tF1Jkj^oeX^vRcf^=^%B&%G~@} z#=x)j^`0u5+l$45$}x|0#WM!30-C3#*=4o<3Jp+@Qx?J6c35i=Enu|We)VPACHQkF zjj888GOSRmJ@mWuqWb|uYgCk&S$%G9AhO1Rgp{;-C{Nwg+|{WRsB#w z_Q30ojt${Tl^g+{3*fCtwn9C+Q&c^-6Rd&lCHxiC=vy(5RR#(UEPkW{SY;OZ8ek{^AA$0*8 z8>VH$j~^;U4!)E!WW=deiL^m^Uplla3rFl(hRiA?#7kK@qd&j9AS%F*Q%)Qz?h_bz zg@J(qW&9v2h~v$0|KMP{;{jrHVxr8T6|ZiB#DGPK-wO_dug&dDzI)1)o*uA@4TrnR% zUNg6_hy(c4*VmtV_ZWz2em;w|v~+Q0rAb=|m23iMsDj|3FHAE-6O$3+(;CN3qN+l8 zFn|-FZK+vVI9yy@$!>q8+>V@2MBlt&25QX+&kk^_t*ssV#DoY6BvHsSc|^yxVA_zi zji|L9v*at**1sJEVsL$0#i(%ch={W4>XI-I43$JpLxcMjDJpsaj?mZ74^~ScY;1gY zsV`+|ZLACk>s4xMyoNg0{hXYf)XdCFwzjq`4Bo;qxU<9hcq@F)ZuKq`)ApE2ivFutZQrAqoo54?B<1B7cb0#^AnhL? zA1_$<9v=Gnv!$KhQ`W(O^GCJ<)2&NI@XEQOY z7a9$ImO7cEKmWBdlm~Yq_+1rTBDRIV+x>I1Iwxm(m)EC#AuUf0d*RowhAg>+;?mMt zka;It;hskAVK>}~D6_M&-md(-5Bxj!FvApKY;1h8S6P3TpP$ysYLl*#7$jg;)_a&1 zQ>Achz<^PSc!Fz3yQ_DYm`FiN{9WjZV>iTs4S02Wv^$Bi4~}F~xS*(_f+>k_-@fJR z)KPnSdNwsRIW0t~cl7mbZoee>Tv$|pMqQxR^`4N%X>ZH~=Ho41UTS)JdLmlxe#0s( zm~|0QRnMMXgd4Z@^@acWV?A7m?1JfklrIw^2fD{3wPkm!2d|ikv zNEE2et*%bYae@Q@p2F_Bx5nC)l$dC3Z=ac(ittLu^}az#Ich9`(S8$jvdHJppI4z! z26}qJ&!78kgolR{?{7{o!9fXBAXQa;y}hxpgj{&DVqz#jx2=@1vUA=S#Mzncjx!f> zjkafJ_x-ko6K!T+X%AI-xZN3fV%bYuw|GHB!U-1g1OyD+svRWfl`B{Dzkj+f+7F^B&Xt^dQWB5k&0$`lax1*t4 zXw4{TzoRtk1UCH(Wv_Z}L06WRK1L!qxVYw)mi(nNXaCGJ%O>+{?2qgD`TAM|Zvx&$ zCFH>m=0{z!hloUnHp(s#R$xhb{JpEI1OyJ~@%?b%8!_1_9;hytO3SIiJXR27V8uX1 z8$jXtxYUETy(=U{U!XQ&;pKS~xU|HU3Y!-~LZY<7ym7kGo5Il0#(ni60sL>bpmH?+ zL&N4`xBhDSbN)(Ku2lm=+#v@sF>KG%Ro%eAz-7)q@|53@HbD{Ib> z8JIsmjrDk85x^N&kue}QM+%X1U}+&M@(K&Hs;a6+9Oym&nE%;c>T~27*7Z2N>$r(t zuViK43kjgRY8P_puEnGzjIh=hFUZu@W(_RlynK8%zOMSE-kf^bzwsgu=Vu{6KL~nS zey0!Nf=8FFtgO0wda6B6dEuF=fOOB#f7bFmIoQHbaU-La?LMJCs52hxUx@m%-6D22 zHp-o2fJH`DRw6Mmv1nH0_!0_Swu=`p{yAJqQ9&X@YijraBknLV0^W5t`Qdwqp|$Mn zp7J?v%qKab8=ISbf`ahAYCeS4$Bqx3Qbz*g!weA2IHjfS2C#$5n_DfaZ-ZF@Eb}^u z6InSq?=TT_fOL>b&KuQB+%7x!;E|I&dtqDt3&{rA4HjT*u$P~fuOKm8)b)6Y=_18#l=zm$dWTW{JVf+e*mz@s$C^)Zq5Q| z$BQU4>1!JphyV$zqN5`Z(n~}{gqG*+=jr&CQN#YirBHqxt&0A$jhf~ceO|Scq|NBB zPcga`x(&D70&G!WKXtv$R8lLetKd~qsrE5*az?}8M0*^sGwhDKD66ZF%r!i=qwNC^ z6KR!GXuRS*dV^1t&-~)^=5c6$qZ9wwD zTYdTUwNkz9r9m0 zRjXk#(GdA4Lc*7nG^`uEkI zhYwE%yYOoSv)1t$#JMai9%etKKD#ZLoW!iYGL?*el7{uIqi3PM{_uUCv9T%_$1?KM zRRg2ar<`pQ=wzYp6oms)h2K-?V$5R^_-S7v{eKf6{A>R3ej!F_!Q03npK=5DZK(Z! z5(->g^kFDp%82h9=mjGkx`7nW-mvS;0XthtsLx7r|11?6tbg8a33z2?*}E+wLK#le zUeWUG%1r@KOm+|rIPYz>`)80dh=*QEPSytPkl97K`)_K2GECE#k|SSEHYZ|BzOM6s zq81=SIWey#r)UpmXP1s)z|ntcDSqAHPRE0XFHjfRC9eq^sODLk-#Om1_=typKljUp zUwupp*H$*dz;cf^D{s0U^i2{GsKoq#=I!|0&LcWEe)_m{0=aC%!(%QdsfP}`QM=du;q*)6D1%h-7UKgz zCEM*qIp}WZ_3{yDNRqDThjaV&=K`cm@^|?75};Z2C#FB%l>uHm3u1-3g0od&uDptS zTwi$RhiTu+&{v^RwGfuu>A0U#QivNKd29u7RvJby&c?9CgcyrB?! zAv%2gUSjQNUxVi9?lza4;Ns+b>~Z4M7OHYK z_tE~CGeS_%2Zb`uRU=)V6ML&ab30#_!0&I$J-sF$-1zI)uY<2NzQ934li*QVl%GFu z<#|j47QXppRYYebQXJ;Vj9k8NM z1$hInC8ed)b8-T}$fBjCy^N19mZ`i2>BXOwyrS9J*+Gk%-mRi!GY~O)OT9_mNqjNj ztRq1BNXp87hA|1507e=?9v~CVLZujs(J)`XK9!b{VSoI%skPP5xGOpWP8eKk=cOda zBMU?B7hIgm$}gUKWz3~k5?b3~Tw2iFZ%sWeQjuiqH8wWF7Qg*FFGWNzDEs_*t5>Ck znb~Zlf?yhm+!!5~K-ia6oxCq!45q)iLs!7i50ZEkW9Z}KV`^cs0Q`PRr>mo*0kq!o zkL-O-46oO9+qwj9X->|)rsif-D=Ul(33|X$qY{>Weq4W^k)I!8lHwi>#X0x;H>`~S z+)(##Bj5`n9zS{Fn!i0`Z#n&~XZrliF(^1Vj>ncUPpzP7d^{e=4=E|B7)vk2eEx z24!{&NF-1fwl~8dXjxn)3qd`(AMb576AS%m!hiH@adCKI7w8J42<=eWN0aA}Z*Y5@ za8prHb;onaRGz?hP@DvWuDvTTXF=y;q|Te+`~hTvE2MY_$J6KXupPiWTYGv!_x2q2 zHl~85GYz&Edr&Ir4GqFTCJuIfC>#rbdXt}@pYNZX%;)QQV`@4B`wFfjyXoK^gu^CU z4kRp)1XQ6q1sU1r)l+8|m%ULwY)~<7TdfqpJ+>33PsI1pCOz@3X=45mTrKZ9U1q1e zy{G~?UaRNni04+G?r9L!lULUJ8%X&i-d4WNT8w$&I=KkWBRFxeh29E}>gBJ3jM@A) zWX2&VC`fkwx)KsupoJdGi{-I>RWz}1&G+73k&N!A{AoU(z@gkUK-W!J(Ez|693DcZo0FFZTNyYxseN*Cf^$^J)=?YobSjgefx{v32cipSA? zm@0!GaHaUp8B+Kh!@zLIO7ggL@uKzW@IwHc+@hlPk&&3_XmXf15Kb`Ox|QBFR1LNs zydI$d*aNmGj8`Q!wKfRx;~<3t`|5O~tgJHn!v`;LAwd1F?Ir8FEZ-G8`6G6=Vi>?pHDv-t!Hf9N-T6DEFyvh?3$8>1_L_p&rhe%jbT=ej*j+2 zmyZ+Ztjf{-`^l(i>>%3zaxkgJXtFO-hd}GZ)qn-0q@|D!P_eK)i6f9k79F)C0vPEJ1mGwqK9w zd1yLTE?g@ZhQb^~*}W3xCllcP!XKAPj#w?8mJGvw^mNGAGwOefa9&$j3{7#SZLU*D zQ+5|n3hm8c-Yn7X2DejSE&Nt)K|$-}WbFuAAG`tJB2%mr`(M#1XFE(;@=4zzDu0~M zv3EB&Rc{pMgV@xR{{odr^XV9UFd*b_eQ|N|m!Y%XZD*p}Ak=>j4?84iB*n)|D=A@+ zGkl&$GD*F{B||wE<@-uro(S^}Mb=G7R7of(+QBHak2&#tkVZ%MSFa=`jf6s2$kC)X zk>SY`QqZ=vH*Um%M*}(=^!Zg98XE98KCwmsa{;0PFIBXHdnpykI50Q}S-zmq$scUc z^izei_m?5DfzeTn!O9OPs} zxnvb6A#td1ObJ4@BVVITT$MPT38)7QcxGgqS1q?KBgTW0lDqUv0iWWp0exj(K!g}b z2^MqY*MNdx^83j5ly_R0Zs9SsvHmwNXbtdrv4n)?n!o;6_40s*x|q_BOD6oO3vT~h zB;!_3I9<$xmcA*|(D&{1Cl>-KdFxC>&rLu#f=6DR>8I=Btk2b=J56Tr6b!ew(it;C zvvXtBZ!-rMLR?&gh%f&Np42`&POz%dR1>#X`Cw}dnz(p@4Y(hVvoA|>73t#o&HNi+Mr zGqdK)e3<{NHRD>(BMa|1=Un^R`&U=s^Jh}{IMg^O6bfHPT2dK>LX$_Kt~|%agx@TD z*1iRQq1h=*iKBA5X;)CFnk|%YWJ4!d+gtU21iyIWczffMk)ydhAtSE1 zBbMvD!SvKnLCMfcT0HnpG>r=n#V;16zErgJkIIsfcUbLBYHd>x9ImU!#>X2>RlA`)`}<$e3ckl9CMITKXMfU@EIhNY;3wjCVzcqkYW%~;k2rWY zL}+U+F9bhFM9fT2dtSw*NHuH;9sX^EYc)~s_xUqPX=$n6LVJ|y;IFvx^J_Rb;(B^F z>4lv!w6(SQ1qBUvW}8g=zFbvpplay*DrLLWO(*2Mk6m0`Y-4ZVRC95_VQOw}XW!P= z#&0`|af^{rNl6Kfl9Do*UYNSd`C!&er^?w69gE=Rty@>%>U?~B&@l;UKeRQBp?aa54p6#^U znBFrNiN4`+M(lBM%#3^`2M33c`x%wHySuc4f?rq|p=W$vqNs;R{6p(dnTR`Ls;ZP? zVq$8=7S{=A`B8#`f{`&XhAV&4rDbI58Usmp+L%*rva;gPJhYO8JAd^{4GqP@$}0Z! zDJGR6$?56I?yq0>kc%cKCy(XSzcM~CF|)N57R9Do-_t_~YegmME>z#pKukr2O-M+n zrlyu^x74k0NhsGE;LGc!kif^q%*@R9eqD`EzaC@L{BV6lt1C~xAvPj{w4=TKv#Frl z$vfnqUp;?b%T5|7X)*BgW#_;^6nr07GnHnQGq2s-w+2Hw+H`U-F+K(s`=_wbB<0GYraKGC|ze;TOiY&I}e(vaIam{fA;Lz`f$D> ziG5mHn#IN0@jVWXFs|ldsT*#M%^@@`IJmfF@vEz5#g01$i(6YgRE8F7gW10vwkFqS z8Ujex9=%_u`p-4w>Y4;|6}z3jk2|fh9OGM@pKpXUye-nP)RSVz`)_N?1ir~)sXJ-> zH&hfS+&2Xc4cngGP2YaSh(k`PFnW9i1%*u)Iy$<*p$hvoOk7;t&C@@Blp9-G3^&Ki zIQjS%qxT$z99>)(d3ebB`ueE&ZEm6-tEiCX=?b|k9ncu%N+gd4VYtx~=72nnA))6cuXS;XLHznmpcZw*X*JG5qx%vI&CQA}h zQvEk?+Op-MzkR!n@(c+H8K(}H_H7BfVL00usGPfV?5d`z$;iMUX653fb9v86i2le` zMDmtW)zA}crEbA0Su0CReAIYT;Apb23nt1GDks7k*0PG<{h6a;tNOY+G#MG0;R**13rkC+O`uSNxw>I6c98b5eR${} zA5ZP=?QOF&`@~AEFHykGW@}RTp89W$%Zqg-tVBno3=!R0jnx9CMVLMVHA{ve^$k>d)njEtkw&CBC(fJl5rJX}vX1ORfKKGK}VK{;IxVqH{)NebInR|n#+WK>hr#>&L0qdW<+H3yX7QEesj zXElxt5aAPa#yn|4p(L&eOxc}PS>^&vPI zue7|}0H8!(VPT|(l&vinAOX+3JkI5nl{Ambi&zo2NBysbP^ltCu;KaL&-lN5`J!iN zhz|1{AfDEyi<7p!J#Y2-p=N1Ch2eCq*V{D%0|VrF6XRVwT$G`m$T4>Cz<^sHP!MK00(SrZNqhXp8oeX4)7J;TY#Ic@eVMI@vnhNEL5rOa;W3-nHCJI$LD75Q)e-U+7Sx&p1m z-VI|u#h>@n$ZKn3zLAQwE~a|`3()l7pE?^Fd=6Ir2EcUWMp*#bBq_QT{=sdhi4qUR z{osKCJj2&r2@g$B!^|nJ^^&)U4TJL=8znJ4&!M+GC@Fj0MuO>i4dY7Lsr^j-RZLGO z7rB}qfCSvA&ZZ{65PISGH>ReX&^8aJ>(B$s*Viout6Us1($ky#@oAd1w6p+9Qzrmu z%KGuc)Mf)3O>Ac7U2ZNeeHcESgM-mKjzYz@b5Dt{_Z5fm^bF;1)3#RwjEF; zjNCs~RmRdJum-E$T%sc)8mO|4pFDss!SrOheY@37F_??bc2=@^X)i83JiNZPv%THm zY`2O?t zSh#CERE5)CM*Y85D#I+*Tw_;}lvB|q?)6p zj~a&MV_JoQa6P5Rq+{(!QP8ZPNu1FE0XnM@y_ZxH&y8&mAy5)4zXba}N6T^XJDR(>`x@ zwYELFAN_Y!)8>HnlN5EvKrrSBvWF#WT{<>J~fWzS_{;_>zIw8CfY5y{lo8 zo{toWTa*wZBRWdY+`NO`e5zU)HN7*}LQ>@K?;p$a=5zgC_yI93EgqmhU@@6PKxe{) zT@Iz$ttZNPeZ?7I2BK~X3DE*If(icX#Rfb~VsdgnXiv^V@EP7Mb21y61;$;yxw@jz z2U%UMDer65LY=35|NcEM2ini}zkdONfr0&}7-ro{?SD(Gb?@m`YZ<63DG>wGoLOCE zE$D*R_W=TtPvlqHbWQ=#2)nD$EdA)NIut@{Tbox&NlCvs(s20$?shD8B>-mjjpH_v ztulrmywI@_2srady5Wh5@t2mxuH}3u?l0WjQwN(iFIYLbxw)Yty@rR?kWrEF(AqyM ziwzie!+@icQyT0HwLCqv>WdQua8`%AIUTNFN7YVF>SQ{5J@y2O3PjmXG+14oH!S>j zadGrdN)FPY{*uAQMvSLVpFS{evbS!}RQaBonHlJQescGv2dpuzkRy>{bFkQ0v89nt zAq=cKU61pZO9M+LJ;`-Icj2~TAK9~xkB{eBO*{hfA=fYLw2Oi2%{P=f+yARb_24x& zEgfB1*0{ap94HD1u-ZR3Fd77)#mL5nJ1{VSGxTJY;}JKh#QSv=dMyfXBwxZvTqXU= z-^odOU?es+HnlM8LT6_U5Co{9p`jJx?~e%_o(py<@*R1_#r{=Q!tNKxCVs-nCnN!( z&`OjK)`oIh8UhHB{%)oI{yiV6wo~4jARN#a8Y)@TV=`4k-F|j7hC>%18*9-&Yt^{Z0hyl(C26EGR4XzghrRHj+U=B8YpB4a=MyXl z0+XTn2jt}3cXe~?g9?&-^2F9&U0uC*aIpEylb}5Fq5F9BLR5!`hfsG|{seUGZqdIj zCd$cCc`zBucqu3-hyo>Xh9p*V->d0p7hC5O&52oFb#3D!3I%Sz+bZZu&xM5D(dpnKJC)m(;h88)}BZv+Ki>h{}f_^@mp zd=1P5~EDcfN~4v9Ynq$Mal+C**jrO73|{ zcm3>i>N5JMW_o@eLrO|YtKz-FqWk7Z0TvSz6MRWr{lAE~xNE@dVdf96+1>ozh9k%I z5=S8lM_wH^+NbDfe_vk=6mQK)L_`FWS$}_jp2f%mKy{7H%~wzs78ZJXdY*vZ;?@-8 zb!~-@U^?K_P2zR&PvJ(E#{sHc4^A)Ya9^9NJi4NA>R~>N{L{flTi1ayyVbl<#rQ|f%c`sm%V=jGXwsMaZL;TJDo%4C;7tAcVLe{M|*B|Zz&)nt>I%N zop}Fn+SAJ)wy_oOHw>@{>0cxNvAz1Gm-NWq05v>XWL`E3zv2`Y79ND1b=dWADi6j( zvFq_$V=Jp}z}VdnxVf3kV8V3o@9z%>U*{f%VH*dEAc8pGzkhEZx&XrxA1>f*Pcd-8 z<#1geu#7zbizGl{S1~bVU85o+ZHi!q>H*-vr{N2R@BT=~Z{vxe!MOPN-yp-t{VEYD z(ser^N3W&0r&fCf9eo5wVw{&3+S*9L_eSk|zd`QE2Le!RxAbh&igl-Y=;8?(J$-j@ zNJtz2)xEvF2-DZ8O zsp=#^@CCR) z_Ll?BtJ5g9xNEQa(o#I_6FxQ12Y|nW$CpbIlITNIz5eE;SjHP1uy^_NYEi|8Ed-e- zpqOx4TU#6J>(`+;0T1xKotHjb?qkdxh0BCxhczD!6kxDnCRz7VY6wL#< z7dQo!j6$+d90;ES$JH=z7dBls#&Au#;?uX?+D}R{yLx)Upr%5vQ&T@cA@m_ztL%68 zV-tCIy$7%CzIUaH`NYDI{rl&S!THI7Ap&yMD?qI@20hK~DR8vt>-(U9;-OBVrIT$A z^@v_}qVfi^RELh~MI^~$txX#gm;?niS6rN%N{9zrfUsRh!M(oRD$WJ1?ln*c1)T)I z-oE1chVM5*e&*yvmuvpG8yOkNvW`C(osf|A;yD|@ss`XBYEZ_JBEmaq$KSCsWQDSS zaCJiG$;n>3EAU%BMT8FKEH*B#&vO=wej7S<^sa<2#SB|(ma}`u$_}`^SDk#?jflgH zED`yu(0YpA%gf7t@~-4X+~jGkD^2y$EH3D5>He(Y9{0f!5OO{GbaBJAc3D?PW?w=a zb>gv|=CUL#pV2sXk+AAT?Mw8BYO5(%?voLI<{pv~0UkZJszN;FP4D)m@L3D8r zwvi*#^u~5y;{#eKE-&W_b(lBN+D|?Qw9MV5Efx!y@g>SXF%JHpqJw)iLiej-+Py4}r+b(PRRN6v?^&4l2FKO3Pz9`E!$f@}>P2lQ4ER|?(Q z%pUdtA$r1F;nFM4;;mzQ#flMk{{|Wa>zmiAqj*OKp5t%oJM#Vxc_tTA zSY4K1%Z?wAXZ!Oh_@}B~J6jbw4dKu;x>^r(Qfp#yX+vyZ@$ru#EvZ%n4|H=CZCL4I zce_QeymOStR&twNqyK$Hd8GFR>k6446P+`u_$1bBXwny#b%AL3Vi z)-}4aL~h3v5#uO`x1LJAdOyJ2GLM;2 z8TDKZ-fUuT6#K=(eEa2FaqQ#oru{G9u4=$Vgwe(?fkQIgVDor^LV0gl7I&Qc}`qOw{d!3|TJXgg@ArluwYaXm|VbQO5nyOlo+Nt*v<3 zThBE#K7yN2-_e2V1{dDQtcV@{B%S_dVnl?`|A5K-AYg^k3S0rKb)Ob>lY@g0LDzZu z=)Zpb%6q#Y3l{uuucYt9K2nzawe||m}cxd^?UDV6V%LtjVdH>!& zHDZJuf0E%{hZG(viz+Oy-mo%Ip! z9Lra)D4rz?1%f_d*!qb|SqB=({&hFPgwB7zp^=%aZ)|)A z5e6Ndo%zgMKo9>A7+7arbM6mv`xO-8^@5@Yb@o_Mkr*(U%zz%=lFX;)B4h0@Lph9@Ql!%j#w>WD^p z!az0bP82|@%KIuVCswZKuPwOYfseql0~%PWG&WjbLI{4xHfStq zuoUCF;JA5lHTz{gzUc|(b3dnVVj}H5?Q$~h@^^KFqGu?3dwbO5ckg%r?^ae-mE~ce z7#SIX^)qmBDb3=zK#`Tg?|@A#udd#L!8>yi6CHg^M1&sHJ1w; zJi-8?TM@EXjbW~WoPrBRZZNF?$&}kay7l$-Jcliv!21Q@ssQw(u1tc40g4tDpg6(G z>?%SK0wloDMLdjfMk&O&1>Qqqj}WhC&j=7~)QA2|S{j9dQLAHC0j?O9As)yk$k=5A9qiB@jZA#Oox6%e|SLRFtP=93obZQ_j%i`O*9;gD}f7TWo61m z@V_JA`oKoKpx9+XGNB1@AVd&2xB)mR!{zpDAn~#*eFgs#))Q1PTu^M5qJz+ZCo7m$ zz!pTAiI?R!Qii>@lsZ%AZF&z@!q-1ucgb*w$;dD)EiD7t7Je6+_FX~U#!OdLRhy=X(VP%D9POnwpt`=pcLc0Bl}+-@1)#|cN*t4j zZ?{%NC;q{J)xK{D-ZcIxb$65xTJ`B0)UUKc;oMPLhveqVtW1l{Q&B3cDe5> z$lRY+#Xe%SlmN=fdX-)8Fy$72>|78%hoRu^Yn6JEv%Nxs6-bakON$n2!YF4hh@<+k zg~dG(5AeZBL^2x(s{_N(Zc()p6LdgI`R!N9fY|K--yS%%yUt@u1pV9(84kUvVxUS% z>@9X7d-$G4A$E$};q?spxGPYe$ecl<1+Q|nWJ;_^{xrh+BL3Cp7PRW+@iJ}%d-)mO zY=Zud4o2D0$;oVjb+s2bUjBqPLh}t<3^qoK-j0RP2~vP_JX~Z>xxTTH4_xJK(=0dB@GQ6cJ}N?F0JiE z*cdE#?}j@`>uPIiLOocjy}#7C10REyfLKkyu{#yKuG7&@Xl|S;iAP&EJ_3D8SJxWDty-Y}n_GK%~GTy1&zZI7(&6Z!?XWotxVMEPzMDC;xL1 zU5#(xL5GGKmsi~-)ogI?3pTB-d z>gzMWsdQvcd*A7MR-f!otsi{$c%mwRppR2&Y%}m!} zds+;{r1r$9-+awf-O0j1Aj=r^eR(ooNC62T7?J)EI)Y*Gx|p4ftpRu+lIMaMhW2Bn z&mANeeuvG(@$WaEJbA((C`bdl7-oil{~ClA;IgT>3@|{)BHM&0)D>uboCb~9Nd61; zTwVPd>|byl^`K>;P;zo|o$~k{8^Jj03hsXZLSd3;y zP7VRgS~3a>S%oyT{gs`|rTm+LyG2Ei zljv@lhOF5%tSw2+GPcvyk4Ailt*4XaeMKhFNBrGW%Qr6PKOI@s&-B>6J z9HS&B7t_?N&?&O62bJI^8O{QIXw4?*EzqkaH8LDWUo5}F%CcD^d6h?tHQXOCNQHrt$^ z*cU>6f{%|+wn|F;MY!xfr;&`bbS-R$8Spi)M)BhrUG;QSmyroxU*lOhn`f zsPe7d*P#UfH^`m^KcNrycbw`x;IFjw^p_@K&uC*IVgkB?B=|z5>b$^nItBtoPnVZX zA)$f^fAUI7q+pDKp%(I8F{ORtDU4CD(YQeSNuRvI@Kct_CHC&!yZnyZHy_!r`Z7rP z+jKMqB>g7PZd%%Ib~~M?Ol~w=yvafJuXF9VmKq6yoLAoFCF4PB%?TA+HFfh=WUU@5jFrP?tf=_Ps`WClz7=2}L9*fEoxug-*xt z@F68&Hy}iw(znH-O*%}H{D{NeoC_0Ogne;*^$%$hAqaZRef-p^H$tC6T;*Q9vBR^vQIx1Emc6CZvd1JWBH>WE~Tt*l+YC~gsquQR+crs1)Uxk zlTFYd_N&SGCJCz&im?Hti+m42#=aArF8?csOpd$H0umu2^ zOM%ueau_w#lt<(mt z$S}Kt=QYkC%&?_wxV5hosLrUE$nUkiZBv%37|SVUQ2QP%c!c}GJ_7Ir!=Uc(UsCOg z_fcjEpFVj)=8J)u8OzMf%=B*tK63MM!WAd|gNFmEy0!s1xtgUm3`26@>Nf)PozH3M z>m$BA8LFADPL7ZN2*c|3ojYGjOQ|4>fWWUi^0CiN2sa^x{2?^7893t20}bd!a1#NL z6+=>YP`LN+-+z#shv+pX-HCOe>Hsa)GcvjgjX#h<`f=CI^R4Pr2sM=;E+rX=LDn5u z!d*F!Z$7rSFY4Sg%Z0cJDy2vDr<7L8s6#r4v2BEQPi_%|xeG?vhhE9#Crbj8(5e(@82hY zuv}hV-s69p6Gp|^J+wOp0A5O6j~^r^CYrY6?CK~5ekTt!GBGiPP9!ZW>z$RAHC|?V zxH%Cd7js|iHi;NyR2??Q#b9_r@KuCVj|r`WaS!;LY1*CS4tGJ3|w{-^)8=AaA00JTga zO`ZTR7PJsCNHKt5w*$UJoaGv~l&dB5MSh5tjTT!5@mY?tj8lro{}DCN*@cONgaY7u z>?ac-eHwt|X~DJ{|Jnk5Y8(3cEFc}oYUPg?1MioHY%tK+vdLj!^@tabP>K}S-M|+# zpvi&wQadC^25+Srx$NJfS^@S zQ1Ie(%Ka1{d_59wB^*C-#FhlC1cM9nKlzwao0%)o_qACaJR0rrMj+PN9DIFx$B~7D zqs8O$R2Mmp0KPWwKa1XzPGZGYQ7_rV1~O5sx2ye`RJ>-9^%`lo)fF7d3ctiU=E zL*II^v_t`(h&R$N)3N}mK-g}3cR?=B5){Md&!3~fX#5YL^32b-t!hw)3^g1mfWS2g z_frjZb$w_m%M%qP^@s3Tfat_7FV2~Ylj7n6!SDmY*0!U6V4x3jU$0-kW=ZUZx~tF& z)*mmm9e;$3*qIqGAYn)bx~RPyxnw_C3}aB$cD6h&X<(^;aK9^mzwr@>g&h0C2M@fZ zZ+{k0@Qy7i;vF(1g^gSb@wfDh43wGo+3rFI!3=d9PPA)vqT+?~G$LlX%k!O53a{4PKMAd@AExKRVU1_8GjmJUfgBI$kzAHL-< zm?*V{R6eFK3T_JpqZcvXRmZ?31X{szrUm_!=^0^vMpjlwSC3ALz$|$t6ab_ez_s&2 z{Oe#AV9iJmsLHr`XI{a13w;mdE^K^!2;NCm`TwvOFC~WBKv0CZgv8GFj0D87eO-iE zSg?Vu+jqZjrD_0q1W{A~#lP*iA>`-@X`4CFlOZ?}IdTZZ0TDewe^=FYYf1{G0@(EkHK&OuJ1KxiHjU*U>|E1kGS&i7Ty?6AOT zZ5JlIM}%EEqk0g>s6!781PWsYz6p^AjV|7PvM=}kLF{dm?NKYVx$xL)b`b5C&KH@DS=#1cwd+Ca_*mo_jD!xM5Q zb>JERu!Q*yTYtV79~V~w>atV7p)nU11jPMKw=X_)T7J&9~1BLRh4)-fi!^-3y|z$ z#(Z3~)z#x*1Ow2)L|IvF0qfvwhM+7qFl12541k)T%oaxu4-TSAQ4DN60L>ufO|Da< z$}>~~NhDwKwEnkg&p*IvoK#Ru0Wu_Y9%O)~F*>Tj>I>dS8l29s({acL%bihJSbKF= z9ncH3@KUEf7yy+*z#U>A7~w$b&vtiS#;?fthxfnTPeQ0tQ86(y8$x44luV#RjRPho zCXfS@v*I8^0T8SSujKI!pteBl1>I{+BvL+ym zHa@|>3kSn)f^h}R^bl5jjr2rbNz4 z91FtNI8h`JN)&I&Vj!VUlknrzJNM4d&k-E(ZnZzKf|VWgeZe@@c7W9gb4O%wECSl; z&2^{kX|yk2zaoSY2sP?xs&eu-959okH5(lrMNT`w;z&SQ=>tQ9o0x`u$NAuac#Zq{ ze6=-%1CXMG@m`O3POGaQ0cS!=Q))Bn6rmB|ssOu+shEVDxdoXfr1wA$2^qvkM~+sK zo~7B+x9bB*nUP@*$xU<=fD3Fu^N0xsQyU;lEi_*cHu3kjrgUe=O<>G`e(D9EYPj5+ z2FRfaehg1e&goCJ-!TChCm1AVtx_8_2&0Bm`6_;3RSK*HkG%<^S@-kT!M+%udT2S? zcrFau^W(14DyUGoY;!nW^>!;}vo{SLbY!4RK5!~7_4jWQAfpm+tI+P$x4f1NAayKe zW5a1+Xh=*#as?XT@bIwS+0l-DvJd2)eTs|ukeD}gVdQk3T}X{cF*i5^VCqwexR%!E zM*_1)wm0ISKpZ3uSSO@?#+{oeRS}+Y{rcU$EJ*Fd3Od|JG%RXrIRAh{MMYKH)rHUa zH2BkSC^$CA2?}^7a{w;JX?Gx@6C)s1d5e_!8FEk!aS^>ym1+_uTrtFh80mxD$IN%`7{DsWKD4HXkkicqOW3i> zdnrREp^oB{QO(Z^vPgtG9mEtAHbTy9*rrS)-=q+K(T6n#CkI>|smB^ztpmuxL>_yJoXq%td~(!zE+TLKMRe7Q0+Bd2D%J1R z-=3hCnqScijw3S_@^8Qajpp*aR(SZyj23_C2DgGYnNj`q{d_WSa+zPyLT(zqXayaL}gp!L(^P z*a$%*I8@93ZX0onSX_jbwXb1)ppM}0g#Q=IAPUogU)ReEi|Rkh%-Ozgcy!bq&+xKl z@Rac=_nd@#B0x+|1s(UP%gx~-tO`-h&H*Yw5#?jg`PE9I$`oQk={P4WS^E1Ot=HX% z#V^!fdtU*hhfZY~_-T8$Je37|X=DJV#a(iax^Z@k~y*q~*Y z_xY+EFi(+@(K~cMAT5Ug(_!u76P>R_ago8>EizhN>8&jD6qJU4E7g}Ri~=R<(pp=) z+yYz_z_9)CLT~cK=xgJ@TvoQ7<4w08B-o`!SJH?Y23(y=>zn&c) zFduf=`7FuK;LF1Vp~bMGsnlOzNQ6*HzwXTpP7ud<91)nii+X-l&4G}t)3I8yIY%)@ zVpFTmv)D~OGMWr0L)R%0s;Udk7cXAcR6G>JK5kLYw2KYA9``{}PD)GTQTKRd$dk*7 zz|umVU-3d>#^(i;0>kz*9Q&Hp)Cr1MwfRZ-#$|+9s1H|tAWcIpj5^7gT&3Oe5+JChle;jkM6b}-kwLJM@1bXS|$8z%vchvs+es^F!cJ|&|) z4TMuepJlN!;;9KqPyanpf5Mbp^`lJL{j6hvzuS53r%O5@jG&Jqf*` zMarb9zQt{&vFfO+n1b({k{m}Ih>68N++(#Tu!H;i@#E(e)Nn~r{dTgj-oO_Dz7> zMXAP}3#wQIGhcd2u+MrP@;fZurx$VYpG*?eH@K{BWxwB?pLHoXbeuHBm8f$`zG-<% zzSOXJ>-GtnMW?1gpQ$1ws|@98%N%w^t}$#e(`VVsYn*PsIQtjB=lZ$B+(Z3Y%EWTg zkySI#z3u%^YOi!&`Ykgn+Aa>#S)nS_YVIfPaFj4CTU&=k-)a6qfo*%<$LMO;N(fJ$ zq=;^`u-SPlY-T(kT^@gbN2mtnKthtY8OG?Sq&B?l#_U@u`iJlwj@|q(Lrc}K)*_gq z`6*nuzx0cLWv#~kn5}I0op4>?faQ}AeEFzHx2-=U*567uzYF=LkhDLPZrBWxQP2Nt zC+ai%lSH(kwl@1oC&tEZ-sh!@xpjq9G3kG10lwZ|q|UW8xO870ODDy%wX0aUi_Lk42zoQY4zY9(L|)vKzu{A?q&IjEEHQxt#jkk`wl zhn{M901b+^l#Vhi^@DVJ@yu{HCZqF#syf`<)=dGQoA$e$T9=Oh z_Q8qCTxDy9}WdoWuES8gcQnCk;|Zr|vw-OO!Ub4!i4eY zM1nE*d<_L@s8&{HJHozC&pOcbu3j=LkecgT_}We7G@N9n)OPlw;9=$4*9oobR+GiM zy8DE6Pc8pTLGQO;U zPft8^#y_!N!Nc^oR}pQV$WG8784u3t`_ubLLsibu@SW*jYUs%IIZe8*TQ)P7-+t;3ixjGn+uQOheRA;);{H#86BiY{lr%Ghk` zVb%0z;gm>xQ2SmSy&WfrKH_xDa^K}3$3cqMIX1%|6FVfdE*I_c)GM0=d)i@vn&;Sc ze^sxAJ!OWEOfjVfTqqR1h+NamCpM~$RXi1RH^dc#cIJ24rAboojGmy(JD^9I3np2~ zFK~ZN&CO;{4Vk%SL`7MCarX~2HJD^>3pgj@%AxqlXmP?nq*=#wza3jOdt=z68-h&e{eQj9op_`1)XJ8HJUrV6%qljV{1}QUqA_KYgI)1r3LydeG4?%`$IxjU z6T{p5m{5@~U+6XW)EEp@pW}?Jnwrf{Z8pF|#^~CWi8T1}J!osG8zT&>^GyG5#Uvey zl_YlO%}VS+$1AcZnPeZ=nmB{)$%=)>A1vQ+8e~SwEg1i3I6Z)$dN6+6X?|Ju|klCC0eLP{=dyaK!!A zZf9;sMVYknpwKc54wA-^)^r_Ep)qO;pSi9Ujvr_g{}70L=5ee%Q@!@a+|XA=F|o{E zYPG2K+iPgVY!;V&(_WmgwKju1?*3ww>@?ZLduL`I*i*dzB5;x^^;W?AZt%*+M^-PC z1L+NPlm->e(7ylMZyu$8FD|hr$NRr6Dn`VM8XY8-YLJpfR>T&6rWkzvR>mMVLCd#B#~ z_$Af5y_%!o>>{;Hx8=H?bjQw+lQ3bJ&0?aZsDczy<DehTd^PS8)`Xt}RXQL$7B+fC-AZ$=v9 zzU?QRQM*N}T%-Kv+(k=mU|=C%f3OyeY`@_JuPZXUxr3s;QFPvHRhJBFjv zVu>};?JIII2hL&jHDevXNb3?DZ0_7Ww$%-7yy+ZUzJIt<+lY3qR&4n2N%~8# z_Ixiolz`vpsm4zq??)bCFH~FTV^(ID6FBXbu%ys%`(F zI`os;RxwrEz`qc~yv}(ptXXieQ37AvW_(ZX9ba)3gtbF{J@D*EI^n+)sCAy)yZUd5_z%3OuU_HjIvVAjuXc0KP7 zzWxnX@4TFmqBt+~3;k=NtfAEX=NgBqOXzip*n(j%21|X;OAF@-48E)|@dOzeGv=1M~BFW-_X) zB}~5DWx3n;qvG@*_Gm@ZhUNLiSyOd% zc;=4v&|vllg|eS7OGVBunvROiu00keHT1uFf=+Z0a@aY$vY;Ct8T~9w0N3+pAdfjNZuYg3U*1Zm3&pwzasnrZkNi9*t(xQI&xji@} z*s)BJkM8o>Ih&YBl zEiMi|vbn2jH8Geqp{l~Xx7Kn)R#>O#qB<$Bp!n8e&%*Plw^uj5clDo)?zvzvEi4qK z@TnLc|4k;GH0tmc&slpNlL-6YA;9diEj zGtLKH0{v`cPwE?)=T)@nf-b>Qdya$!YlZLCQA~{G4u+2ZtXylBOhS`G+{R;6+2*2UqSgWB(o)O4coZh>m{KxsBsEVuJ*?Xkket}WG}yXr~Xm%2_yOl@x-IypVoedJuq z^~>eqg>-3afT-1lX3uE~aYOPMPsNnHi-O_PLoqvvLG$@L)_tX1Q&l45Q?J-FO)NT# zg5{$vM!M6uM-?jo`m{>rR!U}ND12gzM4ER3o9f#72sE(s9P2YQHaokdTzt(+$@nJs z94Vryo$rR3GuOd zR%SoBt|`&c$l2k@PMKD2xxM(VTdW-(!=q-x!g9Lyl-ov*E06? z>GpB=#CXThxocs5I5C=~@XFR$;GM(6L^&CKkNFjiz4pfgbCF_`8_QE=q@noKpCY5X z2?N6VPv$!-ID*sk-DuoHA2kFXVT269Lu!vS!CbZYHbeBzctp ze|}!m+Ew*j7R zuWRE_dQ@A~68*0I)u`@TQJbzSFmp6B&`Y3I`H8P9?a>O5;XsL`L=q8aP;ZJ{hyR2TUryOIVQ^=N8c*n{CI9w za6hk8d>}h{=GPK}DwR@2BOmwYgdLBgF7^9Kd>a~}b1&wTzoPRu`y(pntMu} zf7&lyvVZXnzreSz^ht%`Jex+=habOF7o4RyJF!EJZ`;(NL!#M6j0f~1&d0ZOzi=o? zS9szmHM{&Cc~>(tv(e9=N2WTKGwrIT*@j;Rvt%9l70h%nif={x(&t9I>w{5(lDRt8 z+N>N_ow3%#FA;gLZ6b}gnucA|U&`vAt;h+ZvbV%pb6+<$ZV}ab$+BbeL!)?`-JiEi z2UlFZm^SetzN(eMA*E~@-;?26+kHyZIibpqcllS%P0DJBi1}1NK?b+82{zU z9{r%5zbV!^xu(OOc}ClqGRDgzVz1E9o0^i`yF*me^{vwm&FjNKHD?%>4lnbs{OQ?$ zuCeCRz1@$JIEr2CmOgEa>lAwA-hO(Bc5qwhuN?x5ZKhZOk%#gM$(w?C%F2#+bO=r) zp3)Jz{w41PQ@BM-ApK?bDqLrebtdE}QjLjHw3U2(+9Gr6*eq{wI&?&=O}^iD|15duH0FnxZ|Xcx!2ki4F16%`NbUKiX#kZPx$uS`P;|D zY|(Gi!hOzFDdo^Xa!JYa@v%%=XOyux;Dkl*B}3P%?I9ViJzM-oW@Fi79&X;CO~usEkvdtP-emE= z`%?Fr&J`{9sc^7;tEFFddVcKw<|`F}*Tg#7wRNvt*YT5a$gy)W%n>qa{r!#q?rQ$N zsi@javlxdbTM@g;rrclREXQ^?)}*yyZ{!>dKJ$xec~C3&PH>gxKu4SRV68;ygIX`A zX)pTZYENw){V2h)6Swmc6JKnIIV}1;*$^RNKG*chjce6{WBko|kFC-_8y{wQ$}47Y zexN(ZPoK4X!cB5=q$r=)P@y>J6AGRq$Apc0TKmn%+CA?MA2S)M?W&hOUGStjbe zb@z&Ir%>BQan--c$uO9TQVC1<8*5qH=sXoXQSDK2C~0Wq8Y-NoFN&Mpvwg1ISxT8Z zd#hH6oA;clyF-Hfqo|tm+Sq>7x!TV?$J>r^;{1n+tDovWRLptu@R}oolbQt$xyPz_ zlnko*y^}{u#6NeH>Es6#bl1O~q?ug`>2Q_KJ@xppk?ZV))_MNrhmBRm-~0WN0>2j= zv04`&r@(zwW@6o|$ zHN6hk8eii3#~LI$%r_WMJbd`uGBvE_(uj@;PuR&$O3lbnD~tF1R9>KV!1hA23KvnG zXdh^)!wKwGe5Go5NlIXqveA22#JeKLYh1&dm&;rvuQw(8K6rB^io@gMOYIwGh0}U| zoHU6u*{;jAI!=Xu4{NP^AM|df!M$D4{e)(KyU6EvyB=6-G<2Ms+#l+2xO(v0Pn{7* z&i6gRwoCzmM}O8%CJURJDd##|6Aid2m0X?ip5~=cwrMqgzDp2|X}aF-jMVt%@4wx{ z+>qvf*OQm0T+7{gLauaPgl^-XmVF)+kIO$ctnN_0znq>Hj(5N^f3*^If3{k3;q&V86?EI6v}>oV zyh4nr_cXa?D8=l}EPv_Ni+`9Dcge8qIdQQ2*6q+}uCl4ov%K_vY>lgvw=Id5WKDhC z?^#ed`z>y}sK+67d4+@P?w4_{e2sKWm-!2I-(Q=`<%Ss%w#jFI7GITmb3Lyx!zrxZ z_|t4xa>uVc>Q6?=fSY&ByWMItXgmUyoVVe_rx|zkc-L_|cQ+4DG$&COOn=;5m&`_I$||LlkU)M;~9S645WRBc-&H9HIj2Rol- z?7$ULPyDlg|3553{>y&IXyPsZDW$_fwlHMavSkY-0HyF9fYZcFk!$mB`BQZW0T1SC zV6ZP(Uw+8BZkfhw;0p7$ZNHm!Z@hsV6++hipxGp+7hQ$^^;bJ(*!r?Q1?D2sii%$( zook4#i0jf^|MGz7YN>>)4B}tFOxU_@+b0M(S;U=%R01~J!ZC+37x>B=;&0++lOz8OYv1tT=AJiYU$U_DhZzVeW6&Wj$ z#Pku&6&Q2kuRSJynoy2B3kcY|Xbm?odKnpY?gOv{A}qa77Nou>PYsvXMV;Ay_%P3&J$FGG8WaNwW&Ng2dqGhGLtNjnXEkhEkJ}9} zKtCG|?maSbHem~CFbhFAE|~rP2z=o?4kPWmpH~op8H6@bc)pX%3zLqHjyH#z_LDaR zn<=jLEW=VYUg~IwVz0u;QUu4rpoGyFHNH6hd#9s71Le!pOM{&2MG>}^8i-X%5GARb zn8VirHPg23$Q;XiigfbDuzOZQED5 zt;?x@7oq*7=7XfuG~3qD@GLTt^Vzd!AQY~CUs16hdQqGN=vez8Z)4f9)3q6Muk*E9~w7xxnW>8&E(Gd=00?eR0(2GXq$#!d+RM z>pXm=9$)E72OE*>7;v+W!i}38lkuKXbFkKEpv4qxF~L>}z}nuN8d3*k3Y+{2l(P%d z9XEu`>S(aSAT-gaB&w;t!`8J_c7f1CeU1uK>Jcr zA=i5xvSgE{gbQMR5MNftDFg{sz7jHz{%s3m^XxRu?Nin#PoB)ypBx`Q6{kuR@9F6` ze9IYEMVYK&6d3Ew^SXC$HT3O4l@N-uirVbKWuRB+tiB-_i`H4_5(KijN5f4%8` z*5BVh`TY@pCiZJ;_>1{K3fQY`eJ31#)y?LC&IfM)cMzj}eK+Cygu+DjImeI~?6IlC zFA2X847T&mpNc~L|CI~ioG;@9sVZzDTlQ_-u;D7g19Ty_Afiglexn_91GRF?_U+~P zAj0iCMQ!fF1-Q7WS5R0uE+s{A*g48Ve0UKdmhkBjxv*}LHT_#wNi`adT><060r-W-TcBA>@6*^j4H*rvLsSiNGZIc%YyK8^QfxFyhF45rX zxeHe#m<+teJL0o>gZn9e=O7f6J9fOXNH>Sf{o}`vTF#=F)Tib7# zI>;u|g4TH_Nxus}s|^EU$i58WrvVKMECy@F%XZutA4*Pd$TU`fq_YZ9a1a`L?2@F( zern7)deHno!f!$5Igir#`1t#pnkRS+BDbcQpBaPlem9)Y_K1szK||g&chZy7%;ndL ztxubo*d^UV@tworJ`U0#tB4f~2zKQl^d(su8=r*@G!S|dG6n!)fiS=uq3w(0GjN}% z;DwLjJrEUP(=7+aAPICh?mr*`PyFrB0R^wl);y3$m*AIn6{Hk6e2*1Oo~I~~%S8ri zLLzd9!6-6{!QTlX2y9ja4iqxk6^CPYY~Ywa%}@-_gM z7_3ZDDF0yiL>}zxt!}x9N1W^E&%MqclbBu7y*f36dop=piQm?C@|?32Rts!iHW90Y zsdnh|L_L;Hf=qpidMI8#4)p)%_TFvG%va%BTg^V)_)`iBCVDr8WYt92I(rxm?|$^? z(F!|>)#_?$cVVq6WWHzJ>4414Om7`;bL1_5LxO_`=mPTxwx)0tOf4N)v2@|_a)nXm zxqQch*X3uarK>zSPwM!&HJoEu)gyQ1rudha$eKc-6((s6=Yj%jCkwFU58ZuN$^||h z%KP_W=Knv#V{H=q0?i3z7IMnUa1X1#*1rtt8`Fl>kdYAIYT@hgfe{hP5P5^UUqZ-M7Dx zs0JH@=WxYE%)bZ2#-*htI8wH>j^c)aT-osI)o4NQd1#+tlv&Sr%ht9rFGdxPu~3IV zvDFA#F5$qYrl$UJ#tDYumkXt(cXaeTT>UHyOr!*)*Z4QC{RYZCxa+v*c7oUn9r8|O zZ$ehBD%_m=0^}iME`x0a?pTC+yb2MD!qC?6k{Px)$hSP;+d>Bj5dyr9_i%I5BERze zS~0Au83al`WDTeG$S=G8UQMiBjvs&e?Ad8#dk_f0zNDEY6h142xeieh zBE_?(Pfs~I9*2(%TSf0^ylNsz;BfmR5hLoyRIyhg*SN5Eou`JN`aJ9gr-z>J-=pm} z;g&lUrDA~70SOUYUZWu)YnYtF*4ndouldg8f&$_?KztoyVq#=Ih)K=HpR_v9L6T@D zCgQZ{JpHQz(%{=k$C$Tl`2Zb|d3RA^w!bulV)$x=4NN>LZo?Y)4P50mv!DD79YJg_ z3{h<$Pb7Y}dk=$qOhZgsnJ(hlht)Mk4=uW9fv?2M@Xzo_kM0{r-Dqh8L#)?VsZD{cuf* z-5O2tHxc3Fyv?KZl40Any#ds?w8JnFM9tuXjEAa~o|5tyzjoq_V6BCj{LW98(XqH1%G!$=jKb zzYB)@pRiYlS-QHq_AzaM!NLkzW#xFJQ~j-xK|$M*%sq2BoUU-`5|47YB0RJ$My?>< zjCb1Bn)h{Gh|g9jR=&h0WcD7G0ogfLP@I;wwQ2WjT<_`WfwZ)t*kjqk@71eU8`VZu z=sbr_1nz~nuV2SnAPv;Hb@kzc2gui@d+EbCPny$x4=fNv3?;Yx&=l^yXw^i!C7WcI zLqpQ0kd3hQ&0Nf_g`a(AXTf><<;}!8DoRDo<-}6tmoJL&VMN-C4S3@5t`i!`=b^hn z#Eyd_vhelQ@!`KN>|;W$_Xx%~J&+aS)gVv|9KyhaXf;0b_U!%mN$%ad?_lrfUAnZM zj_!rc{y{tdu_*!fytKMnDSc+&y8E9AX#^%D51_R}1mj=LXD`sSji$*M_ONWr5<~fZ zI#4{|uf$=;KtnE*E&@r8DKv$o5Q33QnBWBbW+3CFw#Qst`vp%Ct+J2AbQE7u9p6Wo zQ78(N+H>H*BP5W+Q%kE#R9KDZkxB$$FM=JP z=szRl){!{etS){(J}pN1($pclOG6U!c)S!H%0t`+zfqJ8f4z>901NaiIQTQ{u3)}k z0=bDkyO8*|Q26Da1JGZ$i(Bzt&b$ zi>00yZ;K%hYOm9s-{htSkr8=SC@En4lv-1s3*|veOAsztRb=C*Pka7phc+mKLcz6o z53^qo?oc+LLFR|@(^vPj`b5rleMc!n=%}ZLF!jYpHSq;cXVZxm7})3=rsRQq4|k9d zsC$QZ_A4nX^WxJXb}Yv2lp$TXB=3;Gz%tZuk!`1!LT;R3g>4PF_-p4j)V zRrV1r@Y77$E`BJBA%%u7HLaRbY(P+urPABPMm-pS&@At$q6Tb~yYyO(kD`A9lZD_+ zB7C@N%U#}kC9A%`f)xwp1(^*b5GC06rs6OT0j7a~=I{O>Kz=WTG-XhLzI4SKL?hY4 z9ov|yd(8Zf8&uTTJ0DSq4HY)Wjh6BqK5PQL1>~^s*~+%q9x7>uQvgNqQI928-%t`w zutns@I$B$Up`*H-ya)&(4-!Zy^y>x&F-`>%$r1n^!ps9Qum*Wv5zFcZGyy&wsG*GE z?ZsA3i~(>GsLl<12u9GF00=l6zPo36wU=W9FA_fpt?+{b-NlkH_Gm~og3=GStSbL& zq;NPgfzai`0tU9QeQ;rgt*tL3w+xH{_UvkDZVrTmIt;ZL{slP&1w$MUNR%hAzbzL$ zTjEB&P)X(88e@mt4WUiW@B#E6#3x1E*ggYpsgWqoAqg}qs6}YDaLI(E5;7qhj0-{0 zjl>Km94QzKmaZVAHE^&3R7p)oZ9?2$APq`6!an@#mm+LVhyou~5S%CRedH7sV<8mG zwrn|{WO?I8Ev7ul$;+SSd2Ws12dQo;WHL^pdHvbV&PyoLAjI^-evK+SIqo^G?9|HZ zM#pvb6N2i4Cr{F*r?BlU4z|J~-vp|<*tobTm3^=~Gk|k5scVu)P?-^<3EXm@P%Xhg z>mR54UnmnK{~v6gk|N3!XLA5I#>m~N?D4Q_Dp;7Pq85=6J@6`rn)WqJF#ysaYNA*( zN)>+#e;x)@ESNhGJ*9)J3rg=E>~G9w>izLU8XwxeCgU;|1O75MiTTY@RwOV)8DzMA zi`t=v%P17E>c)`A3hTcD#L6ym_MX(LFU9hQgDz@oCu%1q@p!W!6U+=&oezeT~>Sd$qRH>bGaypM>y}L z02$zKkS?;l8Wol((Ot)Ff$I;FRJY#4i^q z4#|^|i~7zsDRos7~rC%>)Uy#QTK|9hP3FrD9L+5B3uU9@_KsuAe*O{LeSISA5V2hkVE!u zW)!WqkBLB-n0H0;rbHB$#yiFAe1K1?yND0%JcBVA#E$}NZ*IPSd2!4GK-U3aVd2@w z%r4n{-1uR6?V2O^6T8+<#0BYp4>1i-e3N!M>U}qkNrVha0zgEvIyx_F7CJ4UhlYSp zy0@7M916Pv(LFv(327bja-@t2?Y(flxN2&u*>8}DFaj4t{1$G*Scv!#Xn8m}Bg=>Y z947t1W@D{Kk$qo)_YU@wnu(RwV;IR{1YgRLurb_6D4I~`>507tNCVSDE=kDnPEtvA+RGd?V&(!eGY_f6MTCj2@R0{1cZ4Gt5Q)}3EleL znJyPU0JVjFyz4yHdcEE2p@p*zD{~l5>svm(prAxNgI@uvfUO)YYJu#bos#Z51LV)* zNbKk5PoLJph&DJRJjBKY6i9RP)~$G44Z`Q$0ngK_zx&K_!huK`0Sub8W$sm$T+DtE znwoE0R$kr+RekD=6)GvfGAKbL6H-z>R#*E1n!s;TwREV&iGB&#O#S-RtEZ6y#@W3? zhv@Pvl>ETzAsi(g2o#Nj^w>DVfV2&9u?t=A)JpGNkE(n5?0Y)wRzbn6^Cw)=_3~7Q zd;u_K={z7)GeqH|03~`ElHvB-*b?{;IesWn_4M?JMLKZvAHZx#7S$f94K4D&z(79% zX2A5H*t)_;01gx1fu5v0Y&ih0vQws!YX`atPXLvKag2gJFtgv&(`mnL_wUJP9Lc78V>*zfrLJYp8LUWzgqr{`F$6Q!Il#;W;3Eh*-m{HZ<*SK|YSHhNHFT}_BZW_F17iW$u zDJl|I1euIg$RcQAbB-J)wS6+#3wTCES?e|2VbJ2I~>jk-U`Md{228Wa%EjCE20jV zVLt-2wG5@C?{CSCi`$DFFIg{2g@K*@JmLqAM~hP@axPR!6wjxyLnA2kWPUPGF&`wS zsTEm}KO>2cD;OYqJq!RIvH;?KgG)c*O&TYQC+|eyNj|=ZNQ6jY3R}iB%^gT2aS^|v zP>hj3vx(>9Thf?IIiunf%2Yc|4gQK&jsoyLQki*Pz}*jE#RNDckP-PQ3`;_%$bnLL z>Ne0Oc)ph5ju1Yo4|8y9z~ZT_ZVCBRRF3J^As2x*9|y_?8y2>#uf&5qye#oN5*kuG z0)b=8Ed{vB!pcfus6@qXP(N4&3}|2pahB)#8~hQRF1sRADFG$`-53xVyLTVb%Tv@C zr=bo5dwPZ>&ptRKnKi_&hpk0JO7_cl@7~pf*dSKR__7gKcEB`+e~fCezaPMB306M1 z?7w+971{%OZ+S~ajM)%HlLu<)&}GQ zz>5It0Lv{*M~QV1tT|xFMP<)L2mqqu|MV#X96aRl-Z<>fG*%^a0D;W8(ftH&d$^Nm zBax^9b|deGo}sma!%r*(j{jD~kt5TrOibvD(&1~r#<|qe(XoNSFnl|wbh6Wy9xpB| zpySws1Bg(rXvkQ^$+E?3T`;np1vmn;83T3>ELsNA9y{i@>%Q@Zn5s0_-%ciPXlX6Peba?62kP%X z13fX3s)-~biqeLKhJL~Q83Ho|do#E@_Mg25Mn->f7i?Ox zRSHF@)l8CfA&MF!IyE?9iRW}L>AHFDRZC@de6i!rI?vtnEz{rw&(1itvj5!rE=3lY zZUoPN#0~y;lIH(ZroA-1=isfXN6VuZ*LiZ%)V2Pq@BftF-OVnrJbDc9@whT$?vMYC zp!{F`5dYzmFOJC7{UOe?Bw`GjhA0x}Nf_dxPb1M_>xLAQ>@(Nd@!}>49-jNKAQ8kA zSU3oB3{uv68nl9|%gVt~3#=cV1ZMcgklN_(-Ma!9_(dZ0Ip;KV?ciQ88Pq|lBuw!j z70$Z!Bom|-#());Tj#*mt_GN70kfUb_I5UCsaAHm|GkFpFF{vft?|{cD8HN+qe9@* zB1u>w9^wFDhg6H*-7r{f6Q}1r&UI@_BAtWj^Ic{R(*UJ$f0I{ny?R}n3MWEU+=C=h@fXANBlw1r?KQHioU?ptaV zrqht?2F0T>oK|QsjOh1dt)wjs6wn{~jcE{{wqO2;nOzn$l?T!VTxV~hx+B9m30DCF zCy;iMbO{bAAtKkI}g`B>0`mi7girI79HO$;UvXi zcO-%RC&C5Xb~mH8h74R~kqi^xN(_EMhIPHG;DLNx!*LV) zJ{nZ>_*onDfRX)pV~`rmZN5ZEa^NZ@KZgigQc?mN`hkL<2?_fo=6-BNRpy8)orWYJ z2+`3Q8BYO43&6ky^I&V?l!r0M`AySEjd6jI>6-Ph2O%9gc;?|5;Ip|J1vTEv+uM6B z0FB2Oj6rOHF`h?lbrm4DEjxBp`7m;mdIn^IpQ*WBTn7*SidvS$zA#b|SF|5ftnTa# zy|;0@#S|R|j(zgxaQ}?8;23g6vc6YBA{;HVIx>WaK=shO!5kgn2FZ&+-naudDGe9< zNDSsVfdDUYG~_XCo=5{6{r(zIO$3f6&A$@DOhDyeqzLg9UD#wZcgY5HxKo>kC&_s2CKz+$^yHE#&NpMG(^%v0=`?Z*xpU)mzSd? zxTP4D%CR>|yAXvjSzBNg4fsg^$GX!m)HXG}Kvg#%RYQTXJPd*6er45?fl`$K zKCyJqJQMW}mv?mR2vK}pzl4H_P%seR$*flZ<8-G0kz!%d+mSEX0>`gFSYbX54NW;x z+J$D|eyx=#>KTDZW8|ep!4h5{Njb|&#|)6nE##W9{Xz49`|u)#9{sN{IzEH^ckdd} z$0R`){eRNz1jI$`qSL-&1PAfcYN$ZiliS$1}v{;7X$m>&$l{9@^tCyG3!7?l>Ms@>~?NGg@6 zHgr-M+gmv8EW_P%rI9ONA4ckd65yiYFXip_^eTsgEMK4xZceSn1VO-uXm$z0&MZ|p z0CTK*@i|H31haMSqv;xmBV*ZwV*Uqq*LMVI0N@IInrks92rH9d!y2b+d8#$$@+JJHTbYjj#Al@KDOG>?|Imd=(Ji14HX55sum zqtU=~g>yF1(c!kbOB%*#4h^-W*Ww}sa#uejm9)Lw#nDj!-ze~)HkrSK$$ndaJCLNM z0NfH_^!G`@1|S?;!k*m_ZkQx(B5i6cCN6z&X4vsmw8T3MuuvxE1|b2`eslF~m}C$x z(oEZjViWE(G&}UeJOZ05t0@T@KKBh=yIJ@LLTe|V|Exxlg>5qq&u0v zf1O{j)aoxNE7j(^Fq{X?#7u({Pqvm*N!VqNab~vc-1!CF5>Opp1BZwI^JDxe4I7;oF$KBUMND7Aylem+ z?C1$3O#Wki6z#jMDi^mN7#dUO3(%Nbyo_vZ`CH!*FRJe~o7l|0s4j0KNw;8~$5~Wy zz&j|@Pp5VVRe_AxLP;u52UA}9eZT>aKikFk4Zig zb}TA}Y>`!Imj82eI`w~RPJ@bLDPANW_Z@cw5Oo`XX4p#T5~3xZSLT2i%qb?uwsq^) zu(?*G#;A>-Xyl<$R#PwzBp=>!&(ZEi`vq=lhmiU=3;}B4+O`< z)diHf#gSb~Kn-A{ww@jkpKC(yR{%V~yYv9c_x8k{NuFA0u*Vs!SKqNX|M%~6kO$Bp zRhfFUbH@$^G<}3sJJzgPRTnF_6}WM1W_}Yj4m>EBuanLY+c3bDdLVP*PCr@qYn`U* zha;arNvP401DF^bI$Wzf0T_gn(!_zd331rgf#V_<}%;->R|r z>p*$@^75R*hL(1bMD27`!nDJJ6izep)~zTa5aF^Nyu6e2|AHqth=}dGzPIVQICu-V zi3v&vW7zSDiD;ylm>JWl_d{2o`{8qp@+F3nj@0Z7T)tW{j-} z+=e8BiF*H4&FV&%|K6+yHHYCg`h+CdfiUR{^c(R8S35)$J*1P#Cc%3ACMWV}V`NL9 z`s((J5@_1j*H>ogmXzZbRy}&bLx+4300H-~fE`t*c#mIz(Yb0O8u$uq zxp$MKZ-U^X6WrLBH$kgj5s5)4Y=+g~uf~9$(^=%E+kgB9fN~InFwk7d zFj|2$)v2VZZivDUKCi?~Fty7cw5Eaj^ma<0F#$Wg5>-j zQY11y1yLBS!IpIzR3yUxX0!UJ=09&%+tPw{Mw-=b8C{FUc<^Bg`bEgg^?EZ8N;$$b z;Ju=*|Ldq1XucQ>g2wl``MpcU)1%_AE9d=aXaBC-ea!1IlS*Fo zM!x$`-o~0mC9s<7zs5txo!{C&A49cUq-xYy9ccOVPOyXNqRxYj0jFfFxBlRo8K&9R zXY*v|3aOgDnYAZsYfD9IZHv|l9O+I^-NX^zFWO({I9Vv(?N?%O3J4@>9eyPV0;}R0 zB^Wtyr~`*GS}Z7F0H4*;3T|?y^mj%L4Gj?&#k#h(2f$`34m$u4$d@g}83&h|bDq3W%o;5Y+6A!dC zH?P5bh{SDzu*d{=EhZy_0qn0jGa=x5Aj|E-ETq*ai3f{NY0QG0c;WJ8@~MSHM81Qo zkKqla*ag+@B_pD@B0&$$&dG_+%VQ;hSL-U~P@!ud8<@HOAd(P9n4sfNW!1vs_&~?A zP3zX3LR%hIzEO>Xk&S~-VJ?igkEpi>13;fHeMS+YyP%1z5M)kxT-R8gY{rx-RQ?z~ zaJ$~@u1=~9ibpV9;Q;SN7+w9q+L+OIfpN08eB5aa6#&Df9wx}RHgr;^3gCy$#>O@d z#fID^=jd|t1m*e1K1u#4BCu*nzh(deT+1^&f+RxS!YZ1#ED4ch>^Ry=}{$NDu!dv?uRipus=pF}U84UJi`U|B`k-9y8A(sMeG_ z=zM;I9;AsYr@ym2E-TBn^{Wg;1O8mvNX`N^5Fv2gShnjbOg&u2B#(Uin=gnsR1hVv5YkVaD4MiY}m$ zY6mM&OJvm51Ad7kIXoo)_ocfGJUYjxrq1H8jE~AvC=^24ad9~ToJGK8+A6uF{UUdl zbTaijI7Aq{X;`trIr_2B*N2Lb&sY!C?Z#*3K6+F&hq)TKw>7%bcz!f#IS(Az2=KlX zm#@|6LtFfd=zz-m*#Y?{Lt>CaWfuPc5IYM!!cEW}fbhLk4_q~WEd8zHZ!Tp!eRvMh-}?K<^+FgO>nc)+rBPQ`pZ(@VADdc^xk}^c$bu!t2yHvJFqtH&|$ z>OgpM%P=D=t9g!c3`Q^j_o;7fHKR!6R)A&u2IGRW(vnebVq?@nKQ;9dV7HkN+dUP8Q&T8$L|jIYT1Tg+)1yPy za0Glw#CiA@cd8uh$B_3NU1)cJUsLSV8VL?0j)#N4Yn{aa8gJRO1s4a zeO>s0*SEEqQ<`txyqWPUZITBb_vrWKm^nE+IZ4H-MggSw<%kIu(10W#e~jYF3pa$8 zYZuI%vA-kp^Vx2@34cG^nQy-lY1Aj+s8@v8{E<|q7ca5lP#wq2W|HIJM(_E{D87L^ zT0ue$w+0#@<*{F|JVql+ z*VP0H3^Jt>A|`r_l7OSM4~`8?lUq~HCsHji=g!i)6L$9)YM-KZy#?DM2NZ*E7-NMz zwG`C+^`QPN?nZ}@<)pYcBd&2^rR%@?4P2O0US$HhHU>>zYpLl%yXAQkn_I8%v4b1@ zVPDUQiDW2C@j(MODHiI}ZCG5fkoKc5Q~rr z8;F2hIH8Dus1D!#+M@wTiAHOaGfgniOfXu=nFu38t&j(Pig=`vEWCr=F&G0G)FQs( z738tWFRlNhh8GM zTd?Hb)$KaD33!jO_Lo2 z?u%-nULjr6t5>gPKr{0$9i)hZm~C|%s~-~;wF2CdRdvM$;8W0}yhBO?f9~dX(d?eL_bcD8;BqsfW0~1vVrq&|+G0_?t8vC& zY!}EtxAEoQzI(?FZUP{?JIEs-$NKK_>{SYi!|de1cMVTh(ttLC**Wrj5mvsbdsU>D zU-OCxWMyVPg=0Vb&D)qePhp6TMmZJC^UXA>*Tx{)WAT*%BajUHAp>>XF+Y%I(LQJ9 zSDT^8iYtdOGjbc++uKY>0xaC#<>#MHZ_(Y^GCYNf{WgZ4f<%(im5c9-akb35nHU&| z$|~9Zs}j-v;qKN}45#GgVq~O3(xdCjzK)_~TnH-UNR4FDZ~A2WK*p0dQz1Mo%on-+ zmC?>Ttvs8!I$`HRb~GwUzW^YhNpo~nRTVAifh#IL)(()5^!PFgbngtNLFv2C8Sj6L zi=D`RTxWZ{LEjCmxpDn^8PZiF-8(b_0308)i?e|=ZL*CYH})g=vp-^Wi!4s=uCI@J z`=tVNu~479b(u+Pv$_Q(-yfkTgzpHjCnh1`bIOTOqbb#n+g3*Zd!ZS3q zp!@c`=)98B>bm0VV?dgjXXY{g*C-+=T+E)2G-mMaF~))sTs%jpkB>m>hvr0E;drMJ zkbTk{0LN@;ewZK0HW@U8YBy7K&30t!_+*3`nw`xA3^35bmtLU_A40c@X&HU zEv7(laQJ~Ny9?MN$!kci|Mw-2rV!gEP>HH_?2)`7S`ylXKdyRAr69>Y0R{8z65EDR ztdr3I$KB?Ikf+D7{U#hYDsDhRMJ_9oA(N3II(u`eWy_*&c>B?Jh(CCb)56sw^fQ|`k0_>N&(V8()tgD1n#NOE2M|*L>a#$$TY|hXRlkEu-K)0TNzw+tDwV2V zPkfkv_6k@uC7he6O3haJ%A6PSJqkjbOiR&@j*d9y)J_W5mGytpnOSOlwR~iv<8$uG zNh?Q0cwW;bJql6ASw@WpL)Ah(PMKSo4u? zd1IpoJ~9uzX}3PD6^Rqr6?jDPJ`ba>5xz{R4M)%W?7;ljziA5f{qVW7RGFov{a)3Z zy~vcizR(apI`@>vZOs~^8#mIm3ppBhu=|wAOP`5ja&NYn-gk-DLgkLAz`@kT9k*W$ z(b6_F?=Xqn;$K)IB5*KZRJgS+d)*gr+L}KUN}bE>+0=XSlw*6??&@VqOLL{D-%@*- z5m?2nOXX7fWpPDkW25(tgWI!hZah0A$CVkRYI))C><`bnuCkDu27HvG0jHac3~utR z-p}a2rGBrJ4W%q#H14B`0iUntW-BS3;UYn%2WD>{JeJehs1Vm2C##Y8_~_zyZ+hLo zI)lLtba@TdTwE8Td;R6FnBUO6l%R09Wf#Y+TizQ57gLlkzl>{FJ#C=K8__m42gm7Y zUixvb?Zckvs4XE27sPG|7{1KBWb^)LtCf9qK+VN`en$U7t3&d+l#ENG1yXByIGJBI z*JSmxFxDIRNK_c!7``|?Wwn||AiGX2pPsQ^rA<&`?z2e+2Ty})Ht+EVKJ3CSrPi%0 zw`NER1w3J7+>~2lR~zs|+ig?*`&GYmHO-Y(j;cNQ%T%xb zQn#0HO=eEm4#xW4@r3DQmYnxHWd}D2Dn2kvU@zy9@H;3Fa5I;S%X!Ntg-bSE(eW#2 mpZmx%{J($v({E6>Ofw>8@4RMcAeRRJkvn@{I_ ) } + +const WideStyle = styled.div` + .dnb-drawer-list__root, + .dnb-autocomplete__shell { + /* custom width */ + width: 50vw; + min-width: 15rem; + max-width: 30rem; + } +` + +export function DataSuffix() { + const { locale } = React.useContext(Context) + const ban = format(21001234567, { ban: true, locale }) + const numbers = [ + { + selected_value: `Brukskonto (${ban})`, + suffix_value: ( + + {12345678} + + ), + content: ['Brukskonto', ban], + }, + { + selected_value: `BSU (${ban})`, + suffix_value: ( + + {2223} + + ), + content: ['BSU', ban], + }, + { + selected_value: `Sparekonto (${ban})`, + suffix_value: ( + + {876555.5} + + ), + content: ['Sparekonto', ban], + }, + { + selected_value: `Brukskonto (${ban})`, + suffix_value: ( + + {34999.2} + + ), + content: ['Brukskonto', ban], + }, + ] + + return ( + + + + + + ) +} diff --git a/packages/dnb-eufemia/src/components/autocomplete/style/_autocomplete.scss b/packages/dnb-eufemia/src/components/autocomplete/style/_autocomplete.scss index b711bcca9d0..9e916d9c0af 100644 --- a/packages/dnb-eufemia/src/components/autocomplete/style/_autocomplete.scss +++ b/packages/dnb-eufemia/src/components/autocomplete/style/_autocomplete.scss @@ -116,6 +116,55 @@ } } + // Support for "suffix_value" + .dnb-input { + &__inner__element { + position: relative; + z-index: 3; + } + + &--has-submit-element .dnb-input__placeholder, + &--has-submit-element .dnb-input__input { + @include allAbove(small) { + // same width of submit button + padding-right: 0 !important; // use important so we avoid to have all sizes in addition + } + @include allBelow(small) { + // same width of submit button + padding-right: 2.5rem !important; // use important so we avoid to have all sizes in addition + } + } + + &__inner__element.dnb-p { + pointer-events: none; + white-space: nowrap; + padding: 0 0.5rem; + + @include allBelow(small) { + display: none; + } + } + + &__inner__element.dnb-p, + .dnb-spacing &__inner__element.dnb-p { + margin: 0; + } + + &--has-submit-element .dnb-input__inner__element { + // same width of submit button + margin-right: 2.5rem !important; // use important so we avoid to have all sizes in addition + } + } + &--icon-position-right .dnb-input { + // stylelint-disable-next-line + &__inner__element.dnb-p { + padding-right: 3rem; + } + &--icon-position-right &--icon-position-right#{&}--has-icon &__input { + padding-right: 1rem; + } + } + &__text { order: 1; position: relative; diff --git a/packages/dnb-eufemia/src/components/dropdown/stories/Dropdown.stories.js b/packages/dnb-eufemia/src/components/dropdown/stories/Dropdown.stories.js index 66a941689e3..b2efff5d4b6 100644 --- a/packages/dnb-eufemia/src/components/dropdown/stories/Dropdown.stories.js +++ b/packages/dnb-eufemia/src/components/dropdown/stories/Dropdown.stories.js @@ -19,6 +19,7 @@ import { Modal, // Checkbox } from '../../' +import { Link } from '../../../' export default { title: 'Eufemia/Components/Dropdown', @@ -101,7 +102,12 @@ const DropdownStory = () => { align_dropdown="left" variant="tertiary" title="Tertiary" - data={['Go to this Link', 'Or to this one']} + data={[ + + Go to this Link + , + 'Or to this one', + ]} /> { // align_dropdown="right" variant="tertiary" title="Tertiary" - data={['Go to this Link', 'Or to this one']} + data={[ + + Go to this Link + , + 'Or to this one', + ]} /> @@ -160,7 +171,12 @@ const DropdownStory = () => { size="small" // opened more_menu - data={['Go to this Link', 'Or to this one']} + data={[ + + Go to this Link + , + 'Or to this one', + ]} // skip_portal align_dropdown="right" /> @@ -168,7 +184,12 @@ const DropdownStory = () => { size="small" // opened more_menu - data={['Go to this Link', 'Or to this one']} + data={[ + + Go to this Link + , + 'Or to this one', + ]} // skip_portal // align_dropdown="right" /> @@ -299,7 +320,12 @@ const DropdownStory = () => { align_dropdown={align_dropdown} icon_position={icon_position} more_menu={true} - data={['Go to this Link', 'Or to this one']} + data={[ + + Go to this Link + , + 'Or to this one', + ]} right="x-large x-large" skip_portal /> @@ -311,7 +337,12 @@ const DropdownStory = () => { direction={direction} align_dropdown={align_dropdown} icon_position={icon_position} - data={['Go to this Link', 'Or to this one']} + data={[ + + Go to this Link + , + 'Or to this one', + ]} right="x-large x-large" /> { direction={direction} align_dropdown={align_dropdown} icon_position={icon_position} - data={['Go to this Link', 'Or to this one']} + data={[ + + Go to this Link + , + 'Or to this one', + ]} right="x-large x-large" /> { direction={direction} align_dropdown={align_dropdown} icon_position={icon_position} - data={['Go to this Link', 'Or to this one']} + data={[ + + Go to this Link + , + 'Or to this one', + ]} right="x-large x-large" /> @@ -596,6 +637,7 @@ export const DropdownSandbox = () => ( let dropdownData = [ { selected_value: 'Brukskonto - Kari Nordmann', + suffix_value: 'Suffix value', content: ( <> {/* */} @@ -604,11 +646,14 @@ let dropdownData = [ ), }, { + suffix_value: 'Very long suffix value', content: [ 12345678902 , 'Sparekonto - Ole Nordmann', + 'Line 2', + 'Line 3', ], }, { diff --git a/packages/dnb-eufemia/src/fragments/drawer-list/DrawerList.js b/packages/dnb-eufemia/src/fragments/drawer-list/DrawerList.js index 29ecc846060..32b932e2b78 100644 --- a/packages/dnb-eufemia/src/fragments/drawer-list/DrawerList.js +++ b/packages/dnb-eufemia/src/fragments/drawer-list/DrawerList.js @@ -583,7 +583,17 @@ export function ItemContent({ hash = '', children }) { ) } - return content + return Object.prototype.hasOwnProperty.call(children, 'suffix_value') ? ( + <> + {content} + + + {children.suffix_value} + + + ) : ( + content + ) } ItemContent.propTypes = { hash: PropTypes.string, diff --git a/packages/dnb-eufemia/src/fragments/drawer-list/DrawerListHelpers.js b/packages/dnb-eufemia/src/fragments/drawer-list/DrawerListHelpers.js index 6df24219563..50dd2cb1269 100644 --- a/packages/dnb-eufemia/src/fragments/drawer-list/DrawerListHelpers.js +++ b/packages/dnb-eufemia/src/fragments/drawer-list/DrawerListHelpers.js @@ -79,6 +79,10 @@ export const drawerListPropTypes = { PropTypes.string, PropTypes.node, ]), + suffix_value: PropTypes.oneOfType([ + PropTypes.string, + PropTypes.node, + ]), content: PropTypes.oneOfType([ PropTypes.string, PropTypes.node, diff --git a/packages/dnb-eufemia/src/fragments/drawer-list/__tests__/DrawerList.test.js b/packages/dnb-eufemia/src/fragments/drawer-list/__tests__/DrawerList.test.js index 40f12cbee67..80190d9980d 100644 --- a/packages/dnb-eufemia/src/fragments/drawer-list/__tests__/DrawerList.test.js +++ b/packages/dnb-eufemia/src/fragments/drawer-list/__tests__/DrawerList.test.js @@ -50,6 +50,7 @@ beforeAll(() => { const snapshotProps = { ...fakeProps(require.resolve('../DrawerList'), { + all: true, optional: true, }), id: 'drawer-list-id', diff --git a/packages/dnb-eufemia/src/fragments/drawer-list/__tests__/__snapshots__/DrawerList.test.js.snap b/packages/dnb-eufemia/src/fragments/drawer-list/__tests__/__snapshots__/DrawerList.test.js.snap index 6cf55bb63b6..ebb34cd20e3 100644 --- a/packages/dnb-eufemia/src/fragments/drawer-list/__tests__/__snapshots__/DrawerList.test.js.snap +++ b/packages/dnb-eufemia/src/fragments/drawer-list/__tests__/__snapshots__/DrawerList.test.js.snap @@ -2,6 +2,54 @@ exports[`DrawerList markup have to match snapshot 1`] = `