From 303406377df005c658b6bea8f5e821f4963ff9ae Mon Sep 17 00:00:00 2001 From: Adarsh Manickam Date: Tue, 12 Nov 2019 18:59:45 +0530 Subject: [PATCH 01/42] Fixed incorrect module dependency examples --- .../components/modules/mod_depend.md | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/guides/v2.2/architecture/archi_perspectives/components/modules/mod_depend.md b/guides/v2.2/architecture/archi_perspectives/components/modules/mod_depend.md index f9b0e0e7643..b10fd480d1b 100644 --- a/guides/v2.2/architecture/archi_perspectives/components/modules/mod_depend.md +++ b/guides/v2.2/architecture/archi_perspectives/components/modules/mod_depend.md @@ -45,7 +45,7 @@ The `require` section of `app/code///composer.json` file contain "magento/module-variable": "100.3.*", "magento/module-widget": "101.1.*", "magento/module-authorization": "100.3.*" - }, + } ... ``` @@ -57,15 +57,27 @@ A module with a *soft dependency* on another module can function properly withou * Extend another module's configuration. * Extend another module's [layout](https://glossary.magento.com/layout). -The `` section of `app/code///etc/module.xml` file contains soft dependency definitions for the module. For example: +The `suggest` section of `app/code///composer.json` file contains soft dependency definitions for the module. For example: + +```json + ... + "suggest": { + "magento/module-graph-ql": "*", + "magento/module-graph-ql-cache": "*", + "magento/module-store-graph-ql": "*" + } + ... +``` + +The `` node of `app/code///etc/module.xml` file also contains soft dependency definitions for the module. For example: ```xml - - - - - + + + + + ``` From f8883e40c630be7ed0e5fdd706b0de56728aca19 Mon Sep 17 00:00:00 2001 From: hguthrie Date: Tue, 12 Nov 2019 08:40:02 -0600 Subject: [PATCH 02/42] update file extension --- guides/v2.2/cloud/project/project-integrate-blackfire.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/guides/v2.2/cloud/project/project-integrate-blackfire.md b/guides/v2.2/cloud/project/project-integrate-blackfire.md index 3cbc2d435b2..21ba8ab1d37 100644 --- a/guides/v2.2/cloud/project/project-integrate-blackfire.md +++ b/guides/v2.2/cloud/project/project-integrate-blackfire.md @@ -235,11 +235,11 @@ By simply defining a set of key requests for Blackfire to profile— `/home`, `/ ### Writing your first automated tests and scenarios -You can easily write tests and scenarios for Blackfire to execute. Create a `.blackfire.yml` file and store it at your project root directory. +You can easily write tests and scenarios for Blackfire to execute. Create a `.blackfire.yaml` file and store it at your project root directory. Try adding the following scenarios in the file: -> .blackfire.yml +> .blackfire.yaml ```yaml scenarios: @@ -257,7 +257,7 @@ See the Blackfire documentation on [Writing tests](https://blackfire.io/docs/coo ### Running your tests automatically {#automation} -Once you create and deploy your `.blackfire.yml` file, you can enable Blackfire to run your tests automatically in various ways: +Once you create and deploy your `.blackfire.yaml` file, you can enable Blackfire to run your tests automatically in various ways: - **Automated builds on Integration**—Whenever you push code on an Integration, Staging, or Production branch, Blackfire automatically runs your tests. You can receive a notification of the results in various ways, such as a commit status level when using GitHub or Bitbucket. See Blackfire notifications. From 8d5649dc8c5463b0deaf55cc3b5e2f745cbf821a Mon Sep 17 00:00:00 2001 From: Spencer Williams Date: Tue, 12 Nov 2019 10:21:00 -0600 Subject: [PATCH 03/42] Fix small grammatical issue - Missing article --- guides/v2.2/javascript-dev-guide/widgets/widget_collapsible.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/v2.2/javascript-dev-guide/widgets/widget_collapsible.md b/guides/v2.2/javascript-dev-guide/widgets/widget_collapsible.md index 82a147c093b..b0e92ff5d48 100644 --- a/guides/v2.2/javascript-dev-guide/widgets/widget_collapsible.md +++ b/guides/v2.2/javascript-dev-guide/widgets/widget_collapsible.md @@ -8,7 +8,7 @@ The Magento collapsible widget converts a header/content pair into an accordion, Unlike the accordion widget which is initialized for a set of title/contents pairs, the collapsible widget is initialized for one title/content pair. -To "bind" several instances of collapsible widget, the [`collateral`] option is used. +To "bind" several instances of a collapsible widget, the [`collateral`] option is used. Once it is expanded, the content can be updated using Ajax. The collapsed/expanded state can be saved into local storage, or cookies if the browser does not support local storage. From 9599d714ae0f2b3d4518ba66ddd06ff609276ee0 Mon Sep 17 00:00:00 2001 From: Adarsh Manickam Date: Tue, 12 Nov 2019 23:26:21 +0530 Subject: [PATCH 04/42] Fixed incorrect link syntax --- guides/v2.2/howdoi/checkout/checkout_customize.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/v2.2/howdoi/checkout/checkout_customize.md b/guides/v2.2/howdoi/checkout/checkout_customize.md index bc0be8abfcd..4a5d1bcca72 100755 --- a/guides/v2.2/howdoi/checkout/checkout_customize.md +++ b/guides/v2.2/howdoi/checkout/checkout_customize.md @@ -10,7 +10,7 @@ functional_areas: - Checkout --- -This topic contains the basic information about how to customize the view of an existing [checkout](https://glossary.magento.com/checkout) step. In the Magento application, checkout is implemented using UI components. You can customize each step by [changing the [JavaScript](https://glossary.magento.com/javascript) implementation or template](#change-component) for a component, [adding](#add), [disabling](#disable), or [removing](#remove) a component. +This topic contains the basic information about how to customize the view of an existing [checkout](https://glossary.magento.com/checkout) step. In the Magento application, checkout is implemented using UI components. You can customize each step by [changing the JavaScript implementation or template](#change-component) for a component, [adding](#add), [disabling](#disable), or [removing](#remove) a component. ## Change the component's .js implementation and template {#change-component} From 124c764677156e44f3f292c04377586118988c88 Mon Sep 17 00:00:00 2001 From: Dima Shevtsov Date: Tue, 12 Nov 2019 13:44:29 -0600 Subject: [PATCH 05/42] Fix staging Use double quotes for Build number variable in rake build:stage --- rakelib/build.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rakelib/build.rake b/rakelib/build.rake index 8ceddc25630..6e42e9f18c3 100644 --- a/rakelib/build.rake +++ b/rakelib/build.rake @@ -16,7 +16,7 @@ namespace :build do print 'Building the site for staging: $ '.magenta sh 'bin/jekyll', 'build', - '--baseurl=/${BUILD_NUMBER}', + "--baseurl=/${BUILD_NUMBER}", '--config=_config.yml,_config.stage.yml', '--verbose', '--trace', From eb798f164faaf6a7bae692e2611627787ed0f428 Mon Sep 17 00:00:00 2001 From: Dima Shevtsov Date: Tue, 12 Nov 2019 14:09:40 -0600 Subject: [PATCH 06/42] Fix staging Replace a bash variable with ENV syntax in rake build:stage --- rakelib/build.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rakelib/build.rake b/rakelib/build.rake index 6e42e9f18c3..aeb2f82236a 100644 --- a/rakelib/build.rake +++ b/rakelib/build.rake @@ -16,7 +16,7 @@ namespace :build do print 'Building the site for staging: $ '.magenta sh 'bin/jekyll', 'build', - "--baseurl=/${BUILD_NUMBER}", + "--baseurl=/#{ENV['BUILD_NUMBER']}", '--config=_config.yml,_config.stage.yml', '--verbose', '--trace', From ba6527525408be102609020a9ed52d279fff8cd4 Mon Sep 17 00:00:00 2001 From: eduard13 Date: Wed, 13 Nov 2019 11:34:08 +0200 Subject: [PATCH 07/42] Improving the Range UiComponent --- common/images/ui_comps/date-range-result.png | Bin 0 -> 43494 bytes common/images/ui_comps/text-range-result.png | Bin 0 -> 3026 bytes .../v2.2/ui_comp_guide/components/ui-range.md | 70 ++++++++++++------ 3 files changed, 49 insertions(+), 21 deletions(-) create mode 100644 common/images/ui_comps/date-range-result.png create mode 100644 common/images/ui_comps/text-range-result.png diff --git a/common/images/ui_comps/date-range-result.png b/common/images/ui_comps/date-range-result.png new file mode 100644 index 0000000000000000000000000000000000000000..a448830486fde08910990ff1c7c3092c75719345 GIT binary patch literal 43494 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

s#%<6!x(wEj!&R2(F1W|wHfn!KQ`Ax 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 - - Option - Description - Type - Default Value - - - rangeType - Defines what kind of input elements the range contains. For example, if the value is date, then range includes two date fields. - String - - - - - template - Path to the component’s .html template. - String - ui/grid/filters/elements/group - - +| Option | Description | Type | Default Value | +| -------- | --------------------- | | --------------------- | | --------------------- | +| rangeType | Defines what kind of input elements the range contains. For example, if the value is date, then range includes two date fields. | String | - | +| template | Path to the component’s .html template. | String | ui/grid/filters/elements/group | ## Source files Extends [`Multiline`]({{ page.baseurl }}/ui_comp_guide/components/ui-multiline.html): -- [app/code/Magento/Ui/view/base/web/js/grid/filters/range.js]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Ui/view/base/web/js/grid/filters/range.js) \ No newline at end of file +- [app/code/Magento/Ui/view/base/web/js/grid/filters/range.js]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Ui/view/base/web/js/grid/filters/range.js) + +## Examples + +### DateRange + +This is an example of how to add a date range filter type: + +```xml +

+ + + + dateRange + + + + + +``` + +#### Result + +![DateRange filter type]({{ site.baseurl }}/common/images/ui_comps/date-range-result.png) + +### TextRange + +This is an example of how to add a text range filter type: + +```xml ++ + + + textRange + + + + + +``` + +#### Result + +![TextRange filter type]({{ site.baseurl }}/common/images/ui_comps/text-range-result.png) From 27636ac6a7f5a05f5257801e409d94c214734916 Mon Sep 17 00:00:00 2001 From: eduard13 Date: Wed, 13 Nov 2019 12:45:34 +0200 Subject: [PATCH 08/42] Improving the Checkbox UiComponent documentation --- .../ui_comps/checkbox-component-result.png | Bin 0 -> 15298 bytes .../ui_comp_guide/components/ui-checkbox.md | 36 ++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 common/images/ui_comps/checkbox-component-result.png diff --git a/common/images/ui_comps/checkbox-component-result.png b/common/images/ui_comps/checkbox-component-result.png new file mode 100644 index 0000000000000000000000000000000000000000..0281632d91b4e137949f2fd7d34129d71c13cb53 GIT binary patch literal 15298 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�v13z$`;4D|DR=@QFuy>_l^iPsP?hiX1&~VLi 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/form/field + +## Examples + +### Checkbox configuration + +The following example, adds a new configured checkbox input. + +```xml +
+
+ + + + + This is my checkbox's description + + + + + + toggle + + false + true + + + + + +
+
+``` + +#### Result + +![Checkbox UiComponent]({{ site.baseurl }}/common/images/ui_comps/checkbox-component-result.png) From d74e9a2cdd922567bd0c1bb63d1c24e42f490703 Mon Sep 17 00:00:00 2001 From: Alex Taranovsky Date: Wed, 13 Nov 2019 13:55:27 +0200 Subject: [PATCH 09/42] magento/devdocs#: Add deleteCustomerAddress mutation API errors - https://devdocs.magento.com/guides/v2.3/graphql/mutations/delete-customer-address.html --- .../graphql/mutations/delete-customer-address.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/guides/v2.3/graphql/mutations/delete-customer-address.md b/guides/v2.3/graphql/mutations/delete-customer-address.md index 6cc28102bcf..a3ba6042a25 100644 --- a/guides/v2.3/graphql/mutations/delete-customer-address.md +++ b/guides/v2.3/graphql/mutations/delete-customer-address.md @@ -45,6 +45,18 @@ Attribute | Data Type | Description The `deleteCustomerAddress` mutation returns a Boolean value that indicates whether the operation was successful. +## Errors + +Error | Description +--- | --- +`Address "id" value should be specified` | The `id` attribute equals to a zero. +`Could not find a address with ID "XXX"` | Customer's address with specified entity ID in the `id` attribute does not exist. +`Customer Address XXX is set as default billing address and can not be deleted` | You can not delete a default billing address. +`Customer Address XXX is set as default shipping address and can not be deleted` | You can not delete a default shipping address. +`Field "deleteCustomerAddress" argument "id" requires type Int!, found "XXX".` | The specified `id` attribute value has a wrong type. +`Syntax Error: Expected Name, found )` | The `id` attribute was omitted or does not have a value. +`The current customer isn't authorized.` | The current customer is not currently logged in, or the customer's token does not exist in the `oauth_token` table. + ## Related topics * [customer query]({{page.baseurl}}/graphql/queries/customer.html) From e27ca2a5701143f120f2c74cdd23f280e8eb1914 Mon Sep 17 00:00:00 2001 From: eduard13 Date: Wed, 13 Nov 2019 14:12:09 +0200 Subject: [PATCH 10/42] Adding the widget available options --- .../ext-best-practices/tutorials/custom-widget.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/guides/v2.2/ext-best-practices/tutorials/custom-widget.md b/guides/v2.2/ext-best-practices/tutorials/custom-widget.md index dac4e6df7fa..67bde6b230e 100644 --- a/guides/v2.2/ext-best-practices/tutorials/custom-widget.md +++ b/guides/v2.2/ext-best-practices/tutorials/custom-widget.md @@ -18,6 +18,15 @@ Here are the widgets that are available by default: - Recently Compared Products - Recently Viewed Products +## Configuration options + +| Option | Description | Type | Required | +| -------- | --------------------- | --------------------- | ---- | +| `label` | The name of the widget | String | `Yes` | +| `description` | Contains a concise explanation of the widget's purpose | String | `Yes` | +| `parameters` | A list of widget's options | Object | `No` | +| `containers` | A list of layout containers, where the widget may be injected | Object | `No` | + This tutorial shows you how to create and insert your own widget on the frontend. ## Step 1. Declaring the widget @@ -33,6 +42,9 @@ This tutorial shows you how to create and insert your own widget on the frontend ... + + ... + ``` @@ -127,7 +139,7 @@ And finally, create the template that will be used for showing the widget's data ```php

escapeHtml($block->getData('label')) ?>

escapeHtml(__('Size:')) ?> escapeHtml($block->getData('size')) ?>

From ab6a633a3d9afb4d5d0550f0e161f51fdd1accc6 Mon Sep 17 00:00:00 2001 From: Sergey Yusha Date: Wed, 13 Nov 2019 14:48:30 +0200 Subject: [PATCH 11/42] Update theme-create.md --- guides/v2.3/frontend-dev-guide/themes/theme-create.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/v2.3/frontend-dev-guide/themes/theme-create.md b/guides/v2.3/frontend-dev-guide/themes/theme-create.md index dc1a1b56146..5ebfae4da63 100644 --- a/guides/v2.3/frontend-dev-guide/themes/theme-create.md +++ b/guides/v2.3/frontend-dev-guide/themes/theme-create.md @@ -54,7 +54,7 @@ The folder name conventionally matches naming used in the theme's code: any alph ## Declare your theme {#fedg_create_theme_how-to_declare} -After you create a directory for your theme, you must create `theme.xml` containing at least the theme name. Optionally, you can specifiy the parent theme name (if the theme [inherits]({{page.baseurl}}/frontend-dev-guide/themes/theme-inherit.html) from one) and, if necessary, where the theme preview image is stored. +After you create a directory for your theme, you must create `theme.xml` containing at least the theme name. Optionally, you can specify the parent theme name (if the theme [inherits]({{page.baseurl}}/frontend-dev-guide/themes/theme-inherit.html) from one) and, if necessary, where the theme preview image is stored. 1. Add or copy from an existing `theme.xml` file to your theme directory `app/design/frontend//`. From 868d11d45d6c3c16ab3d8bca01edd139c7383e77 Mon Sep 17 00:00:00 2001 From: Jeff Matthews Date: Wed, 13 Nov 2019 07:32:04 -0600 Subject: [PATCH 12/42] Product availability updates (#5984) * Added product recs * Added qualification for Google extension --- release/index.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/release/index.md b/release/index.md index 85685214be3..1210972e36f 100644 --- a/release/index.md +++ b/release/index.md @@ -9,14 +9,15 @@ Magento continually strives to find the right balance between making product upg The following table describes the status of Magento software availability and where to get it, particularly for software that is available outside the conventional {{site.data.var.ee}} Composer package. -| Product | Availability | How to get it | -|---------------------------------------------------|-----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------| -| **{{site.data.var.ee}} 2.3.4** | January 2020 | [Composer]({{ site.baseurl }}/guides/v2.3/install-gde/composer.html) | -| **{{site.data.var.ee}} 2.3.3-p1** (security only) | January 2020 | [Composer]({{ site.baseurl }}/guides/v2.3/install-gde/composer.html) | -| **{{site.data.var.ece}} Tools (aka ECE-Tools)** | Available now | [Composer]({{ site.baseurl }}/guides/v2.3/cloud/project/ece-tools-update.html) | -| **PWA Studio** | Available now | [Documentation](http://pwastudio.io) and [GitHub](https://github.com/magento-research/pwa-studio) | -| **Amazon Sales Channel 3.0.1** | Available now for {{site.data.var.ece}} 2.2.4+ and 2.3.x (US, Canada, Mexico, UK) | [Magento Marketplace](https://marketplace.magento.com/magento-module-amazon.html) | -| **Google Shopping ads Channel 3.0.1** | Available now for {{site.data.var.ece}} 2.2.4+ and 2.3.x | [Magento Marketplace](http://marketplace.magento.com/magento-google-shopping-ads.html) | +| Product | Availability | How to get it | +|---------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------| +| **{{site.data.var.ee}} 2.3.4** | January 2020 | [Composer]({{ site.baseurl }}/guides/v2.3/install-gde/composer.html) | +| **{{site.data.var.ee}} 2.3.3-p1** (security only) | January 2020 | [Composer]({{ site.baseurl }}/guides/v2.3/install-gde/composer.html) | +| **{{site.data.var.ece}} Tools (aka ECE-Tools)** | Available now | [Composer]({{ site.baseurl }}/guides/v2.3/cloud/project/ece-tools-update.html) | +| **Product Recommendations** | Early access January 2020 | [Email request](mailto:mailto:magento-product-recs-feedback@adobe.com) | +| **PWA Studio** | Available now | [Documentation](http://pwastudio.io) and [GitHub](https://github.com/magento-research/pwa-studio) | +| **Amazon Sales Channel 3.0.1** | Available now for {{site.data.var.ece}} 2.2.4+ and 2.3.x (US, Canada, Mexico, UK) | [Magento Marketplace](https://marketplace.magento.com/magento-module-amazon.html) | +| **Google Shopping ads Channel 3.0.1** | Available now for {{site.data.var.ece}} 2.2.4+ and 2.3.x
Bundled in Magento starting with 2.3.3, but still available on the Marketplace | [Magento Marketplace](http://marketplace.magento.com/magento-google-shopping-ads.html) | ## Patch schedule From f0a0fc0bf9b6452a8c168b7b26a6331eb239ced6 Mon Sep 17 00:00:00 2001 From: Alex Taranovsky Date: Wed, 13 Nov 2019 15:55:44 +0200 Subject: [PATCH 13/42] magento/devdocs#: Add updateCustomerAddress mutation API errors - https://devdocs.magento.com/guides/v2.3/graphql/mutations/update-customer-address.html --- .../graphql/mutations/update-customer-address.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/guides/v2.3/graphql/mutations/update-customer-address.md b/guides/v2.3/graphql/mutations/update-customer-address.md index 5c7f146dd5b..64e28812d81 100644 --- a/guides/v2.3/graphql/mutations/update-customer-address.md +++ b/guides/v2.3/graphql/mutations/update-customer-address.md @@ -61,6 +61,19 @@ The `updateCustomerAddress` mutation returns the `CustomerAddress` object. {% include graphql/customer-address-output.md %} +## Errors + +Error | Description +--- | --- +`Address "id" value should be specified` | The `id` attribute equals to a zero. +`Could not find a address with ID "XXX"` | Customer's address with specified entity ID in the `id` attribute does not exist. +`Current customer does not have permission to address with ID "XXX"` | Customer tries to update address of another customer. +`Field "updateCustomerAddress" argument "id" of type "Int!" is required but not provided.` | The `id` attribute was omitted. +`Field "updateCustomerAddress" argument "id" requires type Int!, found "XXX".` | The specified `id` attribute value has a wrong type. +`"input" value must be specified` | The `input` attribute is omitted or specified but is empty. +`Syntax Error: Expected Name, found )` | The `id` and `input` attributes are omitted. +`The current customer isn't authorized.` | The current customer is not currently logged in, or the customer's token does not exist in the `oauth_token` table. + ## Related topics * [customer query]({{page.baseurl}}/graphql/queries/customer.html) From b55278dab8161b785ef5f988182c5dc00faa30da Mon Sep 17 00:00:00 2001 From: Kevin Harper Date: Wed, 13 Nov 2019 09:42:47 -0600 Subject: [PATCH 14/42] Editing for grammar --- .../v2.3/graphql/mutations/delete-customer-address.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/guides/v2.3/graphql/mutations/delete-customer-address.md b/guides/v2.3/graphql/mutations/delete-customer-address.md index a3ba6042a25..893f63b1ab7 100644 --- a/guides/v2.3/graphql/mutations/delete-customer-address.md +++ b/guides/v2.3/graphql/mutations/delete-customer-address.md @@ -49,11 +49,11 @@ The `deleteCustomerAddress` mutation returns a Boolean value that indicates whet Error | Description --- | --- -`Address "id" value should be specified` | The `id` attribute equals to a zero. -`Could not find a address with ID "XXX"` | Customer's address with specified entity ID in the `id` attribute does not exist. -`Customer Address XXX is set as default billing address and can not be deleted` | You can not delete a default billing address. -`Customer Address XXX is set as default shipping address and can not be deleted` | You can not delete a default shipping address. -`Field "deleteCustomerAddress" argument "id" requires type Int!, found "XXX".` | The specified `id` attribute value has a wrong type. +`Address "id" value should be specified` | The `id` attribute is zero. +`Could not find a address with ID "XXX"` | The customer address specified in the `id` attribute does not exist. +`Customer Address XXX is set as default billing address and cannot be deleted` | You cannot delete a default billing address. +`Customer Address XXX is set as default shipping address and cannot be deleted` | You cannot delete a default shipping address. +`Field "deleteCustomerAddress" argument "id" requires type Int!, found "XXX".` | The specified `id` attribute value has the wrong type. `Syntax Error: Expected Name, found )` | The `id` attribute was omitted or does not have a value. `The current customer isn't authorized.` | The current customer is not currently logged in, or the customer's token does not exist in the `oauth_token` table. From 7e30a3400450a08181b3ba1b64a8f1f1fd204f7b Mon Sep 17 00:00:00 2001 From: Kevin Harper Date: Wed, 13 Nov 2019 09:48:25 -0600 Subject: [PATCH 15/42] Editing for grammar --- .../v2.3/graphql/mutations/update-customer-address.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/guides/v2.3/graphql/mutations/update-customer-address.md b/guides/v2.3/graphql/mutations/update-customer-address.md index 64e28812d81..e70ab440219 100644 --- a/guides/v2.3/graphql/mutations/update-customer-address.md +++ b/guides/v2.3/graphql/mutations/update-customer-address.md @@ -65,12 +65,12 @@ The `updateCustomerAddress` mutation returns the `CustomerAddress` object. Error | Description --- | --- -`Address "id" value should be specified` | The `id` attribute equals to a zero. -`Could not find a address with ID "XXX"` | Customer's address with specified entity ID in the `id` attribute does not exist. -`Current customer does not have permission to address with ID "XXX"` | Customer tries to update address of another customer. +`Address "id" value should be specified` | The `id` attribute is zero. +`Could not find a address with ID "XXX"` | The customer address specified in the `id` attribute does not exist. +`Current customer does not have permission to address with ID "XXX"` | The customer tries to update the address of another customer. `Field "updateCustomerAddress" argument "id" of type "Int!" is required but not provided.` | The `id` attribute was omitted. -`Field "updateCustomerAddress" argument "id" requires type Int!, found "XXX".` | The specified `id` attribute value has a wrong type. -`"input" value must be specified` | The `input` attribute is omitted or specified but is empty. +`Field "updateCustomerAddress" argument "id" requires type Int!, found "XXX".` | The specified `id` attribute value has the wrong type. +`"input" value must be specified` | The `input` attribute was omitted or was specified but is empty. `Syntax Error: Expected Name, found )` | The `id` and `input` attributes are omitted. `The current customer isn't authorized.` | The current customer is not currently logged in, or the customer's token does not exist in the `oauth_token` table. From e4cfc12ac43f4db0ce42f49741c33bfb5c4d36cf Mon Sep 17 00:00:00 2001 From: Donald Booth Date: Wed, 13 Nov 2019 10:00:44 -0600 Subject: [PATCH 16/42] Table formatting --- guides/v2.2/ui_comp_guide/components/ui-range.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guides/v2.2/ui_comp_guide/components/ui-range.md b/guides/v2.2/ui_comp_guide/components/ui-range.md index 41178b33a96..3d048fbc88d 100644 --- a/guides/v2.2/ui_comp_guide/components/ui-range.md +++ b/guides/v2.2/ui_comp_guide/components/ui-range.md @@ -8,8 +8,8 @@ The Range component implements the range for filtering rows in a grid. Visually, ## Configuration options | Option | Description | Type | Default Value | -| -------- | --------------------- | | --------------------- | | --------------------- | -| rangeType | Defines what kind of input elements the range contains. For example, if the value is date, then range includes two date fields. | String | - | +| -------- | --------------------- | --------------------- | --------------------- | +| rangeType | Defines what kind of input elements the range contains.
For example, if the value is date, then range includes two date fields. | String | - | | template | Path to the component’s .html template. | String | ui/grid/filters/elements/group | ## Source files From 44c5abc34d82a10b9074a5d16576ef4883e0721b Mon Sep 17 00:00:00 2001 From: Donald Booth Date: Wed, 13 Nov 2019 10:19:47 -0600 Subject: [PATCH 17/42] Grammar --- guides/v2.2/ui_comp_guide/components/ui-checkbox.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/v2.2/ui_comp_guide/components/ui-checkbox.md b/guides/v2.2/ui_comp_guide/components/ui-checkbox.md index 99bd3770180..4efab913e47 100644 --- a/guides/v2.2/ui_comp_guide/components/ui-checkbox.md +++ b/guides/v2.2/ui_comp_guide/components/ui-checkbox.md @@ -68,7 +68,7 @@ The Checkbox component implements a form field that is an [HTML](https://glossar ### Checkbox configuration -The following example, adds a new configured checkbox input. +The following example adds a new configured checkbox input. ```xml
From f2a57ddd267e479a224bd62c4aa9887a66f9820e Mon Sep 17 00:00:00 2001 From: Alex Taranovsky Date: Wed, 13 Nov 2019 18:22:02 +0200 Subject: [PATCH 18/42] magento/devdocs#: Extends information about creating a dynamic row system config. - https://devdocs.magento.com/guides/v2.2/ext-best-practices/tutorials/dynamic-row-system-config.html - https://devdocs.magento.com/guides/v2.3/ext-best-practices/tutorials/dynamic-row-system-config.html --- .../dynamic-rows-config-result.png | Bin 13778 -> 62847 bytes .../tutorials/dynamic-row-system-config.md | 115 +++++++++++++++++- 2 files changed, 111 insertions(+), 4 deletions(-) diff --git a/common/images/ext-best-practices/dynamic-rows-config-result.png b/common/images/ext-best-practices/dynamic-rows-config-result.png index 9245d20098eb0f8519d60503641c66987a96f9d0..88f4796d748984610de481e4b2d44868cd973ff5 100644 GIT binary patch literal 62847 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

9*k~bC zUKKp(2%;O@?YQ6Uh3Q_N&8rKNu&pD>xvVsLaF=;)?w|^fq$t!41iJusLPNQMXiwVb z)r>&C*>xHnNdAP4RvYvHKdOhVg?h(OX?^vIgw6;&fXN)Wp&^z+!0|Bj>;wo9aF3%C z{7fP#cj^;y-dHPYC`zv00pJCTb86`mb`S@GzvG;iRu!ojGw6|7S9~h9zDYxThC%76_Sk$FZ;pOMWTC}nM%dODpWbnTX0Y~# zn02f)5Pu^-;c&Xnx}uD{gr!5%K0bX8in)@SiZAsH_&#>m;(aWiZF&A~6FVTPNWhU5 z6@!~eXaZ1yn6||6K>NJ*BnCMiTrb`hXh^%1?|pF;hMAuizsf~WnV(db;jmL57V2AK zrp%aJWm6oy0bZQ2xX!YigN44AH z*~LoxRb`P8hI5}dZiFx`$wqIwIKbrPq-(l75HFV+^i|}$)(!!28?gtiwO$MFoVq%#o{no`Se#v(l|@&qN=g=yEF-6L@$?wA~gD6Oph%6$Lp%o$@Mi8n%!)C< zeXf(#D4xQCw*EQ=v*a`!zu6E>rkn(-D|te*iiomG`qw?&|$EX=w13lu$dv; zkD~wfzGFH*-A?|Q4l**5kU;chYgRH=>y`51KwfdBihkG|k2CTbHT$rz!w`ez0$^t5 z0WE1#(i$D>>x`CG&_2Yfuai}B%w<5;;T4uS&ru4KWpIgF2V!ehD#FW3kB^ieh> zf{<)@K*y71j7VZd2e=KWla@l6;Nft#8O50;MW8O8rTH?Waj!lUd7%ozV27qbkXBQ~ z_|{jrKNY4afh{VMPl%0uIVh|K?z7d>3Vz93j9(qC{+-Bj4Np_nvjl%u*`(m3m#2Rm zBq;8pxK2EnOBE<~O0$S}w?xh1zmXM+RRZ7U9u%!>U;7~X^oF>y8&vb8u3I21GjUp1 zkBt+dfIHDIM67AbBY?vaK~EY`?|@L4ogCoz?}RO zq-yPJjtpMbh2%+Bd#P|&0mps(LbGPy3pswDk86eRcq2}B{0TZ(8`r@gcfX-+8q7Hl>HPs}hPvI@(u3SeWkiG@ zAN4(j&k{vHV)rH&RDxx`)UXoVUU2ed6pzd4R!vWcq4jFweP&%-Z(vuhXSpvk2O%`A z3tHF7dZ?}X49F6*Ysx|}Gl^KL2TJ4@a;}*wOFMJA8+Ti&AihU!E#zrRWogA?8vd}R zCZ?5FRLmZUjKo7v(QSA8dS^!G)xB^5CsZuzbY-)jz_1J7IEHmSh*9b&F%_$^7Vt(v zt4efgM>r^II;r-eS4J*SZ4rcfYmQ3L%3yBB!Af_4QAf_A8skXd`K<1}2x5wv*Y~(GbZg?Dt2- zD=1_N?a#7(U@*KpDE6H|Tn4*RKNOzysCxH#%VB^{OxY@=36XRF?GFzJrd5D+{e1y0 zP~^NwC{IjH#-b12f?zTT_#ks1>|WK0&`uwC{#;X4V?x!zhx=W@U9u98P?r##(bC*qQpzsbU#LqIlW~t)HeNFBzQFwYR3U z9ClESs@AX-<=}I7%2AQkS~cavS6VK7xn}SA2O)kc$qo7c- zjptgx$MJ=mm3gS4nSF8TDiy|MRa#^EQsehG;V<4ueJl!ENui*p zj?7c5(U-O4{+RE8-zX|rblO(I&YYC}hPZLP|c0g97qO9Kh2C&@` zxKJd&Gl#*;Qy!y^9IvdMY58zK=_2L=_}$?C@y5OpyGM4ph{|5gVTwLXq9Ox75-vGU z{nWvap%b1+=C)?D#kEt;2laS`6uWQq%nMZcdFg~EKJAeDwWXNKL6GpAJ5Pf_?D0Fmety}Hhs&c zs?qF{D9Od)RY`J=_bC=Gg!DPViO||beQ<|zml?>}Is-kx3HSj7pzkMyJ+yu7C)eoy zN{y*j!&Ce*N%lMFuEmu3mwU z-Wr##F>rC+1w%|L;ww0n+ms>Khb+WC!R!m8(M0mSi8%AgB-`2Alp->Xk1MRl0PfoU zVdPA(rUsjW$>K|PPDvA018UcG&dBQplswNshP|ta&!Uh~@2*#8J{wT(lV;D>U9yqZ zU1{6E#iTEJ6Zh+~Q18mbc=NvqhX)^wrE)(3DpeY*)kTEeNQ-O4Wi`B*p?DM(3`J$u zod<}WguqF2{jUr*m85iX$1q@|dtAX}B>{BAEC9@ATgASQ^5kX*H!BLtpdXQ=(FuJE znyJpJSt8Z-9gxPhI&aN~&lYe#DLk{zpvpIQby1UHl6Wp7vI1^h6m}bbxSFSI=HUy> zp$2cJlt!C|)f9hfF57Bh4wyheq<0T{FnFhUB{&f>(JLAA+YVdy^Z5#udfh1zYi@{1N-8<6-G9KQ5?; z1UB!%e6-sgeK#6*-6Mv<0hkSf9`%30=1zaS}In07u z+^=U{Y<()@bmQKOx+Fv7lP?~&B6fc6P5!uMAiC%LdG|R#9vfp!nVGXIJnjIl4UQS{ z&$I9o5n757c{}q*APar1@$IyYY$KGb)>_F&#qqefP;tubl-&d;!>2R-=e7b#$Ak?) zK;VAO@5XU8XXp2cV#dKLaggVhNm%MJIp@iYvQb8J{zVVB7};vwmu3R(s#%0ZYId4S zJZ@#!v52zj3)_1VZ(T~mXF3o2Wb{t(L7anks&0Zt!NPCSg; z_E_}YaIH#{Hs0)4rs|4zxFd@X##?-(Y1YWJe4rsx31N)Op;|%iEpgizeMDSw8)pL8 z#n5;Te4uH>!RZXgut5Fzf&DKg_<8RgqB)1aafH5+ob`gpj-e_i>@Dv{OO1Nj_E}`t zfeEY9fWjclg?u5M&Emb3x2C+dfSma^*}k%7CK%r|x_pUqobn*ykQ;m{rtwdS2}e=D z*KEvlP;~dqiv_50r;VyuBtA1!<<8SCDiBZSC(JuDy55b?!^bG-Tc2>tXI!}^Y9-hc z6t~uLC62#;^O!`=&Rw?Uo`01_O;L;yFq;BZQH~(wUX=FF$Zbb$&e05&8IGaBIiLbL zk{pe0lfLj%AlXioPwga7E5moca+b<&QJK@1IXJ@<by7=cZSjz1*oFeBO1v`BqD> z07=KF=V5EBm_xCehAOF%-BZ zB}*4?th+t9_Si3Pr2_hhya4NTsE4Houor~~*#koos*b%vIPIh7PMkwo9-~7_t!EOG z%xc4C>bx6n{y^W0>fcE%A&BKG(76wSbaaCOfO`Al2e%G+;M5?85<<5m`%@CfwMnA+ z+~Kp!I&wde(5xS&4e`eyC)B3`jp3%8j3tax8C`ffU#)0UMJ6GxHsC^HPuv4TfMd=n zik~f-V=v;Jnk!iA`xTPzc5hA?`N+-nOd-ZQBi@MbPa-XchNtGPhU=&@g_-yZOu~@5 z*qo`#mE^SxapE>?!g7?;wgZh!tmM8MGJG(-b#7SY#h*3T-#?1VuWu43gkI%&bdf|c zSPE2rjmpu2#QI zb-ITO;fBmwKAA^D?8zUrj2CRQf(ua6!etrTC6YU~5at5VfY$8Vv20uWn>D7{n`^A)?mU~Ue%$QjlxmI%8 z&CbH2{`khoyU9+zi@oOsyW=B95iXCEE><=+$)6x}4Z z#HhOub~I}kuyS1ohK&i#Nj0JtG)1LY=)cQj{pJ-;ySr$r9EJQvV`a|B(q+yii5-v= zbiM7l2wk&ngt)AqZKlMfm8nTqh^KYryOb(83;O_^rjBvALDvbYz?M;n99=bXLUGXc zZisBcHlVJza|t6(ytYB0)}=w@mdwpCK-c8E!H8IjTfTRU&Kzt(pC7~UPN(mP)_V*| z_a4&c&ZPse9ol5HIzhBxuEn>5oMK1i+RdnpUfT)EXD0HUJ1skJ9x+a6-?Doa3CNHFpEWAa{dubx+9uWT- zT(N&XRTq{)FaaSjR^DtLra`NF^M$m>=s2FGOlqG)SIZ0spUw;Iu3dN!$t6aR3BC2< z%h^=>nk8_DQDhF>KC}HmUqCd}6i4I;(AdVsVCx#cPG*C}-OoP@I9}+^FhbgLXX~05 zgG4~MNy!H~pSZSkKGA5HkoS+^fXpr3SnrSkneR@T2^Qn8YYD0OMC%k3z!_&D9Q1wH*@8@VqRVtfclqq65{E=wa z1MrStxy4kz=5ct?&5xJFOoN?4yTt@D( zcSp4-&Ji1!P|NkPl5&S@%>yGn;+`L0Y&{}+bAS^6+QsTXc~UqG)o)=wZ?-PRUJV)_ z6Po`$083SOQ5}_S`i+@?vh`%GqSVO|W_~hvI!{6g<6X7^0kJ_QRrP^xgUo02q$t5N zr4SoQ{1=lP8gwZOx#{#`lW`xU4O5Z?ujydQ9G;4toRHBUU1THGmN;)5aYM&(?kcEp zNrPASF!9p3XGydOsa0n4YUZI)IrpYcG%Tl>!oD7SpC{U$uG9t>6+I@cgY+tPtPl5I zLa9T#d#&g{JiaThhTx5%;YG34%J13Gbi%-aKTe>#5nP#n()8ts&fwJm#D7cE@A=w~ zU_*8~X%my{@f5|cWs0q#cXIiaP7pgG^ z!X!8Dgmr&3&^)Fh~mj@Zcnin6mEP z;y<(Onc`j)^dfs(_`fGv11H&YoMm_SCjMD(_5=;vFAFt!j`HsOJ)GnVRXE9-#>mh+ zQ*1vQ!YScZa8FvwHGWTW8D1zwH4!s%=VJd6ZB%#xUvWw&hv46n)P$2Ve*)MzcpSk>{JpVJ7ztHA? znCusRr1%e${f*NE|G$LECAs-}i_!Pq+r5&DOxF~kSwVaK_Y z;~zu#$-^%EJO+$(%^UDbzflYo{N&+yBhBXj@QZ+m1_#=Yo0*A!8OeJ{Kj4mtHAeQo zY6uuf;N&pYH02flF%Jqa;bVC1;_$DmmK7Gfi#4yV?7yfri_l=3%54|Rf8)##Sgil4cx9?W?WeraRVy_o3}(lS}lkDR~RO@5e^}OUa==Mor0=x9IUn6+v5F zF=@M@4XLJV(KFP+hBHpkZj%1>FV6qx&5*&50zE=y`n81I_-gI^&W1Qfo83hMB+jR zTAz_##JplRKgaLtHv{6SNEa{%cKdU@$970dV%hwccZCfX*(L5@<64jQ;zZT>qsV!` z>X=(eIom{bqN^86o2hX0Rp>^@bIbLiVf}p1D*5AAlrtacTt8NJ&Z=jox8n5f5fl&2 zpd7yq0nG>$7BsR5E!nU>;kK7@J%Mh1ziH#11cXMhm8o@5;VSWR*ZJa`=(3Z{7ssof z7>|Zl;+s#YPxV%}Y_fbTdBA-_j^&vz^t`D!Jz-S83(9SsEyOOckj2NYVYVz}L93)IzY_lBy4&=Q&jEvZdfqTXH*>3+3 zx}R?FM^v~^DjfCtuLbeurym-p*!rVf>!v8yj|mmXn@Q+D`eZ0V&n%(xvl+a9GP|G7OaeIOnc&2SApb6S6 z+nT%z&@mr5i-YMG`@Re!Fo%Bqs=*ihHeWrt7@3E+{Ju7R@f?UM0|l9$OQ0OJ6%xkk z`mb>7x;k6}laDjm{u)N=Ach?~sx7i|_799!01?>3DUHMaec{`gM}s5ZJ@%uB9hkffvbij2*CmGObmA2}eB-0JLpBSikD6?G zEr?C~q0LOS+C#Q2>82o>&nU+8CCtVNmCnfcKS29|PMaLhvvU zFGV@V-<&d`Ir)}E@obuXVV14(Y=mmJ==-tn=;X9cX(-9@%VsU~jY{kE$hiPK{co1S zp>urFkXYdUArx6(#ZBO6h{_P8l@2c&ymT9J)pWh~HC1_kj@&M^ZVgPZ2E_D5BDWIU5O$a6EhXsm(_#30uwoMuE&)7~?Ypd$s zYLM{X_}KI`axJbO-eBQK;pIW( z4n`me%B_0FX4nL5%r$5HDf-5!Y#TbKhGglWjLAf(Q&m6`vM$7{PrlYJUzCdqL$5p$ zRwG;nFA~WDAWyWbfIt5XppRXw(;EddV{AqPT}>vkA{Lt zbOGrst!0w5%IXT4i=2;w!2H2@vFT|4{{my)w(t-m&nte8zr)Ln{N6<`vcannauhYn7}@0WJ~WnXWx%xGpB&EF$Ar@%#a45??FRs2(UY zfPi*hSJy3SE5ez`PCXzb3M^SiqVGyYg<3vGrkRjIsIhbzCIwe2xz?7T*?px_`~B({ z^Bqf54|GHEb%z@`$co1=R%|O^@9aX?YTQCL4GA(U?4Jt7t|jjME5`iY2aZSTC}eP> z{x*XyVO~tAuB9?d0Tp2;c-U40GcJO-78V%2>0-lYbi`G_Y}N;TqrD-IOza>Zj>9S` zV5?7ci=wrMNvCWBkIl81G6`%Bz|*B6mNv^zl$nZ^PVhphbcx&OIr#(P*d$$Hw2?O= zlcfsH9|5;#EH3zg^Pq{w7!DJ4LAn~6ux;g)s@J?4iA`|JvNjmc_peH~qeOUscu-y8 z@n6cqN*>h?pWZ*LDRtJys8A_w4xX2kWBdL(OPIKiZTqv6Ye5u#Hl9dZMQ*y0S@B0O zs^St014H6dVi;X<=G(ZKo=)m-uPwUA_98Oa^u*;54DLk#y(ygU$Yd4u9_KAq+TRb7^^>ivHLBZ}xvNq>hcx z6+OMe6<_|`L&=$yvtaW^W5&o2dzZ&!cg`f6(>bF|2eCgqks{R@u$1wLXBgkpnz3I1XW0Wk^9jtX`3&qEySozPxV=q6n`!}dWXYC@Sq z9j%y{aB|6}&QxaEIiv_TYq_M!<<-SsiOZW zQ*cyLRqiyv&z>(c*nCnLw*nRROg!jc_W4cmPrw?Lko31Oz$-;!e3*Iq1LkZCJ53aT4#Uc&D%JCtzw?A&Z!HA!uUX2aP!o)u5RgT2JFi= zc!h078TK!KhXRpniTv`ilR?n9F{E zSMGYGy^h-B-NqsH1$_>zsdrs(K1N&^Y4lZ`WoRGYTZ}FLvR<23^=Lz#Ct2F{8q`J! z`$(X&eo56ql*ID}-Qvo|}pOLEZ^g*|%jJBcifG1YYkV;(t(xQL5VBY0F zbv_*j$1kP3&f-1z*7Qnh(~?l7T0}xtR`pg~E_zvP9TSM=&;&*TdOi`T7b@Q&TiiS; zv6q(=@6vWwz$NIYvymFRD73%s-uG+W^i*H=YIXRqA#tg28yc2JRVbIMUg-e45r$^z z-S*w@d;u&5(k8>RAZZZ(zd-K)wj4wm4$(A`r^x=^g5Q0f7?+f`bar(#ZI#!u8WyHwwS_zl%+fgCI27;XKb}`q%V*PbaXdLj88|5~O5c zlKi^3tcXzh)vTEoN#kiW*3NwTxW=Q-hO)xr$wN{wS#a@mOg8-M4@Rbz)&7s)=^ZQv zAM6jV36fvn%}eonKg+;VKKam3eKl;0NAWS6N>;)zXzQxU;A5FMUp4+?EVYb7b{Cm9 z*GU2rF`nu=x6>gKu#4=%KNHr?=eWi$I%1m(5sWnwIt|XbMfIQfOW@dj!Jsqw7Y8nJ zf@gEWfa^WBZSG;`4)nr~$w$4xY-d4`iS1zE3o6vh^!H*O>N#O`h$sGbD?^%?eI!Fs zV09FDiPO+gDAv_QW;_#Df^e-ujVHU*eTeBy`4ssKMYx`KD8K5+$W{Zhpb7NgvcT73 zEb6|?`b1M0*80f^Rq6e~qz3hZ&iSXV14!^Zve#ggwxdL@969dU`X`6+#)3&Lock6- zv6hd58>FU&J@y-utCzIRgH^s)`d@Tx@+jyO8@qqKlERMu_#x<53U>V(F(hZxeyg2^ z9sXr5)K662kW@;Xs&=Ld_4fCUNDDupyZ!-0TIIHWkJcJ5YkK3Doeu%$v@_WlnT_Rt zP5Z3+0S(bzF7II`26=11jK+Z9TlMUtI!Jn=m)wq5`RlcXMS(b0hk+72$BDh(Z8)#)D(5h4ew zRCS!p(Uqyd^t&~$fAp|apa#1nt{kRZGr1@ENjvmmH}i;KMlxm!}BVd7D+8uxF58}0`;2`EPi z7hzE+Yn;?6JK{{!eY-wfR{W}rv5F!hOuXLN85;Hzg*k|{{OU7045~JbJ#K}dsxZ|V zZJtK7{PQDg(zAj0>{*y{kX#cgxPo+vXg)`66&s1QffXiByE1UI> ztfqb9O?ixRe8R|-){l9e}oSS;YH7Zn?Xv{O|oJ}+A&8lt2+mfPsgT&6|$?GVn z=~nYjQhwffh~1oW{^bfecrUJtfyC+v^FZXA%*}+ zGB+>Bw^N|Df?6fba zmW#QP?6#x{2W(Dn%|!B0iq&xGOhnx$Nm1WsH{-T{=epHUH@MH0{;Vecs$tipziRui zv+4b1H1D$^dv6Q(BDR^PoY32Z(A%Br(E9UA{xkg~nQ4K(%(Pz8gbW|c5cwOO+4UWp z?WLvZ+NInPK=HnztLj|p57&d0%jHr}o$YdH0{J8~LXzjBW#^Tv1p8Q(-b7dkJI)&> z#9QZgior%*Hw`-6u4yAWfV3RI0V;evDB!s{e%a}MZ*{15#L8mx>HZdLMSJL}z{0Ti z^hCw(koTlxcDIq5vwTD+-bz;^t9`l+BpB|H#f2mOWiY(wX@}BJJ#QNUn&Wj!I*mJ~ z$F>7YB1+%;H7>zR%``BdL7y*)OkzeU3r3ff2lE@OBc8Tfl?!;aH`8Mtm%HXdYW3u9 zwnTLjOt<#&Dqm7S+$b6!Z5CNMP9$Bip;s13H;Xst`yTszu*!!1@sS(?T7l7}IX8vF zCRTP8kMpaV3#ai6(l3^Vb6>Yy)I8m+qgP!Y^f~NsI8FmVwK*6%pOT1KLcGxIU?`H8 zHT&I%x2aRa+OQ$U)5a{o8>;VOJy=zG&k!5LQ-g(Kd6!(G7+qyX#lY@6oGH`#O9y<@ z9&%aJR|iPft7-c#t^2|sJ}$S=jn+CV zgOIH32N_GZ>r*U3mCbB+F1Cpd!B8D8_}5PP3vwdWUep}yTUMD~&88MD)br4dck+$0 zS6p{eOkEzL5vNd-3C&z~Bd*j$2u|(4snIXZR^ghb6V3)+4ocW(U9S(`_nxQ!?*0fg zcbq>0Tm^0htS{_^)-ik`(O5QY!uz(`)oA;Idp>JMd)zA~+tdMNfi-=m(<1u7EoIo8 zLv+&g_Nngfl}o})MmNe@=eyx=)d$s95kxRiThN-ZgQ zS9>SQWf@OMEsR+K^=|-{6Q|HuYh+ z4}cQ9v(voy2*9b{0pYpe6DX=ZwY4Zt)Sat|YKIbh^E&N{o(v=5M}lP=f$T@iXR0Wi z0FzQBY3c56rE3TYl@ySc?(R-O zx@+j}9D2y%f4JW3o%{KJpP$b&K0IgU?7h~z-nI5x`|Q1s^Pm>efJDo2wVTo>0)02< zWSeF$Q7hGf(|GGCXOdn6dRLk>2ruMvplq7UysW5fUvg48x_r_s&ic3xI-huz;aJO= z5qA5g|7*KL7`nrS{n`rOoRFvI#F?;Du7CYSsbeD~<{f%j6XIbx&KqM>#9$2x<<;cqCXN0IH4{Km;IBbSr8*TQTjR*?*!aW`9Y8(hnrhy_0i z-LLW|&|9-ySnv=JbF&#io!)+RXUV^ zu+9lt0c8tAM_J+QQa-#GQr*|s1l4+fPKVmmMC`ZSqRp?`!sE~Lyw9u}z@C z3Yu519oc-k99FR>gFd`I2$lhzb4OP@O@D0CA6}|VulO*%`Mu(Y<;4v`VX+VcCP_+k z2iES7DKwJUbTXk6ZSDA0`jZAEeJ5v-YA34HHMMn4kLmaA4g?vu4ek2T^WvaADdk8I zYa>0Zy<)snDL?5)ioWlIoGo9k(E-fz%5gWPVBwxU^r_WzLN*9t=NY~|L^G$Ev3p!O z=33s78755+<8|vaZFp`;mg2v2t5O@M`qHRy1a@evTC;zIVI#OWn`Dl3jW`eWzCt-U zzm&0^PT7mv=ZALosbzK}>rQw}#h=r!h6x%h}c2oA0b z&psorVTHR-QC{7vCU!=?a~47@PMkpN0JF zGVRPr(=U@lZoGv_klu`Q307WlS$jE_r9m39xT~k!xz8f=lxKycJh@aaz?nAjjtP!N zP`r3;d@|bid%|_N2GD(}3hs%b{ABuY!yHZb`t=!1f=qUT?a-Nkt&V)Exr(VL9^#FL z2N#+xKW42No4|Y;9_<>LYTpjH_rWm(P!rp#bQ@F`VRVB+(!%_~?ENRjlg$;dp4SD` z`vo84vsBd33FV0@$Mi{aY_O3w|2#fqnzih7s1(a$9||dfsDS6(L5ZGRy*Gkl z&YDu|WWO}o+({{o-##gwg*q<4GfP=y)g!A((R4NkuWQWAODhi`tD zlXoeT2m>ndhfoACkzn;QnPb_S9sR~nAyPll0i97=Q-`fJ)r{vz$J&Bm!O;;@#>e%2 zpGs;$!l0s@+f_06Bt_= z$K{jE&OO=ggv4fPHw{Xpxe%hccvB=?G?#_@KVQZAw|E&+l&sh+braY{xxX&T!gF_+ zSm1+*Bv}b}#dLaplT$)jryANp67b3wceO1kA;a8p63)CJCP9cGeVY-Kd!0WMN^>sW zpdi=;DhnxHZYJ)kZ{kNiZbnJhrn}swOa_$}E$p(JCxK|%ZH5ji;>{N(i8mQNrt9wS z@6X9L1+uId;BQWENY=}i-^}dd61UMi^>>WR?w1rT<}GtSxDZah_EEh^AKVJPowYE8 z^3Erq-S<6jihZ3@jY{I>l=tjBd-J?)zj=x_+1V*y%_2}nO)O=?+o;}4M<^wL7M zx*)Q7r7uT(41~4$7VWf?<8u2Zc?=l2c&;A_RyP;sH~nCRZb$cK4i-i!bcDQdtjzBt zNaXW;N4s$IwrcWO%=99p+Dy&lidm}gc=~qKLyY!z0c#BMaAu-1X8X7!lJBG*IyR_L z2%3kug}|i5YYwKa_>OL`WyvbILdsa3+1WUEZyO};!?;a-5Js!!G$Cs4HJ&j$S*d6p zSC?a8Uh5q#iyb3Rb;jg|Vnqn|)<}Nw#3>Q%Of}gHJ9neIN=0Km>Tq0>V>!!ZD%tCU zWcGkZk~5 zg;~Yi?8^4rJhR*xKK&9FwCM0x!Q|GCuFBTLk8Y)_CIQ2au8aG@8=d1_i5J9BHBj1$ zP6grNKr<8gmvV7C9og*kj$!?Zy~lN^+=i!tCYz5)=Uqs={VX;!-|y|6X6`%_p$ zOzHr(x$&^I0rK;aP=4B4rI35|u>&)qCX{MNtcYViWY$+sqq^x0qR@f?F^i9gfe#a? z==r=r(=Yorxy6l9ad4x7x%eFY`gF+K{8?_?c4*6EU`TAan!>YOo79mRbZ>Qz3@BW` zX&R9y44n6MZgyVLZgZd5;Xy4YzFeQe1eFrA;5MTy6oZtYe6KAxFag57rM|4r&JI$Z zFwHJr7G(D&FEAx}iTqC;v!EFQ; ziGj>xGVzTWd!MJFSdfyECFfA%;qG2#9@qFL*F@ohz@jA*%bl|x>Yl+bOkah`+)Q#q z&zzI7RyDMcqR3`oxStSf_KTp>pxb2FdU{pU%-8eY_qsj=ch{1s`U4}M0RqIG zd{g5X_Jq}R93 zxIRp14r})9>hH@P$Iom}J5PV2fCUpy2MH`5bw3Tv-AYfNKJGntjN3e3CB0&u8%OMu zcX^MF+i5_9v#E?Y?{yode)eNMG;o38r8@MB6P{Lq``ZN>9E1hcv&l)#B;tKs(u%7_ z_vlw@$NWymW53S(73Wz7YwZWsJO>7!K{jISq542*W`AfX9g`L?wnUlgJI21)u#ceqi_QJx_%4p*PG-a9 zI9d?vrdF0;P2vz!?X7XogqAE+zKODLTf4lDjJ%v{u0}B=@aV59LU;5?0K*n=RCmPe ziX5qkELovVN!oSt!!^vf_h3WvF!9gHqjJ!ZTqXYqapD^>@dU3EA-^=HK&2lptbkts@yc^23zVA7sx|bD;8-gT1osu zz5omNX?c{6`B_kWYP_L>*barRUcpcJtkb#XS1vRsbuygiYPm`-W4l_m1+Z(r0q?}f z#{+}DuM6?18^T%_Fe9Oj*bW;_IAm4awCP2@8U0jJHOH`LHs}PLh+0v8v2!WXYM?RA^z@{^YXZBS&lI0)LS_q}_#6 z%e^dqV)ns{Cw#vyAcc{97ghGTAm@*c#yb}_dffMHVC`&klkHvswF~v6Ry#Mr4)ehq z+9oTqu;p$8WR;)gMaN?FkPX$=L26y1!$H|iJ9Wd69Ij)hg;E9xay$7_oZIt~Ap++lSB`&8o-ZV3*c*3)WwoFO?%eP9(apH~eSc%WWN39H-n)U8RBl|9MVo0cLt>g2-CUt>unG8)r5)5$=phJ@)13N=Y43G3jVhPdT6JnW zN4a|K^UoJ=GzFdNz@g6!Rs^P9#Jnt2roHnW#vQr0JM!-fBWZ;Fx@wX*r_#Cl=v?6` z-pgljY%?)jH(vIGi`~~m)V|OP&*o>(7TLE>KUpY}ow%)b58Ea||8&dvSUpvu z-io0i`B$BR<&0U5qiWqD3X=Y#*EH_sBBLK=8g~%dXGEL;0)ab{AP*WTP!(%+JRR+> z`D>0#1d=NUK1Mbs>!Jz2X*A}sq5Qa?M+-c)c2kHf`*)J$`OqtDr=zt>@KJYKhUdgq zkvY^-O-!KSi1aneT32+T_Bg?{R)Vm^sEsXp-4EmI%a`aqp0*TWRDEBO1*#0ztG!Yn zx5gEPYBSM?YcY9Uuk&yS6nM!>FLj-QDu2dAYxSOizPw(7aqdN zVZf7;<`>8$RxzFh=5qsA?Pb0Q8HFD%Urh^TjA4S17mqo^Ej#Y@mIQqHL}BL^i8vy{RWi8Q*)up&iVSV z4iiyN7SMH5v8LjW$%2-z6&&?JTM;dyeQ#3~eTqDaNG`Va;&0N@b7p!f&rnu4tcIcv zEeGulMbifHAT@cR3d&6e^)z0iJ*z$<%!CJ_G2^G()6NmPeb%<8Yd}u&D!<5^wB|2= zzX)~!B_BG4#O6SQx?sXWX}Q2somSxu=bBI&be+L`;vNyP2R{z^ZF*sG(M`tzc>l=^p}LEy&v-GGCOW4(M&B?N*=14M zp^8=Fw5C9oBJ!)*EmKap_i zkdex6`6{qNWe55dwvk$Ob(=Qxqo8yjA4`3Yp&`&AhDXG-!n$2}n^E&N`j%CK2qhVu zPtc+*w5%hjW>nbw6w9prQk5}&C%YAea62KUla9=p5;Z8jLaw&?z;TRHny<_}&*awr zTBzS|?gcCxluIA#m1_^;J@HVtXS5$1xLRXA?<5C|<}`VIfQIuU8nLI^ZPYEa`zUp2u4$Kg2e z>vd&~uD6^nvJoO1$@ETbL$`zTiJj{5iD+bAW6}2zs`Y*$IOvgcT*{AnAXb%0PfF|k zs$faM{^0xW$)YhLDkY`u8*H4XgwF-Zc^;ZkJ$N4O-4k7c){pU)?IA`3%fm0>Rr5eoj@$0rA8aQS2YH(}nWaKE@i(c0#{93jvK9_YtJA^U z{j3?btOv7Vl3<32Gt~z|z|mV^yqxH$=1uxcn9#5oW_`Zcd-=AN1Yiav+eYEsXcV38 zxUj{xQ2$t^`x~Nd%fvN5gUjZxP4Q>58xa_Oaki-6ySTAbAeu~|PGp-THWMoG8(EHL zVo#fjLlS~EIDJZ7zQ6GO=fU%&d<%BQL+%)r)1|^PqcsBFd_)c(ajKU!`N^~P;=L{6 z@>O`KW^1{9g)b@MG^fQ7jS-J^FNBX#f)MLRbuN4*ev*A|>QyAtS4=bV%jJ}{)}#yK zvMjgfR6e#1Ip}M4w3xv?okBZRw|9Np-#y;SJ)8dQWW-k^@2t!QW;LZqRA+fi>&lJ! z{pI~>i8)qIjAaGuCvO)>OgQQ2WsvIxAj(6<-J#S+356C5bP3iGJtp}Ir&l2=%`8Nw zV%ZXOIRw0mrbRNB3p3nQ(wGhQW|=29#^(3d_6?@kgjkR=n-&iOyN@} zDHS7^R$bv$Mf^!9NQvw_UZS{-*pCiF=dh3sT+_@jWmhchC!E70iRi50oTvQ8k1%>W zUiwLGiS8*>RA8Y;zBgezy%6`%1jEp{Nsu~I5T#eL&GciT>5D-rBwYM27maD_6QFI{ zupTZ@o4)NT8tFdENykIQ2TjxSUC8+v8&lkww~yP@ZAsEJ7H9`i)g%^I#kRPfe{(IK z`%q!5G1$e)VJ!93_Wi?dhI&oRM4=|rbKW{>chvoQZ6$9vw|Cyt<$)Lc-D98oz0ff| zjxdR)+C0*&PK2JF@(-)oDr!euG;!H5B~2i;F3YE3{8L}+iTk`jU|3oD!B?VKwRbJ@ z=*N)B+>y}s!k8)z=7F)C=!|T;Y+R$B??b|iPeR-K+{aYk<{YCiJgf>T6pgPDl2D1X zJF6MORV(zur)^@~FLS242jaN%=krl@Zgw(3^+QWfd>>BaED?i_ohs{18+u?p$5^^* zy2!;exrS<-Pk+Gm@FNiUH_B3NI9OJf+>L&gOkQmR5CK^}Afq_^!x2B?tsR*vp0n zB~pHi@ZP%JHexDh2jL8=4yVB1NHVqT&rg(q?63Y`~Ts((z?kR_d=rx$08`81&u zk;LsXYAKuB#LtrhvDm@SKgA%V9={xqO75Ds-Z3&X_K_wVXpnrFD9ohGdj<{Ur78${ zoNr&15BU*=9#!^nizM#CZ83{7WQ+tAeG6~@aON=fo>rw+&cwTlU=CK0c)+!wy<5Hm zF%M(T@|!H?h*a(A^D0M4@Qq1HpStCX5x0zn<0Fw%)p{t-4*zg-RxVSwhwfE1{suat z{>Rty82?mOC5a*x_f%qibMtu^nsqBRU`H3Om1EeGfmNiH(#cf2q56ueMeD8*ZClX>f+qn}Jw=cZ*eJWEB-a(UE__rrQhn5NtFEz}DGEU%?P;>ijv zxx25z812*=n~WD-wkBk6@mlL+)MO9GsI`rEf8b;hDUoTUm$mAkE}7Z8r;^N*di)fl zSK=`V@7vA}C>kTn5(dA9eK?6?zdbZzkI5D)}9deDV?PneJZw(qx*tDt0IG=qk=s-dJh5cp2-8d$m%Bt*RC`+ZxUiBDs z%(xb$ zC>>T7{Nt-}&VoLEh1(c*1zV^H4(@ZV0>YD#lUraJNNY;jc8J&JYx_i*nPD)0gGR_V z)`i)aaodg=WioEhjdLfqvxWKav?@0g6>jI8g6d>}CtVRi=cE>SQorn)ZZcNBim35D zp89jpte&Wk8A8Fk)558j?e<(bnK+306vwWK(cFPvE44L|P$*s3$zoy_WBx_ydd@|u zQc7nsPNq%=#=(zChIXk2=St4K%P+y3(HbxMnwuN46b|l(gUIr`zEiMdtMX})Gki;= z!F@TIU0f`T5@0wcJY3dHbFuLro%E9R8)J5Hs^Hbm-ePb`wwur@nE`FMuy-F`0Wovg z6U>le;VC6LtefdrB15gGE_0%Dq8AySgqg5XSHvwAFCGigey?l)VnQF5#Hfu`WZdoh z8;_*Slf``l)X|$am=wycCCnH4IF_W&TRj53Pm#v_D~*~}PkdQ#g`e%zzf3wJ47H9L z4wDWd!XUmna#t9e9=aU>QT7IrMNkJ|5H%)I0I!FNgzD_$O|WQC>>ME=N|F~rqDJeL zI=WVKbo}oJbgkJkLT{UnZwVA`%9U>R*3_oi2`)U-lwhGorL7z7KT!Q-X$(*j$Q1jXKPe3J)<4PuqXaJ zr_^-|wJ0jH0X`-E%3o}*^Vx1}qST2d7TCwjN;8W4I7~pIllxt~wp}e`L}lNVYh9Y~ z1QVp%ppJePqSvt^YHyzs{Mlo}Mfe35mA}z8(JJ4JPTQtgxu}uyTf3vx3~`x5xs!7# z1-8i(jS}MtlvN*_fQvSzZbM>%o{>bll8k3EGtelMt19S#vEx!jL-Q{F#iC!dK8-?3 z09r$~3}|p?5+R9is^LSH)v=9=#ys!)2WMuqryzS*WmS@x8}~B_omXUAlN|5820Pkd z_L9*A%(zi8>s}nH2vz!7_cUunVn61*>0b-=ddA>9w|n*TwwjOkW=emme52;^^)6HG zysEJL8?gbUH)0m*rb(Unq(&pfmq_d9Y)F>^y{Gzkp!U=3Nm;k%j&%>8& z>71G5kKZvs$pqs@j2T+^I@|*fB({ov?hO8 z_Z?<&&D;Ko<%M*wCuCk|gXqU(UP~Je@;)UI$w;skX}w3@i;af^{fHExMb2@Qlcn6& zpE(pF!j~(2>aZOJH2bsO7S?j3&B2G6ID}8zwhrU8k)#Qy@h)@@$n&q zx+-AygWqV21fP7VZs4+-4Wwo}UI-yPzfZi!rdNRBUh~cdBQoTod%&^GsE5Q$kD??R zsvLtrm6_vAX1>7I2aTy^f#7^0$A&U%OZx$1fGj%zM#q$ro2DSVv$^+@}{yM zIzN_mOYo3rpM4oZ#`)Hu^eN?Gm`~uNxO7Al;fIf6k)w|u`s|{|mRI-1$%k7SJwvQ` zFA46uOMk&R*DmP{t~OZ(=-tz*#v0DyrC3;zY5Xz^QiQVI9qr6LeJoxp7;&%wXQK$7 z+oWL&JIQhV{*kycwv6O_4E9sdY1d#-Mo8)aY`XI*F{i0`Bd4VX7V_k{9^CA^s*8;( zH6P0PXF;DO`dc(VQWwjrg6m1*l!%7QksSS`AGdjY*fsKP_hf;O+Z$=qvG<M6vb-!!nJ=*WRISKId$SO?>3&$(mbn zmQuQ`a^vMi9b`HYPPYZ?*LA#2K|*fddg~eAq{uDQxPf~)>Ks#oo2wJOBu;%C70T?w zZW~|33HU2!uRk~zIvTq+RTMZ*c3sGqu8pHp9H{2u$nUSX9zZdATfBHLy^6FGrL{q= z_5!NOIRLxOv#)q1SopmN5*bisYDvy)e~1xXwHUF=>`HAex1OiHSfmGOBMNoRA8KcREV zav*1%7OoeEY?_Ek$MT@hW((AIM9si!CI&obsXi=u(XUCJZb+`sSKb~s-a@$*Zg0gw zIlMpVDj{fctf$1lZj>HpKU??dWQp;OG3Y?l#24*bBT8(7(>{HQKgp`0&kLUtcCx}q zRq$@Og<$B4aG!wrR8zvqO*a3Ug1IRU#B>#}`yV#y`Nlx)IhP>#b(|qGM z7o{RB{fZUgk57nRKpjw@O_%IX^2OCEAxHPcDfsle>)z~DSg9OGTaN~?aR_ef4lB4} zk}~WixU@NDwWr!DM}w`RGBf>eTd`Jh%4Wd%yH!VnYjloQhBuw-GfM3U>b2WYyB7A( z@gI*}M{-}`v@OvyRzthpCi zg1R7ODqVtD9m@0C%Uz;96^^KfnV*CMDDdxRZf9KXx^~x}5LY(#u1(V%8e1ZR!w$Av zU3qWDdCg}J?Bu!ABv$B^1lvgD{3=H;KWg_A@ur6smhyGjkBAgCrFm*plU1|I~?pM{|)&WK_S*h3|}i_N;)h4^UdiX0?TDM2l2ebB`TEGJ-xb(OZsv z*LZ?Vch=%nA~d6kw;?iX~pF|G?3*j)>H1HSewTXUizCVbBT{8?`rp?dqTH3V+}6t{Q07 zA*f6ct_6}8fL=Z!JrrRjD8PF^5Q^6lv|1B#zphN9@(_}ab zOiBZ~_CF2Y{$u{%U%DWn`hBGQlScp-MWlhdS--yc?@DcQy;s0x0;|V)e*XgFJr3Nh zUMQM_^-o;+eUpd)00De$d?!C4Apa4bciX=Ug73hvq64(e!W6HBQ>!ZrK*h?U9Db=M zzylu#G+=0nc|HTTd!pqh&=bjQ4atA^+%DdD40O6$2sfgjRngX!;G1o*w`X6g8Dglzp zTC0bm!(qko5V)O+CgIQ1lfV5i9_Xz=zMKlKw_SQbswQjkemJQBthn#6vfr`ag(Kmw zmp}-TeG&LyW}~V}0^H1u_w9kBp`HvN71)Z<;?HF6?=P{n0m?g&MZ?qB8exS8Zdw{(T} zEjYC@?!wDc)~Ww_;h_i^@DAgUc+&sr4Nl8DnR#9+jIjp0Am_x4u4^WjYD z92B_g1c34;OC6~ea9ZApjRW8(nxT&X_fynOpjijBr2kqU>Hmt(|5p?TH1qimNRauf zvj?uTnl}I?_^0F2|LofP3xXds0N2bJdk*0+{DuG+nn=Vr67Kf9uZe(w6aCS^=?>$+ zf9`z)$UoJL$@|{}Lt8=s6=o;5N!b7V5;&UR&I7Q6m;brHjgbA0Pq2yuTbgG%e(S2HroV{>Qj8fV-B09j46rs&{w1-=$BxpNJ0 zOd%YR7EytoLe0b;A^t~#4~h4DSSC1mQQ$obIJKb_m)j5%PX0U7&H_=O7exI2KHPN% zW&naCnYYOQ6&9%#zyRI1RUA%Oa%=_wgGpa!_-lZ^XLnWzb4rVbyS}OfC?VfmT46CR*>rmY$u1-6 zEszo}kyhl%qddVA=cGl6)JM3K3h7j3ugq2WH>ll0QK@Kb%MX7x{^1{U^pOEqYC$f zf^ZqWKomZr{tqNLQOU6t?_}*y;C9~z7wb01I%eEMtZUgG&lhB_cZL*s8SR)}`V=M% zmPKVJt5uoj#3CbaG6QK1v62M8EmQ3(?$%JM@5aS)dr*-l*k*V5nd}9~#8>ef-BSP; zA{Lkb95}iJn84q8NzwA*ho2+yd#?)%s6~WJRovebTcQu?7R(8$6efDkJM2yl=PCDD zH1_oN3SLoRM=Luyt>XbhRxVsJ@xY5p35C78?ll2Db3I6H}+3Yjst>OAg&@}vGrGPio%ja)QU8{ zZ{Q+<-hH4AF0x1om@}s{kr$(`fyB=%O_kpsj=4^xYoYF z#hrKcK-{T_Ec=OZXEom%t7%rm6TD6iYLp0Mz^@3tk=CH!G*D3W&D0qA@g6*{9;U!S zEtfZxSBBHdjv9!bszD{1U&W{hS^&yOyy`|gOcN@7>>R=z^+}VnjylORaIOD z6ni8V<8>j|+U4swy(Q##xo{U31DvS$5R!qxN*0+P4Pe_{v1ku?Xm^yrRb@IrlhDHG zE54l#z>nsu$brUrd7D?&r=ZF1l!OP2wI?G|#sfi_cBh;ZzZj%^?n;WE&l>)$q`n&k zSO6eeQx3w7e;ZuA>MIaX0DuY1kn;410fSq|_bA|x{~==D7j%=1C_l2R)v4T^U5R zKb+OOoHgsiA-KR8yRT0QsZsRgU00<*cDA{SWMBeyAM^T@U?@&5eL-0*|9_0vEZdsLL&@;R;D(fP-Vo0;aQPf&2K&$E5upPXnT7aKnXHnQ;$=cjTC2iuYkBHNG0tK-srL0Dc9UUb%$U< zx}s$uy@bhLNr#bFxcE;jPq7M(uUB&wbd4hpQSb6HwSzxm;}Y!%1dH&Zo^ z^}Cby?=3ie17w~zr=*{3&TAhPU&$ij3svO-;X%Ff0B6nN~satT(9#M z%k@`d1+Ew13prs)Ek3B_kX(fA{Y!}>CnxPl7_M$F{^Q3k=v5%es-hazr{bE0+i!@* zPAPad>B~Q~32jY2pMH3znU%;53oZeu*U-5#_}KpE(Hv7ERj^1b=OvR5i)F?A$~!p! zNz_IVWikCowFF;1=$~Az9)xg9KHD6UmfcsUMOWELy%(NJZE36pHG$bRlvDxOMp`EO zLYTh2iX=oSoHg90i<>D{9x`3$KA|fAA~-)P7hy?zDPd>hq#FcCi_WCtQ-a(CtY4p@ zdt)0y@{nGaG`RaT&s6!+8fBUD5(2$>09>kVt=upT8Rwy^;o-z@n8F9!EXg z4@Ts>(zTBr$d-ghg)do^&^*pwts<_ zey~8PRx`73iB6x$lbaXb#^tIfkx0bBo)P4+<$JH_ z<(vh*#*+m-!3?Vjt?n?}$MffO2H^^S1tP;xmXA9m`uVES-KMm%MyCZNLUt8nwnOCk zR~457Kv~=9pF;*0HVCjk7?AI7PNR)@<#7`ie0~c1U=zE96%xlJN=I+?R9&BdhuBcn z2R*tp~DaBHQ8GW zoOJ3cg@D>~`iO)ZPEIsb9%gKne5SF-mrP@CYw>E=Q-ZfRy7+Y!inEO;${X8#xEW|a z&`hT1crJYnE^(Re{V-fM%A>ByrWCL3q(tMe$*d8}<3=9r`8cdZxfd8y&5150C^cjm zq`ba1D_e#Y#Iz#FovS=yB0dX_pm7a271m}(7Di{#&5!10XPO8ED|dg^3*GoYj4SzDJv^z@2GQJAkvpeWAT?U?h8k)Om)0>Z170$XHTaOe-oOyPe z!$)31=DdyHp?5aZ-p_SV57u7^#73>^dslFCfk2TGitaa#%yc4^oozHB1rpwhFP5hau#(rV!tmVY+DwEQw2-pv|DY)66FV?MSP_h#m$39 zp)~@e=(9;UXP5a>tIcO#v5$Jb%sdg?XEg^mi2ho$(E&1?{=&ghxJ(*5+j|93f7_s& z+_Cg+0?tb?(jH1LO;?I({*{a5up?64>An=nY# zpED8%d7MqXnriY0+2Bq-)3jMyXWMeAY)b4CvizOnyR-ddJJ&isolv;`WoWmrCG#2u zobu`o5&P0dxqH-+rw)K$x*0OKuNhC39fEGG#ge3SG+wCc+RKPlSwll`QOn)Y72s>n zGV;X=;8F2pQVtPw&)Md*0cT7s6tF$&(@NxU;Jb&>0$9M?;H^T<8h*W z10Mj!gFj$=tyaCbe#N$ozZXpvr7d6>)z?@b_fQ4@(pNdGc#;}g$qCEK`__)!Xyjw7 zDypa()p<2X&^4*59@k5A7USA<(b+I_f*E4bZlAcA|xf1-V!M|IzDI|4-1o;(in z%J_={-2s76MB$qk5_*;eV!{%oq?@!a5vMI3FQstzlrzg9^={=5(ZJO$qW;ydxlJsp zv979?SdF=5?Ma9G?~u#Sa`jZYR)VKZoIwe1l(VLIY_q0tqRhEk63n?QhE<5>UuAw$ zUrhZoPT`-J>Scbs$m75XuJFyiP|))QJgMJF#vWx=qAlJ-Y@6TqI?ac#4`auL}C9 zIZdutMp9B;TPsW26=6erMEYLyS7b-av%kttabGnrbu`D^@>|MM=GWvg_^_yQa-+bT z#|}~Uksm9Ef!&5*)WpbL*%@s_PyNv++4Fmb<0IAdHrh746Lqx~pKMGEzjVr2kd%lGG@cv4I%`t6(e7PD7 zq8bG2@};4e2{}=H5Kc)k%pFEjSZbVyc)wh9&}XOlbM{s?9&WXo+D^LWYlR9uwTz3_ z3fG@vVad-KZE9Fo>|?f0?XO7mJ40c@afhobMEv-+H~Q`u6JI0Qt3dU(u_Cc^n*TXK z=NmFm+VtT>`;RhM-?>=ecdbP^oS|p=qjCyXKn4-$eWsBJi|}wK1*!H|@=aawOJ@;260|sny(}TkThGT#XxFAGu)j*nUw9$xh6aaKcT##vd9?&@%Ef zkD9#QXe`TcXlfSfAe@RP?5mNhHuX!)E%<(zF8)Mf<*D&~;m|_6^8VHgg#Wd{{OrUy8#$Llc=sCLu&sBxIp= z*o2VgWhcjf16jnPO@RUvOdfY34bHU#nNO!y_u$doFLPUILaT4+(J#5|8VJv~#9zMN zaB>9f0|T4}VXuy=ZbX8Q{f*sqSQ;Nqmjf}3!?(1Vghp8xl-VeK zWw_bamZ@2soB^trog(*P$*y?b3HOv#{XN{Zjsi5y(x!f#7lo#wpQHg;{yE}Ga}GF^QC-5YqVO3XM_R!kemWi z#l-eW%;V|aA=PDczqQ_0OyiMKiHBDlMH;HqGrG*ttb#D(|c_2|hDy{y9EXVBP++i+Ky zpdtlfGcX0S+_5nPHz)l?wZ+wkCEVB8&}gW9Uf-T_j#SHiQ|4vEEfJPtQ~YcrgOMH7 z1^H#nU4@sGV+|-Fh%F{8DbJUE=Q*p{|BTT9{ZfnHKJxoYqMg5vo3NcI#o(23*?(%r z$GoZ9)$mDYo;YC)QVUYQ6wFTMt{p%f)sRbIE;#Cac=0i;UcszyOof_CI%73Xw^#g1 zSQ?Y9by`l=OGBg522cMb86N5i30w_v&nFg97Q>HdgB$myLfbQ0^k-)!>nV?&pFY1l z*$@9@%zF6Zo8#}STw;WnNu%Q~p^f0EYOw%FMC=1pWGRg*+07Y4Isr|%fUhZ&^`sPG zU3_LGIlZPMf`t{fLTaj1EXMBzEewnE6y!$*(uLEg?vTZ*C^m1=c^Agikb(3bjL5*&~GNMSSXJ~Kc z1`l{0EvVMRWas0SO1HX{@Y9ng6?blwzVn()h^Y}-nH5*S{LS6v!H1q zCQa2@+K|c#0S4w4&Z)5!Xw%QvbqC5c4XDXWlK0p7+Z!SHY^}@1j_Z;U zI5bByWfR78{Fl~FTjgNHJak?6H%CWL+5{u$d`jN2dBB}6bq~=K!Sq4v*itTU3qcO> zxeDW$4SJ?fYNk-}^f$g+4zehKMK8uq+ER|S*7Y)^F174IS{7-2u zk=lp>qE;c7Mt6>C<`Na#Ja!eGvWER)!$<9fejmE8FCTbC5TbD0_-Jt2qxi4Vs&|P* ze<~@GVFVUSCB1rc>h%r3S0@CNN28YZafN=>-(Lz>t5>@n&964UkyqoN0v0G`BXB=h zkxP%}UgtM?IhFo6)V< zY>JCvYBppgXG}`NMKcAEaZ+7v>oI-)g4Psg<>#kkESKrq?`j!9FkbbB6}{L`7YZlu z!XINYM9dT&Tjy521{bU4fz{W^G+15Q2iR=DA6{;|CU6WGvCl`y$Sb*o8T{dZ>=&0Bh$ttkdkg zZ{eBcz*IQMpBWJe6`Ned`yK)!QUvz-#h{na_m5VSCHkv%QZY=7x0iBOLE@e;mtV7A ztTn05+%9!WJ8jlPlrp0BeOqPRj8q0+Z2r~j*E0OimZa;q0*Od0{+#L>n% z7VMk|JI^ZvpUTA{f~Df>wyF{b6a3K$v-rE7iB*}8W`(CGkoXCn+X@FBt6sZeS>el9?ofDOI6LT73XTi=DZO!;Ko2YPic@_1n5UL1R@ zGG2<<;1eRf>wmSV!^ZY=^jZDZgIc4n9;dMR&L6oT@*$!41Rbqjqf*iH%FXvew!5g7 zF}Q>7}``!_>N&<2q#u^b$-)$Y$X0|UBPpy#}L z?@B6}u-c}y*JvF5vM4$s{6C3hzT(8HWZY?Q^}v z=StFVUTU|vy-eikMqfSd2rY4P-9xqHZ&-;4TGm`>s2<|=f>GNB`6fHROSR4d$C5Ju z7Q+Ha`&)1yTqGoY>J*DI4xj6eNK*Yw97`Sqz^p!$Pg`4%3SxZZX&qC+4McM|;6+p4 zwL!7t;F7ZwST9ryU$@EKFx4J3?yl0=G&o&6#HDBnoG+*$8uIzhC;n<)1P$?13GRDN z^>~0WnZp)56hPCd22Ulo0LEyTyTuyKB={E>wSOaNLiH-tdoZc7_qS6 zBhKHE0x;rxz=-5oS(1dmrRS?eA5&}L%l&xh09r%@_qKFL*63NzukyEQEF7B}bDq`% z$M$BQ%2iu^we{H3eVDM~4k?!-xx6MM_&Q3GElZ z5w{RmQy8sx^2PBRFEZkj{-d+r0bsG83H1iIzj=Jg?O<|=2$s0yqOT->L=f@z zChsH3i4^f%=?*R7Qij{zCujTJ9-culOGtetxXy+DqJ1R_#Y^ot67sNay$b6vPa|g?w z0l;rxiG&Y?$ogo66GQ(3`;U&k*niQ83)OleCm(2IqGt=r0@z7EXW}-#&@~c*Y6&8n zLIW>Cl5kXRd9^oiP+PaP1VR5_dv6*~<@P=fpQIuw63X0BNraAhCPgI@VOM5F8I#N* zkug+4h^<6s+bq*ALL&*=OzbjG+swv(u3a7XcE0ELd-MOlc%J9;_3HjC>t5Ho=5-D0 z-hAu35#iaS+;%6?Fogm3LTB21svp?hzeS?_IBey(GwC50JZl>=eANG!Nr>|eC*qx2Rq8Qs~{wbo$Q|KgSalj% z^ue#nf1A2ZRMo7ovc$^6QRq)X;L$W+1R)(98J1li_1Q#AQ?-?P{4a`GAd0E5qLyYT zqRgjs;MYzp3`2w0Egn3ifhW+;!4QyXhm`=pAI}dV>;vm!@(skyC!&l8fw~M(NAyMI z53Mr?9(-t&pIoFE_*-@;h5#u1hP$6G=5XnWbxlsRg7wpNPk3*Dn#d07BzY!m|N84+ zZoo)2-<>|DbsGhyF9lwXWzj6AU3Wh_v_Umb*|s98N#5LZa33d6TTz(&DtOZ`#QGW~ z=}w`5PB$FrL)Yn~bRMQXKTxQ$zF+c#FJM8h-C2lix%mQ+uBmERVx3Cxz$U~)W4%Z% zavR}dH=G?x&)?iZIgRFm2E1GtJVfE{wr{7YI)d6`xDkteTc}M%cS}?5Mfr*JI*EQh zIKkdpa;=srY~^dfVUuqe#|EH#{se*cJI{;Y{}rrHvY~MjFU5jN>G19a0c!(f+I9fI z9GC_zO9=W5d!O9lu`y{DqTp*Kyt$0iY(QAU!1Lt_Ffk&-ehhiH6qa+M{Q>oGise!t zg9vN?__7ZfZGm~Z`9ki9-y@Tu34}OhfdGwC>#xUv6%?b85#YWIP;&$&?uiJjhzZ%6 zyfF-0=QR0YJ0qZ0mCA@Lb{*FLnw`^#C<%1o=>ihzk>Wzgv@HN&``c#3+K~6N<19#` zh!rcsLoH)?)6@Fp;QD6a;aVQx`o2Zd8ClK{mMitUxt9Vf@KI+#O44o)A+qCR1@qD` zvQ{7v$g(~RQqn|pjYd%Oft^^et*Z$6L5UM)Ic3HwAnLRi13Y~FO-PMWzNqej#BMij zhK9c1oAxPyH?Oz04pH!n=Rx`%9>JCmY^=yMDwwv#%xZ(pq2783KGe6jkPe||Y7U@Z zS=i+G_xj`&#K6?yzK^g|m^vX?&hWVOeFQ6*cm!N%#s%qH{u@RqH>Q+0Lgnau#aMUp z#To*1gLwSh@{le-%y@!Fr1b*owHmKpiBzfT272ghU%d8~|9ZJHGO7f6{_)^##8;8I zAVW5i7mj)!T-PR%10Zt`z8S&?4JdH602Jbw(Gdt>F%{U#eHr$Hl+(1CKsoi!;}L_X zbr%RneL-V4B{E9GpmlHtq}bdl5NiTI<{V;W@Y9&+*QG#A223vJUate|_>-y90n%ipbA*$EDsn)T zsWHQt4OCf%_2%pc&m!xEf^LeZG;ckFp!NqeLsFZbj%+ePIR2Oy%vzmp2C`xJpH?=I z%D^}ak@Zu@!P1}DM}L137g1_-*d1O?}4d(q& zf8o0UtVj?j)b2gP6mln`2Q~p$ZNFij)-HHke&j_oGU|T>^yCOO1lchFQ$hpR6#AYb z0-1Q4%tzf$6v9Uao(Ex|i}9D(XxHV(=PS?&;+iLv*ixSXiy9f2aUG#?8gNHD?S;bz zQMm{pELu9RAs}W!WJg0jpGLL|G!_BV-u8g*+cYvd!ULkB5;^;D1K3)iUTw%?JTmA* z4!>v*7$Ni|iwYZARJ0BlA_63010XO0-g`or?nBQ?NNYs%QCt@7b+$9@ zRE~r7p>8t+HD1JV{rTjrUn`wN7zSz$-^yG!cu()j0x^={)YCI2FO{rDPnnLA4V8Yy zETa3bwW$4>{klCDx(RS1-Ffws&?S2x`Gqdgor)_{?z_w^C$oGHd_cWdM)5@ohG^O7*o!+xQ{bp)DJ4{o`jcLSvjp-O{er;lN#tjGhJ>k@X#L zB$P0@5giu^VHJNQR;q~CMz873dmS1SpU!L7nAZn@(FYD2#hyW-%U<2!R-Q*W|L zwEc|O4;AueV$zbIDS$|NCQ9F1r<76?jA&%IR@BAyy5{j__Bb^YZvtXBJqr_}AXe0q z-zFaWk8FtYXSvoG@`)rSxD_#%412*|vRC&-2h%~Gi9j`MbdWkT;>=@ZKC3?=W_+Q= zJZkYXu409hO|ZrneMazUJmV3l>HXdAm-*9$i5!$2Q#js8+Vl!wiT7>tg{=VshysZ`}n9y#p9z- zEr?6yxxAT%#|3b@j|Mic@hq1b!KIwzD?RAveUNQGVQ{ z{EpLKMsFvnQ&=!YDMf_(W~!f?vAv?!*6dg#`vdIT2TA8G$Yu(`nYC2SV$v9HGjrQ=e?SHXZHIppV_%S!5eG{RC$a z<1%Gm=Qyuu^1;0PSRtsM6+8TJ=DL%`K&WSNr1><6yNs^7aRBJz4)q?VQHW=obFHc; z9e;AOwJHpgHu$|zKPx!L>xa4yH)bZDPk#6`A$!4yyJ2z87)?NJyU)zv7dkh^zV1dg zQAL1FKBP?0zDiDgI{WDsosiLkY|{&>lV9$2(4d41`E`?JI$|Z0WUJ(O1?6~cMuy$$ zrzL9}yh^W*Y?kSfp6S8{s-Q_#Vfrg=p`e=V2kVf{Un_x;KBh#AYM1Ifi!Dvv&p^pk zOkEmdx1)r`k9IvMi*JAgOvgP8EKD1-&2-z^fFs_!Vz{CIec3q9VJfTyKaUL|xvX;X z=FnEjTytMM&w$$;rGlul82Omj{Grvc>u36NXQ;xcrXZCU}QP3MyJxIgkeH8|p$^jU}f`d2Fc8=?lZb-RvgAI>~%2KpJ8VNu{AZ z^dC!g&w2;!2ZpG0i;o@wh7{hc9(Vc0kT+z8Bmp<$p7${NF&|9hMC6AS*4Qm%cUR>j zIguD;;y|AUX|fk0XXwS1Ub|mcdZ@nF>~|_o&H1kQBBbI%j|C9%X|m(LM|Nh{|F6~xJKHSX2$iw)gm`O78w zVE18H%T@Y|cg1jHiN-rQX`3v%Z``E^3J9j}M@~|QFF`a^kUIZi&#(MsN?y^ZkV$-V z#ocAaQ=s4vI))80)-AHf(n{04li>&tO_uwgiP)WC z%-#;?<-|Kr4_N;jj)}*V+i*nlRo01+I&`4xz~s@ed)vm3-Fvr3xM6;UKX&e>J>(AO z2gLh^xCRLoXsmoCvCU8KQ2Es3K@K+co!#D5qegqfAiabpZZ<9xnCQUpSKjIk@0Sjc z1>|I<|dO7NWEAOqxIP~AeIPiEO z2X7^l=Soa>F=~|+3iXP8PfM%^rv}kw61W5@?>}qznX*?`(J z=$#v4%{h&0Tg=rz8BVy#N-z6@8^lqv&{nZ$PX=jawq&?+xL#HWcYB~8wKz5$Mlj+8 zGsl%)G~R=%9D3VGN(eUBtF6_ot6wA$Cyk5c!m#CY#-?hu9igqYE7WVb;4K|3tmSZ;GDU7NCA$wKe0eS9bHx|K zSM+v#@*>w@@9oJFM$2N;QrapDk2Svx_h&Sa==8Yov_-CGw`9e@lMoKzn-+sPFe zr&s=GcF!x(=@OSNHdbtAnc|C~O4cxr6gYACt{qTDSx2`9RNk=Vkoc^2Acf8EhiujF zG%=?cuk4FMa!i7&3zFiq`%Fg_awWWGtGVYfffn9FY4&ow3Cjg9KUY5Uy9C*5sPj;S zs8LFflu`4nYZ>|2soug}W8W9Q991`4rOjbq${_9Y#k40F>*W@(gWibHTF8bMcXJO4 z$|&G0qYZAl6@^SQ+pR4mDmJSCW=oUCE}HWXZL=;aC}vlf+j2;^*G6&oG7G!5Pd`+( zTv|m63E9bNe^b^GF`PK_o9Ja@{z7oizi zvIGj7ZB>XF^Ox;!-V$-}y*#z)<>I#~^u=|C#%&ymAIb__9nIb_s`qO3L2i=5YgI{tYvGii&G*C)%C5W`&My8d<43EH_3dsYTo#;W!Yt+ z&(6j7<(`?<@?_qbu|B`L?DUoXBbT*AoYU010hHJ5Xn*$Dqi(s)DRl|bqjVJjez-DSJ3$Q_NOnsRNGeB?St{XB{Sw{_#_@y{H3VZbK91K=n)ZM8>A1j0C6zJ8Leny3IfL3oZs9~obfxpMmHs$zJcap!zf8^&s`ey-Ka zzJ0E}KL2F3u^*JkOL=XoMBj9Ha(46Uy(V5RR$z-xAPqpFA?ua4elL2y;8pJJ8n?#n z)zfR=`3A5J{E6N!lAxfkerRwnW-JC^Nd{}y{JlA)b{cZ{R_}_(MWa2bJed>B&EAN( zZzk87gXH=K!UqpJ@#_zn+M((nfl_v-dJSEV~@cj!MuWqU85p$(o>$bKzsBO?iziy%*^mrk|OU44*iwwMC8X zyIm*9J^nUr5+$3rrfM8$n|pnn*Elr3OUm3f#_pY+aWJb(J)~I(@&NkXTQ1Y9o2GP-xJ30-;89t>n;=$MMy7-Ya{J% z>y9bDuQQ!%SAY3g8=MN~jhWI6yi;_qSWS>x?T7HJ`{uj$c{q9p`&Jl;LP#8NSA$^x zZZms!n11HF)`qu(;~K1fwrf+}DuCwJIDO_?nVDyngFd5}>%w6g(%+rHccFnkUV(o$j zjNF#rInE7m-@Nk4SVVEY*LpH=%*|s|aVo75yJo*I^u1(G-LkH{+oE0ZCF`Fi@w0Ch z@fz)F2ND!&g81q>WTR?UJQtqydkVK+eCHA6eJmI3wSkg;tv+?PB zN%ZIT`NTJ9`C5VGyvxna z^}GGV6W{rtTIah-5u~w%w#eGy1YaHY@UQv$9&Orq)q3Zs4iA=aMGb|%bFTq!n>$*2 zWjE8J0x=hp3Lb$o4)FVM#aesk2#vxzM860dwV*EWXvo3CPgOaerp^s zmoLHfPfhP}?(r@k$&>^4R;B}TWE6~?s;swP7pPICHs#lAc|u{?1VPPr->L;QFT!Ik zLUu)3pfa#((81aKFJfx?j9LPn=!Ed9WxMXn1!0r;Th|x5JMml8J7w7hvBx}88n2fn zTo3{htehWa8|Fme$?$f4}jQqxtPoukITS?7Q76TY*-^G$tt zI;6%L()W19I(_9FE)t}I<9b@?!ouTJOEH2Iiz8{reryYO z=JI&wMz|MVAu~VnZ1f~Iq(HLbb?I0H-zB^j=kqw;mK}e2sZiC$C~|Qv3cYfmXRatj zErHc};$-wmfgK;QTOC#(a$2`9PS`<@{-ptX&yT^2eY@7g2Zd*e`z*22MvKqWNT{SQ zAuX6=$|(Afl#fUXd@B@WMzza7l36-{QP|Rj8DkPs%o=iAc~{|3-^iy*bROIxd2B{u z(Wn&MG^fL$=tP*Di>-l2{|f)Pa_??vYyL4FqtK#uSko;}@(5(uX0;ORNc8U&oM&st z%+*}vJ%zEgC7h=1A6*RR?xMULiK{aTMaPUh-+eDT%KbiJ(B;;e9Cn|g>M^X5TknjU z=oqBc7>g2E=kw8aLD7OszSCRfRNzQ?(!i;vv)_8bCP6tJTP$2|bM=$#Vlh$n)h0{Y zDmJYvDipbXaz9P<-R>T+L(&0rd=GvmIu)@-3Ty2kUkq}*1N<0;1yf2*cmMKi3>SW0#vymw@7G7kT= zCZ}^rjkUc#Zu{5=o1bxNdp%}2;fHvss6Zb+7Bmt^T}fCT?I(3DEg3ddyhiuT^^D?U zh?=jA^Ii+IoI{Afxm1p}ehGy143fXu)li~_jcvCUaCkFy5}MT_69S!%8>oa9(| zIau?MZlF%Np+|DQN1%*|o$D)ENTAPMe%{jPWu`q!RacY6F3hs?)}>tpOE|-?lx2T* zPP)yb=;bBoQFqZ{tPjgXtoJ-4SLvjF8y`|!H{5Q}fTgZ{bwZ{$E1JuyeGa>STtd>@ z)vbIY*15UM>#7+;)T-{uOziFRPxFN)>mCwtqtP|z1ID;Lu1w0`Xjm?p{UqSL>f!k5 zLtDv6+gL@P*N>T$?Xp$=0*#fWoTiN4`SVExtYY^v%@;H5CFPOWT_mTmqE5RSiKklD z(0c(HeS`)dc3;zGaMqmX2*z!@d=zXl%crkt=q;jYPR=uydV}XWQdvEif2DFWy6W*| z33X+6F)=x}3^JEK)#OgKi*gS`>kXXRr7W%cYa_zKTP_aC;#-f|hYDx9w`if&#mu=m zzvP2O-rQa^hP}r!H`S|sPVRyH<}qej^d?+s{ho$LpTf$H$=d0Emph3LlNO#pEseAl zQ@JVqP6w*$-GYQ>zi9PWZ|?|8znVciQrTjg26wF4^gLn!dIUlY=A|@K4b-%kQaj zRl-6d1vJCVS!Wj~RpE2xD_W3y=W3I^n}ru@Si3yJESeK!yWsg3OT|E5JnMVsUEchi z@^aT7L}pdfqXSz6vU`?}y@+3x`K!Ln;$r#o!b`6(x@8b{fNUvc!bmZ-~LvdvzYM7HWQHu$LB@6Gu55%2HPa?`r{c3;%uZlDT3l9I^YY3KZ55sWE zs(RUvxHQmMpPQJezr?j`b@9z{%jLLw14iLXC8__%&9$7-277v!2P&Ysc1GCkGRI1} z%641P!dhz6G~H%b zJ^l*f@---;TQ(W;uk=i@y;%BTCW*gg9`Ooned~RlA`XBl>q7MD?X<}yd zd_2%0t#v{Lx~S&<5*c|R)Eq0h1P9%P6a{ucZs=Mqe7RtYzQhWtw<64|%E1IIOY2(8 zHactJ7Js0O9JNhTNcWOC^a{B!NcKWivgp|&`Fqjiw9UjZ{9Ocysw zb0v z9lB@r<>jKcl9ltq_dXLU7TWoCdalv^A8uSQZP>8v4Ris*V&>>30D(z=Qz)cn9s)~xR@SdwZLX%;nF&l`SDSv>0h!hCg zslofr|A&}V&z~5b*D}YLX>LJ6{+9iZcZR=Jx1dA@Eiq%4ew7{{%5N4lt9v&o>wKk`?^l8qw$|!c z=TigA21~a5i5RZ$u&?)#V#AwWna135qtE7nL>oR##|T}4MtM*DiiSaKbz4TmWSs|pwjzBs_YCK5Qoi)WA^Zd8w>KhHeW=) z%*jCaP&}I#LS`isZJ_fDL8Hu6D2Os2y>F*`2KvIG2`i-^7OJ7U&^Ym{rtULFlQDF{ z_Ea&oDLsFIDMgkJDt|T-?)97nzY3ztAIps5VKYAqmT>&sQARaa?zP^%J^w`2C0P91 zYMDH5W&)G+LnFE>vT>!bz)JsD5Gj8T; zsIq!zzhwE|3ctkRJGUo(+)VMthsHjS{B-a};N}W8uu3g#|k>{HG z2T=Tv6B=TwK=HF_^aUq;9^=jjosAXxecb_Z_b(2?dSlN5xPm8d56TkS%)^sat>g}F zr|1ke4$|Le(1d&QEi>-c!O<6|TO@GpP~^;KzNO$3*o=D^i&F=ja@>cHA|mjN1{#>z zKbROkUKdyL!y{;nI;eAIGez1x0qUr7myd329&!T-n6@cInwxm`fkXK#S&ZRt???tE z23>}@)SK*r2;4Ogz13IJAse9jLs^_X8=HZ^NWBM8S+0IPO}QMyUQh@2ZT~(bny9MHm1* zQ2x+i5h}w5_mls2{o1fx^0d{{bpYgtGrOS&iaO)s-?KJR@k8IOAyNb;SmXq#1_Qw`b{&S2ArQ|g?Xedk{bVFw0;zPW8z^2r3qe5KO%maTJx2%U66)hFS*}9dyxV&pETI8&U;siUNKlN9dZ~MH=SlF zy0lNiJZ64ByN#l94tA4J!hw(=F$P8~aNVg09|2o(k6*VyDhZ*%Rv#JMQ5LjAn+EnP#-`b0Jgzk1P_l1QP^lB0N~!D zZcn*8r9|M6C=#r1^qsws_%~>TltqR zb!wXb>}U5;1}wIwjbB3E1XzFfS0R-8&mMY^fnOaA+0Q8I_vCKo$1j|b{lXF^4*&~g zt1=dZcCi4}>XKA9g#)^yR1K<3kN(5|+`8ob=Y0WkFJC(7a=ISlDqaI4D6HaE*a*8w$wvxe zg7MrBFplpPM?3(JExg$=CoY3imqKLT|Q-fSs$c1O?$;XFj{Z8GpQM;hP1B*Sv#D{sHm z=I17rl3}^XBLVe@kw{H}d9hB70tf`4&J!cBY!%@y6!z~OyqfZlYfxbS^y<=wMb|O& z*+f2t@0hr`fx=pW0E0m_6oGo`GN_5OXXu93^)xUr|9up`2ucZC z{5k!O8kArL6=Y3asp2GT*v!oNrR|tIi)F`I@XGeKz z01$}FDgBJ_7E|3cKQDw(;QmCnQK0{~%lXfiev?!n%d_b+DP-sF&?7i<{$={CHiKT| znW1g#|Jeka{g=|)|Gzi84R!e1AAhg}lD|y&Un>89MI=7tG|dN8?rt@l8xFLb;Og{d z%U#TL#Gl0GdW5s~aK$MW9Z?`=1$HmAaS_l)ES68p54+nY*M(?G88ArryrrWsL^~io zC~?3w8gYJFd|<50E_HI3@=4q#5HEfx$ai-{vxl&9%Pf!DSe35&%;olfjZ=%0npkPc zT`V35TkGlG)rqgyeOYs~x5sVPhp&d2^=OdM<>84-I@||o;yP+6E)mo0Am1@T+3O>Y zNsH{N%503whCiVk2Zd{!r_Skli5L}3K8aplPEO?+{wUPLCm>}>G}K= zxorXdA_k1PD6JcM{V?-~4};%Hx$>ofk{ff&r!A@>5Rv%c4<8Hgt+BfH zNyzTML@VKaF~(g?td&dMgelDmR!-8gYlr`?+IaZwwtGqSfeQ&M#+C)1iyp>74Qt&m z@%5j3x#j2YR7bu2c+S;HPPlTnfRKUc^77-pjvOz>IMP}Zp`CsdAFwosCUi-SB&*{~ zYOqXk`e+vJ_VWCg&F8i&w;fL7rm(Bm$lllIq~sOEPFHLflc({xQC(*Kqi$l~RoNeg zl5cz1d$=Ym<#!eA49oBFQ0ACzZd5t6GWEHkQZ~EHNuM3ROX}OcT!FR^Jx|4Gh&7V^ zp7uuKebQHxY&oCEXN+xgL+9ylF-;QlqVUT95(>>8_%g;b#^=y^eXw@$X0D}Rs6fwB zKrV3sR~H;9Iha!$(pz#w^Y)v3Rqx4_zBjV@JmV>8Dwuln88jd8!F$i-W#>1|`%zwI zgD%Rbm;MyDC>Z`7Q)wD@(pYw{{L(nVKPiEUkb!>NA(_BVdScFXTid{4;?a{hQi6By z+N$8|(knK1=I)<#SVkWW^-Ul=UTiO}TB)A|Ruam-UJ9rf61S}R$jZf0 zX1{vcW^HU6K1x>B*|%^fgJ0pE+Z4x=FXU{xZ;1U6qN=6L*KRV*e-4k|*J`_1qnYm6 z|2VSsttqj{dv$vhu}w5 zqq-B3@|c+2T_DE-Gj z!!9{%JiXDTz^PW?&4I`}En_{;mS#7|)u!f`L;#HN&J z3XuJoyKYcG=Ka#lGuD@r6GE4>G< _#zjZeWOvi|JMF@F(($HnVs}^V0^mt4|X? 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 MD5%R<%9_IdAO9c$=l}o! diff --git a/guides/v2.2/ext-best-practices/tutorials/dynamic-row-system-config.md b/guides/v2.2/ext-best-practices/tutorials/dynamic-row-system-config.md index 3b56a2fb00f..f1445f1c067 100644 --- a/guides/v2.2/ext-best-practices/tutorials/dynamic-row-system-config.md +++ b/guides/v2.2/ext-best-practices/tutorials/dynamic-row-system-config.md @@ -22,7 +22,7 @@ This tutorial shows you how to add a new dynamic rows system configuration in th - [vendor]\[module]\Block\Adminhtml\Form\Field\Ranges + Vendor\Module\Block\Adminhtml\Form\Field\Ranges Magento\Config\Model\Config\Backend\Serialized\ArraySerialized @@ -33,21 +33,29 @@ This tutorial shows you how to add a new dynamic rows system configuration in th This code adds a new system config in **STORES** > Settings > **Configuration** > GENERAL > **General** > **Quantity Ranges**. -## Step 2: Create the front-end model class +## Step 2: Create the block class to describe custom field columns -> `Block/Adminhtml/Form/Field/Ranges.php` +> `File: app/code/Vendor/Module/Block/Adminhtml/Form/Field/Ranges.php` ```php addColumn('from_qty', ['label' => __('From'), 'class' => 'required-entry']); $this->addColumn('to_qty', ['label' => __('To'), 'class' => 'required-entry']); $this->addColumn('price', ['label' => __('Price'), 'class' => 'required-entry']); + $this->addColumn('tax', [ + 'label' => __('Tax'), + 'renderer' => $this->getTaxRenderer() + ]); $this->_addAfter = false; $this->_addButtonLabel = __('Add'); } + + /** + * Prepare existing row data object + * + * @param DataObject $row + * @throws LocalizedException + */ + protected function _prepareArrayRow(DataObject $row): void + { + $options = []; + + $tax = $row->getTax(); + if ($tax !== null) { + $options['option_' . $this->getTaxRenderer()->calcOptionHash($tax)] = 'selected="selected"'; + } + + $row->setData('option_extra_attrs', $options); + } + + /** + * @return TaxColumn + * @throws LocalizedException + */ + private function getTaxRenderer() + { + if (!$this->taxRenderer) { + $this->taxRenderer = $this->getLayout()->createBlock( + TaxColumn::class, + '', + ['data' => ['is_render_to_js_template' => true]] + ); + } + return $this->taxRenderer; + } } ``` This block prepares the desired columns for inclusion in the new config. +## Step 3: Create the block class to describe a column with drop-down input + +> `File: app/code/Vendor/Module/Block/Adminhtml/Form/Field/TaxColumn.php` + +```php + element + * + * @param string $value + * @return $this + */ + public function setInputName($value) + { + return $this->setName($value); + } + + /** + * Set "id" for - - +